Invariant Feature Learning