Learning Invariant Representations In Neural Networks