본문 바로가기
자연어처리

트랜스포머 이론 정리

by code cleaner 2022. 10. 26.
반응형

시퀀스-투-시퀀스란?

특정 속성을 지닌 시퀀스를 다른 속성의 시퀀스로 변환하는 작업

주의점 : 소스와 타깃의 길이가 달라도 해당 과제를 수행하는데 문제가 없어야 함

인코더와 디코더

   인코더(encoder) : 소스 시퀀스 압축

    디코더(decoder) : 타깃 시퀀스 생성

 

트랜스포머란?

기계 번역 등 시퀀스-투-시퀀스 과제를 수행하는 모델(2017년 구글이 제안)

BERT나 GPT는 프랜스포머 기반 언어 모델임

트랜스포머는 인코더와 디코더 입력이 주어졌을 때 정답에 해당하는 단어(벡터)의 확률값(벡터의 특징, 요솟값, 전체합은 1)을 높이는 방식으로 학습한다.

트랜스포머 블록의 요소

 1.  트랜스포머 블록

   1-1. 멀티 헤드 어텐션(multi-head attendtion) = 셀프 어텐션

     1-1-1. 어텐션(attendtion) : 시퀀스 입력에 수행하는 기계학습 방법의 일종으로 중요한 요소에 더 집중해 성능을 끌어 올리는 기법임

      1-1-2. 셀프 어텐션(self attendtion) : 

                 1) 합성곱 신경망 (VS 셀프 어텐션)

                     => 합성곱 신경망은 합성곱 필터의 크기를 넘는 문맥은 읽어낼 수 없음

합성곱 신경망으로 언어모델을 개발할 때

                  2)  순환 신경망 (VS 셀프 어텐션)

                     => 시퀀스가 길어질수록 마지막 데이터에 초점을 보내거나 특정 데이터에 정보를 과도하게 반영하여 전체 정보를 왜곡하는 경우가 자주 발생함

순환 신경망으로 언어모델을 개발할 때

                  3) 어텐션 (VS 셀프 어텐션)

                     => 어텐션은 디코더 쪽 RNN이 타깃 시퀀스를 생성할 때, 소스(인코더) 시퀀스 전체에서 어떤 요소를 주목해야 할지 학습시킴

어텐션으로 언어모델을 개발할 때

                  4) 셀프 어텐션

                       => 자기 자신에 수행하는 어텐션

                       => 셀프 어텐션은 쿼리, 키, 밸류가 서로 영향을 주고받으면서 문장의 의미를 계산함

셀프 어텐션 '거기->카페'
셀프 어텐션 '카페->거기'

                       =>  셀프 어텐션 과정

                           * 1단계 :  쿼리:카페 , 키:[어제, 갔었어, 거기, 사람, 많더라] , 밸류:[01,0.1, 0.2, 0.4, 0.1, 0.1]  

                           * 2단계 : 각 쿼리에 대해 키에 대한 밸류값 계산

                           * 3단계 : 밸류들의 가중합 계산

                                           (가중의 합 : 복수의 수에 대해 특정 가중치를 곱한 후 이 곱샘의 결과들을 합함) 

                           * 4단계: 소프트맥스로 확률값 계산

 

                  5) 멀티 헤드 어텐션 : 셀프 어텐션을 동시에(독자적으로) 여러 번 수행하는 것

     1-2. 피드포워드 뉴럴 네트워크(feedforward neural network)

              => 입력층(x), 은닉층(h), 출력층(y) 3개 계층으로 구성됨 / 트랜스포머의 피드포워드 활성 함수는 ReLu임

      1-3. 전차 연결(residual connection)

      1-4. 레이어 정규화(layer normalization)

 

      1-5. 마스크를 적용한 멀티 헤드 어텐션(masked multi-head attendtion)

 

 

트랜스포머 인코더 블록

 

트랜스포머 디코더 블록

 

 

 

== 참고 ==

Do it! BERT와 GPT로 배우는 자연어 처리 : 트랜스포머 핵심 원리와 허깅페이스 패키지 활용법

https://lv99.tistory.com/26

반응형