• 카테고리

    질문 & 답변
  • 세부 분야

    컴퓨터 비전

  • 해결 여부

    미해결

Attention에 질문이 있습니다.

21.11.01 02:49 작성 조회수 156

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 다른 관점에서의 문제로 보입니다.

 

열공하세요!!    

             

감사합니다.