본 논문은 기존 attention 메커니즘을 개선하여 Image caption task에서 model이 Image에 존재하는 object들 간 관계를 더 잘 파악할 수 있도록하는 새로운 AoA(Attention on Attention) module을 제안하는 논문이다.
이해한 내용: Decoder의 attention result는 value vector와 query vector가 얼마나 연관 되어 있는지(attention-score)와 value vector의 정보만을 포함하고 있기 때문에 query의 직접적인 정보는 부족하다고 이해함
AoA module을 소개한 다음 Image Encoder와 caption Decoder에 AoA를 적용하여 Image caption을 위한 AoANet을 설명한다.
Information vector:
: attention결과
: queryLinear transform을 통해 현재 context(query)와 attention 결과로부터 도출된다. 이렇게 생성된 Information vector는 attention으로 획득한 정보와 현재 context의 정보를 함께 담고 있다.
Attention gate
: attention결과
: queryattention gate는 linear tranform와 sigmoid 함수를 통해 context와 attention의 결과로 부터 도출된다. attention gate의 각 channel의 값은 information vector에서의 해당 channel의 정보의 중요성(관련성)을 0~1로 나타낸다.
attention gate와 information vector 간 원소별 곱을 계산해 aoa의 최종 출력 결과인 을 생성한다.
본 논문에서 AoA module이 적용된 Encoder/Decoder 프레임워크인 AoANet을 제안한다.
정리하면 Encoder는 다음과 같은 역할을 수행한다.
- multi-head attention을 통해 이미지 내 객체들간 상호작용을 발견
- AoA를 통해 객체들이 얼마나 잘 연관 되어있는지를 측정
1. word embedding , 이전 time step의 결과 와 encoder에서 전달 받은 정보가 포함된 를 LSTM의 입력으로 사용
2. Attention layer에서 LSTM의 hidden state를 , 인코딩 벡터에서 받은 를 로 attention 진행
3. AoA layer에서 Attention의 결과와 hidden state를 이용해 context vector 를 생성
4. 이과정을 순차적으로 진행해 모든 caption을 생성할 때 까지 반복
- decoder는 해당 과정을 통해 관련 없는 객체를 거르고 관련된 객체의 정보만 남긴다.(attention gate)
해당 테이블은 AoANet과 baseline의 Image에 대한 caption생성 예시이다. baseline model은 문법에 맞게 caption을 생성했지만 이미지 내용에 대해서는 부정확하다. 반면 AoANet이 생성한 caption은 정확하게 이미지 내용을 표현하고 있다.
구체적으로 AoANet은 다음 두가지 측면에서 baseline 보다 우수하다.
AoANet은 같은 종류의 객체들의 수를 정확히 인식한다.
위 테이블에서 첫번째, 두번째 예시와 같이 Two bird, Two cat 처럼 정확한 객체의 개수를 인식한다.
AoANet은 이미지에 존재하는 객체들 간 관계를 인식한다.
새가 나무가 아닌 기린위에 있는 것, 소년이 공을 치고 있는 것 처럼 객체들 간 관계를 인식
Ablative Analysis: 모델이나 알고리즘의 "feature"들을 제거해 나가면서 그 행위가 성능에 얼마나 영향을 미치는지 확인하는 것
refining module: 이미지 feature를 추출하고 바로 decoder에 feeding하지 않고, 아래와 같은 구조로 다듬은 module
Encoder에서의 AoA 효과
- AoA를 적용하지 않은 refining module은 CIDEr-D 점수가 base에 비해 3.0 점 높다.
- refining module에 AoA를 적용하면 CIDEr-D점수가 2.0 더 높다.
Decoder에서의 AoA 효과
- LSTM 보다 단순한 두개의 선형변환을 포함한 AoA가 CIDEr-D 성능이 더 높다
- LSTM + AoA의 경우 불안정한 결과를 보였는데 이는 더 이상의 gate를 쌓는 것이 더 이상의 성능향상을 주지 않는 다는 것을 의미한다.
AoA의 질적인 평가를 위해 각 decoding time step에서 참조된 이미지 영역을 시각화해보았다.
두 모델의 시각화를 통해 attention 의 결과를 바로 decoder의 입력으로 사용하는 것은 항상 신뢰할 수 없다는 것을 발견했다.