-
exp #6 의 맹점Paper Writing 1/Experiments 2024. 11. 25. 08:43
attn rollout을 엄밀한 의미에서 사용하려는 목적이 아닌,
ViTS의 vision encoder가 실제로 일을 하고 있는지를 증명하려는 목적으로 차용해온 것이기 때문에
다소 편의 상 modification한 부분들이 있다.
우선, 본래 논문에서는 DeiT를 사용하였는데 여기에서는 class token과 distillation token이 쓰인다. 그래서 attn visualization을 할 때 class token을 사용한다. 이 class token이 image classification task를 수행하기 위해 최적화된 feature representation을 담기 때문이다.
하지만 나는 classification 목적이 아닌 ViT이기 때문에 196 x 196 map이 나오고 그 중 어떤 token을 visualize할 것인가의 문제에 대해 naive하게 random 지정하였다.
하나씩 살피다 보면 너무 많은 경우의 수가 있고, 여러가지 찍어보았을 때 token별로 크게 차이가 난다던지 하지는 않았다.
두번째는, 12개 head가 각각 다른 특징을 바라본다는 것인데, 단순히 layer마다 head의 max값을 뽑았다. 원 논문에서는 average를 취했고, 이후에 나온 여러 자료의 실험 결과에서는 max, min 등 다른 방법을 취할 수 있는데, max가 가장 salient한 특징을 보여주기 때문에 나는 사용하고자 하는 취지에 부합하도록 max를 썼다.
하지만 엄밀히 보자면, 사실 head들의 모든 값이 fuse된 것이 최종 feature representation이기 때문에 아주 정확하다고는 볼 수 없겠다.
Attn rollout은 information 이 layer를 거치면서 어떻게 전파되는지 굉장히 직관적으로 추적이 가능한 방법을 제시하기 때문에, 예전부터 사용해보고 싶었다.
Attention은 파도파도 끝이 없는 양파 매력을 가지고 있고, attention을 visualize함으로써 interpretability를 제공한다는 건 너무나 짜릿하게 흥미로운 분야이다.
이후에 나온 좀더 advanced된 방법이 있는데, (https://arxiv.org/pdf/2012.09838)
공부를 해놨다가, 다음 논문 쓸 때 사용해봐야겠다.
'Paper Writing 1 > Experiments' 카테고리의 다른 글
Desk rejection because of policy violation (0) 2024.12.23 Experimental results # 6 (0) 2024.11.23 To-do list & Time-line 2 (0) 2024.11.19 칭찬해줘.. (0) 2024.11.18 이번 생에 논문은 처음이라.. (0) 2024.11.16