ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • RNN (3) | Attention | 패스트캠퍼스챌린지 37일차
    딥러닝 2022. 3. 1. 16:30

    개념적으로, Attention Mechanism은 이름 그대로 주의 집중하게 하는 역할을 한다. 이 때 집중하는 대상은 input signal이다. 즉, 기계번역 문제에서, 해당 토큰을 번역하는데 단서가 되는 토큰만 주의 집중해서 보겠다는 뜻이다. 어텐션은 시퀀스 길이에 상관 없이 주어지기에 시퀀스의 길이에 따라 발생했던 경사 소실 문제를 효과적으로 대처할 수 있었다. 더군다나, 이렇게 집중하는 영역을 수치로 나타낼 수 있기 때문에 어텐션을 시각화하여 딥러닝의 고질적인 문제인 해석이 불가능하다는 단점을 어느정도 해결할 수 있다. 

    물론 어텐션 시각화를 가지고 모든 것을 설명하는 것에 대해 문제를 제기하는 연구가 몇 있다. 대표적인 연구가 Jain and Wallace (2019) Attention is Not Explanation이다. 이 외에도, 어텐션 기법 만을 사용한 seq2seq 모델인 트랜스포머를 수학적으로 보아서 어텐션 가중치를 직접적으로 해석할 수 없다고 결론 내린 Brunner et al. (2019), 어텐션 가중치 기반 분석의 신뢰성을 의심한 Serrano and Smith (2019), 그리고 어텐션 가중치 기반 연구가 쉽게 조작될 수 있다는 Pruthi et al. (2019)의 연구 등이 있다. Wiegreffe and Pinter (2019)의 논문 Attention is Not Not Explanation은 Jain and Wallace (2019)에 대한 반박 논문으로, 이러한 논쟁이 어텐션 기법의 문제 때문에 발생하는 것이 아니라 "설명explanation"이라는 것의 정의 때문이라 설명한다. 즉, '설명'이라는 것을 투명성transparency, 설명가능성explainability, 해석가능성interpretability로 해체하여 생각한다면, 어텐션이 투명성을 제공한다는 것을 경험적으로 입증한 논문이다. 

    이러한 논쟁에서 살펴볼 수 있는 것은 어텐션 가중치 시각화를 완전한 설명이라고 보기는 어렵다는 것이다. 물론 그렇다고 어텐션 가중치 시각화가 쓸모없어 진 것은 아니다. Wiegreffe and Pinter (2019)가 보인 것 처럼, 어텐션 가중치는 모델의 판단을 투명하게 보여주는 역할을 한다. 하지만 이것으로 모델 전체를 설명할 수 있다는 것은 주의해야 할 점 같다. 즉, 어텐션 가중치 결과는 '모델이 이런 판단을 내리는데 이 입력 신호가 중요한 역할을 했어'까지를 보여주지, '이 모델이 이 입력 신호에 집중한 것 만으로 이러한 결과를 냈어' 까지는 가지 못하는 것이다. 또한, Pruthi et al. (2019)의 연구를 보았을 때, 어텐션 가중치를 조작하는 가능성 또한 염두에 두어야 한다. 

    이러한 어텐션의 기본 메커니즘은, Vaswani et al. (2017)의 용어를 빌리자면, Query, Key, Value 세 텐서의 연산으로 이루어진다. 즉, Query텐서가 있을 때 Key라는 입력 신호에 대해 어텐션 스코어가 계산되고, 이를 소프트맥스 등을 통해 어텐션 가중치로 변환한 뒤, 이 값을 Value 텐서에 적용해 실제 값에서 일부에 집중한 값을 구하는 것이다. 이 때, 어텐션 스코어를 구하는 방법은 여러가지가 있다. 우선 두 토큰 사이의 벡터 공간 사이의 유사도를 표현할 수 있는 코사인 유사도를 점수로 할 수도 있고, Bahdanau의 경우 처럼 addition과 concatnation을 사용할 수도 있다. Luong이 제시한 것 처럼 dot-product를 기반으로 할 수도 있고, Vaswani가 확장한 scaled dot-product 또한 가능하다. 마지막으로 location based, general 등 다양한 어텐션 스코어가 존재한다. 그만큼 어텐션 기법이 다양하게 존재하는 것이다. 

    이러한 어텐션이 인코더 은닉층의 일부만 사용하면 local attention이라고 부른다. 전체를 사용하면 global attention이다.

    어텐션은 기계번역 뿐만 아니라 speech to text(음성인식), text to speech(음성생성) 등에도 사용된다. Xu et al. (2015)에서는 이미지 캡쳐닝에 어텐션을 적용하여 성과를 보였는데, 여기서 어텐션의 장점인 시각화를 통해 모델이 이미지의 어느 부분을 보고 캡션을 생성하였는지를 직관적으로 보여주었다. 

    사실 어텐션은 RNN을 보조하기 위한 장치로 구안되었으나, 결국에는 RNN의 시대에 막을 내리게 하는 역할을 하게 된다. 이는 Attention 만으로 seq2seq을 구현할 수 있을 뿐만 아니라, 그 성능 보다 더 뛰어난(그래서 Attention is all you need라는) Vaswani et al. (2017)의 Transformer 모델이 등장해 버린 것이다. 다만, 개인적으로 연구해 보았을 때 트랜스포머를 적용한다고 기계번역 테스크의 성능이 무조건 올라가는 것은 아니었다. 석사학위논문을 진행한 연구에서는 조금 특수한 데이터로부터 자연어를 번역하는 모델을 만들었는데, LSTM 기반의 선행연구보다 성능이 떨어졌음을 확인할 수 있었다. 학위논문에서는 어텐션 메커니즘만을 사용하는 것이 무언가를 집중함으로써 중요한 어휘 정보를 무시해 버린 것이 아니냐라고 추측하며 논문을 끝마쳤다. 나중에 기회가 된다면 이 부분을 좀 더 규명해 보고자 한다.


    본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다. https://bit.ly/37BpXiC

    댓글

Designed by Tistory.