논문 읽기/Zero shot

[논문 읽기] DAZLE(2020), Fine-Grained Generalized Zero-Shot Learning via Dense Attribute-Based Attention

AI 꿈나무 2021. 11. 29. 17:51
반응형

Fine-Grained Generalized Zero-Shot Learning via Dense Attribute-Based Attention

 PDFZero-Shot Classification, Dat Huynh, Ehsan Elhamifar, CVPR 2020

 

Summary

 attribute에 해당하는 이미지 region에 집중해서 보겠다는 논문이다.

 

 

 즉, 전체 이미지로부터 추출한 feature vector를 전체 attribute와 매칭하지 않고, attribute에 해당하는 이미지 region을 찾아내어 가중치를 준 다음에 class를 예측한다. 좀 더 세밀한 feature를 활용할 수 있다는 것이 장점.

 

 

 

 image region으로부터 추출한 feature와 attribute word embedding을 align하는 W 파라미터를 학습시킨다. 그리고 W를 이용하여 image region이 attribute에 기여하는 정도를 측정한 attention weight를 계산한다.

 

 

 위에서 계산한 attention weight로 attribute-based attention feature를 계산한다.

 

 

 attribute-based attention feature와 attribute semantic vector를 align하는 W 학습가능한 행렬을 학습하여 e를 계산한다. e는 이미지내에서 a라는 attribute를 갖고 있는 정도를 나타낸다.

 

 이 e랑 class가 attribute를 갖고 있을 정도를 곱하여 class score를 계산한다.

 

 

 하지만 모든 attribute는 모든 class에 영향을 미치며 여러 class는 많은 attribute를 공유하기 때문에 class에 크게 기여하는 attribute를 찾아야한다. 따라서 attribute가 class에 기여하는 정도를 측정하는 가중치를 하나 더 학습시킨다.

 

 

 softmax가 아닌 개별 attribute에 적용하는 sigmoid를 사용하는데, class에 기여도가 높은 attribute가 여러개 일 수 있기 때문이다. 이를 활용하여 class score를 계산한다.

 

 

논문은 Loss function을 수정한다.

 

 학습시에 seen image에 대한 loss는 unseen image에 대한 softmax 출력값을 억제시킨다. 이를 방지하기 위한 방법이다.

 

 

 위는 평범한 CE loss이다.

 

 여기에 calibration을 가한다. seen image가 입력되더라도 unseen class에 대한 softmax 출력값이 살아나도록 하는 loss이다.

 

 

 하지만 unseen 예측 확률이 너무 커지면 false positive를 범하기 때문에 또 다른 제한조건을 가한다.

 

 

 최종 loss는 다음과 같다.

 

 

 위에 보면 attribute에 대한 semantic vector로 학습이 진행되는데 fine tuning시에 성능이 더 좋다고 말한다.

 

 inference는 다음과 같다. calibration term을 추가해줌.

 

 

 

Experiment

 

 


my github

 

Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch

공부 목적으로 논문을 리뷰하고 해당 논문 파이토치 재구현을 합니다. Contribute to Seonghoon-Yu/Paper_Review_and_Implementation_in_PyTorch development by creating an account on GitHub.

github.com

 

반응형