Categorical Deep Learning