I have often heard people saying that why convolutional neural networks are still poorly understood Is it known why convolutional neural networks always end up learning increasingly sophisticated features as we go up the layers? What caused them create such a stack of features and would this also be true for other types of deep neural networks?