Rethinking Zero-Shot Learning: A Conditional Visual Classification Perspective(2019)
https://arxiv.org/abs/1909.05995
논문의 컨트리뷰션
(1) embedding 방법이 아닌 classfier generator
visual feature를 semantic space로 project하면 데이터 분산이 감소한다. semantic space는 visual feature보다 low dimension을 지니는데 차원 감소를 통해 데이터 분산이 감소하기 때문이라고 말함. 따라서 mapping function을 학습한 후 project하는 것이 아닌, semantic information을 입력 받아 classfier weight를 생성하여 visual feature를 전달해 class score를 계산한다.
(2) dot-product 후 cross entropy로 전달하지 않고 cosine-similarity 후 cross entropy로 전달.
dot-product가 아닌 cosine-similarity를 적용하면 neuron의 분산을 감소시키는 영향이 있다. 실제로도 성능이 향상됌.
(3) episode learning
각 mini-batch마다 fake task를 선정하여 이 시나리오에서 모델을 테스트함. 매 배치마다 task가 바뀌므로 진짜 new task가 test될때 generalization한 성능을 얻게 됌. 미니 배치의 샘플에서 M개의 클래스와 각 m개의 클래스에서 N개의 샘플들을 선정하여 이 set에 대해 loss를 계산한다. label은 dataset wise한 label이 아닌 batch-wise한 1~M을 사용. 각 태스크마다 classifier를 생성하는 딥러닝모델 f는 M개의 가중치를 만들어낸다.
이렇게 학습한 모델은 GZSL 셋팅에서 seen으로 학습된 f에 unseen discriptor를 전달하여 unseen weight를 생성. 그리고 seen weight와 concat하여 visual feature를 전달한 뒤에 score를 기준으로 예측을 수행.
unseen data를 활용할 수 있는 Transductive setting에서는 self-training을 활용한다. f가 생성한 weight가 unseen feature를 입력 받아 unseen pseudo label을 생성하여 loss로 전달함. 하지만 unseen pseudo label로 fine tuning하면 unseen에 bias되어 seen으로 학습된 정보를 forgetting 할 수 있음. 따라서 seen set을 샘플링해서 f를 update하는데에 사용.
pseudo label이 부정확하면 모델에 악 영향을 줄 수 있다. 따라서 첫 번째로 높은 score와 두 번째로 높은 score 비율이 일정 이상인 label만 self-training에 사용한다. unseen pseudo label은 noisy가 포함되어 잇는데 이를 완화하기 위해 generalized cross entropy를 사용한다.
q가 0에 가까우면 cross-entropy, 1에 가까우면 MAE가 되는데, MAE는 classification 성능이 약화되는 대신 noisy에 robust하다. 따라서 하이퍼 파라미터 q를 통하여 중간의 성질을 갖게 함.