Equivariance and generalization in neural networks