Attention! please

TEO·2025년 2월 16일

paper review

목록 보기
9/9

Attention

attention(주목) 말 그대로 우리가 어디에 집중해야할지 나타내는 것이다

고전적 기법들은 앞서 작성한 SIFT와 HOG가 있었듯이 feature selection, Itti의 sailency map 기법들이 있었다

마찬가지로 고전기법이기에 수작업을 거쳐 attention을 추출하였다

이후 딥러닝과 attention을 결합하여 RAM, STN, SENet들이 등장하였다

self-attention

컴퓨터비전을 기준으로 설명하겠다

한 이미지에 사람-개-원반 그리고 배경이 있다고 가정해보자

일반적인 attention의 경우 사람,개,원반에 높은 attention을 배경에 낮은 attention을 부여할 것이다

그러나 self attention은 한 이미지내에서 객체들 간의 attention을 고려한다

개가 원반을 물고 있으면 개와 원반에 아주 강한 attention을 그리고 사람에게 중간의 attention 배경에 낮은 attention을 줄것이다

self attention은 이런 식으로 영상내 요소들의 상호 간에 attention을 결정한다

transformer

이전에는 attention을 CNN과 RNN구조에서 보조 역할로 사용하였으나

self attention을 적극 이용하여 CNN RNN의 구조가 아닌 새로운 방식으로 model을 구축한 transformer가 자연어처리 분야에서 등장하였다

이후 컴퓨터비전에도 transformer를 도입하여

classification: ViT

detection: DETR

segmentation: SETR

tracking: MOTR

이를 general하게 처리하는 Swin Transformer 등 다양한 모델이 등장했다

query-key-value로 attention 계산

  1. query와 key의 유사도 계산 → ‘s’
  2. 구해진 유사도 s에 softmax를 적용하여 attention vector ‘a’ 계산
  3. a를 가중치로 사용하여 value와의 가중합 계산 → 최종 출력 context vector ‘c’

즉 c는 아래의 식으로 표현할 수 있다

c=softmax(qKT)Vc = softmax(qK^T)V

q=queryq=query

K=keyK=key

V=valueV=value

a=softmax(qKT)a=softmax(qK^T)(attention vector)

c=c = context vector

이제 남은건 어떤걸 query, key, value로 결정할 것인가이다

이는 transformer model을 보면서 알아가보자

profile
기록용

0개의 댓글