인프런 커뮤니티 질문&답변

박희진님의 프로필 이미지
박희진

작성한 질문수

최신 딥러닝 기술 Vision Transformer 개념부터 Pytorch 구현까지

어텐션 기법 - 키, 쿼리, 밸류는 무엇인가?

Attention에 질문이 있습니다.

작성

·

201

1

안녕하세요, 최신 기술 ViT를 이해해보려고 강의를 찾은 순간 바로 결제해서 감사히 잘 듣고 있습니다.
 
자연어 처리에 대한 이해가 부족해서 attention에 대한 개념이 조금 어려운데요. 강의를 돌려 듣다 보니 attention을 설명해주실 때 사용한 'Bottleneck Attention Module'에 대해서 대략적으로 이해했습니다.
 
F' = F + F x M(F)
 
M(F)를 계산하는 것 자체가 픽셀 중에서 어느 픽셀이 중요한지를 계산하는 것과 동일하다고 이해했습니다. 그래서 residual 연산을 통해 F'를 계산하구요.
 
질문이 두 가지가 있습니다.
1. 근데 F'는 어디에 사용되는 건가요? 일반적인 CNN처럼 계속해서 생성되는 feature의 하나일 뿐인건가요?
 
2. BAM 블록은 특정 이미지에 overfitting되지 않는 다는게 이해하기 어렵습니다. attention이라는 게 이미지 전체를 보는 것인데 전체를 보더라도 overfitting되지 않는 것이 이해하기 어렵네요

 
새로운 개념을 공부하려다 보니 너무 기초적인 질문을 드린것만 같습니다. ㅎㅎ

답변 1

1

딥러닝호형님의 프로필 이미지
딥러닝호형
지식공유자

안녕하세요! 희진님.

강의가 도움이 되길 바랍니다 :)

 

1. BAM에서 M(F)가 어텐션을 담당하고 FxM(F)에서 이미지 전체에 대한 조율을 하는 것입니다 :)

F를 더한 것은 어텐션 개념은 아니고 residual connection 입니다.

결과적으로 BAM도 하나의 모듈이기 때문에 최종 값 F'가 모듈에서 나온 아웃풋(피쳐맵)이라고 볼 수 있습니다.

따라서 이전 convolutional layer에서 나온 F를 받아 F'를 추출하고 F'가 다음 convolutional layer로 넘어갑니다.

 

2. 어텐션은 좋은 피쳐맵을 추출하기 위해 고안 방법입니다. overfitting 다른 관점에서의 문제로 보입니다.

 

열공하세요!!    

             

감사합니다.                  

박희진님의 프로필 이미지
박희진

작성한 질문수

질문하기