트랜스포머 (Transformer)

category AI 인공지능/NLP 2021. 1. 19. 22:49
728x90
반응형

정의

RNN을 사용하지 않고 오직 어텐션의 기술을 활용하여 인코더-디코더를 구현한 구조

출처 : https://wikidocs.net/24996

시퀀스투시퀀스 (seq2seq) 한계

  • 각 단어간의 유의미한 관계를 분석하는데 어려움
  • 문장이 긴 경우 은닉상태에서 정보가 손실

출처 : https://wikidocs.net/24996

트랜스포머 (Transformer) 구조

인코더와 디코더라는 단위가 N개로 구성되는 구조

출처 : https://wikidocs.net/24996

포지셔널 인코딩 (Positional Encoding)

  • 인베딩 벡터 + 단어의 위치 정보
  • 수식 : 인덱스가 짝수인 경우에는 사인 함수의 값을 사용하고 홀수인 경우에는 코사인 함수의 값을 사용
  • 순서 정보가 보존 : 임베딩 값에 포지셔널 인코딩 값을 더하면 같은 단어라고 하더라도 입력값이 달라진다.

출처 : https://wikidocs.net/24996

어텐션 (Attention)

  • 인코더의 셀프 어텐션 : Query = Key = Value
  • 디코더의 마스크드 셀프 어텐션 : Query = Key = Value
  • 디코더의 인코더-디코더 어텐션 : Query : 디코더 벡터 / Key = Value : 인코더 벡터

출처 : https://wikidocs.net/24996

인코더 (Encoder) 구조

셀프 어텐션

  • 쿼리 (Query) 에 대해서 모든 키(Key) 와 유사도를 각각 구해 맵핑되어 있는 각각의 가중치 값을 반영

멀티 헤드 어텐션

  • 시각적으로 병렬로 수행하여 다른 시각으로 정보들을 볼 수 있다는 것이 이점
  • 병렬 어텐션을 모두 수행하였다면 모든 어텐션 헤드를 연결(concatenate)함

패딩 어텐션

  • 빈 행렬의 위치에 <PAD> 처리를 해주는 역할

포지션 와이드 피드 포워드 신경망

  • 우리가 알고 있는 일반적인 피드 포워드 신경망

잔차 연결(Residual connection)과 층 정규화(Layer Normalization)

  • 잔차 연결: 서브층의 입력과 출력을 더하는 것
  • 층 정규화 : 텐서의 마지막 차원에 대해서 평균과 분산을 구하고, 이를 가지고 어떤 수식을 통해 값을 정규화하여 학습을 돕는 역할
728x90
반응형