I am interested in implementing the orthogonality portion of Towards Robustifying NLI Models Against Lexical Dataset Biases from ACL 2020 in Pytorch.
The overall idea seems simple. Have a primary model and a sub-model (like BOW) to detect superficial features, and then use HEX projection (Wang et al., 2019a) to project the representation of the original primary model to the orthogonal space of the representation of the BoW model.
In this case, I would use a transformer as the primary model. I’m not sure about the implementation of HEX projection. If someone is familiar with it, it would be really helpful if they can share the snippet responsible for projecting the representation orthogonally.
Additionally, adding a debiasing
example in Transformers repo would be a good addition which I’m happy to add, once I implement myself.