Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Douglas' Space

Transformer 본문

Computing Tech. Diary/Artificial Intelligence

Transformer

똘키아빠 2022. 5. 2. 11:12
트랜스포머라면 당연히 영화가 생각나시죠! 아직도 트랜스포머하면 2007년에 소개된 영화에서 옵티머스프라임의 중후한 목소리가 지금도 생생히 들리는 것 같습니다. 그런데 오늘 이야기는 영화 트랜스포머가 아니라 인공지능의 또 하나의 획을 그었다고 생각되는 transformer이야기를 하려고 합니다.  

 

결론적으로 말하면 transformer는 구글의 논문 “transformer : attention is all you need” 에서 소개한 attention mechaism이라는 개념을 사용한 자연어처리 모델입니다. 이를 기반으로 다양한 언어처리모델(예로 BERT, GPT 등)이 만들어지기도 하였으며, 언어처리모델 뿐만 아니라 vision transformer의 등장으로 컴퓨터 비전 분야에도 핫한 주제가 되고 있습니다. 

 

초기의 언어모델은 기존의 시계열데이타를 처리하는 RNN을 기반으로 한 지도학습의 언어처리모델을 구축하였으나 attention mechaism의 개념을 도입하면서는 지난번 소개한 자기주도학습이 가능하게 되었다는 점과 attention mechaism을 통해 원인과 결과의 관계를 가시적으로 표시할 수 있게 되었습니다. 

 

transformer라는 말에서 알수 있듯이 뭔가를 변환하는 놈이라는 것을 알 수 있습니다. 예를 들어 기계번역의 관점에서 이야기하면 원문의 문장을 번역된 문장으로 변환하는 것입니다. 여기서 원문의 문장을 처리하는 부분을 encoder라고 하고, 번역된 문장을 처리 부분을 decoder라고 합니다. 따라서 transformer는 아래와 같은 encoder-decoder 구조로 구성되어 있습니다. 

 

 

attention mechaism은 encoder에서 처리한 결과를 decoder에서 이용할 때 관련성이 있는 것끼리 매칭이 되도록 가중치 값인 attention value로 구성된 attention vector를 곱해주는 것을 의미합니다. (아래 그림은 attention vector의 개념을 설명하는 것으로 프랑스어 문장과 상대적인 영어문장과의 상관관계를 나타내는 attention vector행렬을 가시화한 그래프입니다. 가중치 값이 큰 것을 하얀색으로 표시한 것입니다.) 

 

 

인공신경망은 함수의 집합이라고 설명드렸습니다. 그리고 이 함수는 주로 입력과 출력이 vector들의 집합인 행렬을 계산하는 함수입니다. 따라서 encoder와 decorder는 결국 행렬 연산의 집합체라고 이해하시면 됩니다. (transformer에서는 2개의 attention을 사용하는데 self-attention은 encoder와 decoder간의 attention관계가 아니라 encoder와 decoder에 입력되는 각 문장을 구성하는 단어들 간의 관련성을 나타냅니다.)

 

transformer 구조 그림을 기준으로 기계번역을 예로 설명하면 다음과 같습니다. 원본 문장을 처리하는 encoder입력은 원본 문장들을 나타냅니다. 이 원본 문장을 입력으로 각 문장에 존재하는 단어들의 관련성을 식별하기 위한 self-attention을 수행한 후, 일반적인 전방향 신경망을 거쳐 원본문장을 처리한  상태를 출력합니다. 그리고 decoder는 대응되는 번역문장을 입력 받아 동일하게 번역문장 내의 단어들간의 self-attention을 수행한 후 encoder의 출력과 encoder-decoder attention을  수행하여 일반적인 신경망을 거처 최종적으로 각 번역 문장의 예측값을 출력합니다. 

 

사실 많은 내용을 간단히 설명하는 것이 무리이기는 하나, 전체적인 개념만 이해하는 측면에서 설명을 드렸습니다. 필요하면 각 처리에 대한 상세한 사항을 별도로 설명하도록 하겠습니다. 이번 글에서는 인공지능 분야에서 지금 핫한 이슈가 자기주도학습이고, 이를 구현하는 중요한 개념이 transformer로서 encoder-decoder 구조를 가지며, 이의 중요한 개념이  attention mechanism을 이용한다는 정도만 이해하시면 될 것 같습니다.

 

'Computing Tech. Diary > Artificial Intelligence' 카테고리의 다른 글

DNN의 또 다른 형태, GNN  (0) 2022.05.02
자연어처리를 위한 word embedding  (0) 2022.05.02
Semi-Supervised Learning  (0) 2022.05.02
Self-Supervised Learning  (0) 2022.05.02
Transfer Learning  (0) 2022.05.02
Comments