본문 바로가기
IT 와 Social 이야기/NLP 자연어처리

[edwith] 딥러닝을 이용한 자연어 처리 : Self Attention & RNN - 조경현교수

by manga0713 2021. 3. 17.

 

 

[LECTURE] Self Attention & RNN : edwith

학습목표 문장을 표현하는 방법중 Self Attention 과 RNN 에 대해서 알아봅니다. 핵심키워드 Self Attention Recurrent Neural Network  - 커넥트재단

www.edwith.org

 

학습내용

  • 지난 시간이 이야기한 CNN 과 RN 의 관계를 살펴보면 아래와 같습니다.
  • RN:
    • 모든 다른 토큰의 관계를 봅니다. 모든 단어간의 관계를 봐서 효율적이지 못합니다.
  • CNN:
    • 작은 범위의 토큰의 관계를 봅니다. 따라서 더 먼 거리의 단어간의 관계가 있을 경우 탐지할 수 없거나 더 많은 convolution 층을 쌓아야합니다.
  • 하지만 CNN 방식을 가중치가 부여된 RN의 일종으로 볼 수도 있습니다.
  • 그렇다면 가중치가 0 과 1 이 아닌 그 사이의 값으로 계산 할 수 있다면 어떨까요?
  • Self Attention
    •  장점:
      • Long range & short range dependency 극복할 수 있습니다.
      • 관계가 낮은 토큰은 억제하고 관계가 높은 토큰은 강조할 수 있습니다.
    • 단점
      • 계산 복잡도가 높고 counting 같은 특정 연산이 쉽지 않습니다. 
  • Recurrent Neural Network(RNN):
    • 메모리를 가지고 있어서 현재까지 읽는 정보를 저장할 수 있습니다.
    • 문장의 정보를 시간의 순서에 따라 압축 할 수 있습니다.
    • 단점:
      • 문장이 많이 길어질 수록 고정된 메모리에 압축된 정보를 담아야 하기 때문에, 앞에서 학습한 정보를 잊습니다. 이는 곧 정보의 손실을 뜻합니다. 
      • 토큰을 순차적으로 하나씩 읽어야 하기 때문에, 훈련 할때 속도가 기타 네트워크 보다 느립니다.
    • Long Term Dependency 해결방법:
      • bidirectional network를 쓰게됩니다.
      • LSTM, GRU 등 RNN의 변형을 사용합니다.

- 출처: [edwith] 딥러닝을 이용한 자연어 처리 : Self Attention & RNN - 조경현교수