글 수 189

Jay Alammar의 트랜스포머 한글 번역글

조회 수 961 추천 수 0 2019.05.09 19:34:54


 

https://nlpinkorean.github.io/illustrated-transformer/

 

 

 

Jay Alammar의 트랜스포머 글이 한글로 번역이 되었습니다. 개인적으로는 'Attention is all you need' 논문보다는 이 글을 보고 이해가 되었습니다. BERT와 GPT2의 기본이 되는 트랜스포머에 관심있는 분들은 꼭 읽어보시길 추천드립니다. 간단하게 설명을 드리면 다음과 같습니다.

 

 

 

보통 LSTM 기반의 Seq2Seq는 어텐션을 사용하여 중요한 단어에 집중을 합니다. 인코더의 출력을 버리지 않고 모아 어텐션 레이어에 입력으로 넣습니다. 그리고 소프트맥스로 핵심이 되는 단어에 가중치를 주고, 그 정보를 디코더에 보내 같이 계산하여 출력 문장을 생성합니다.

 

반면에 트랜스포머는 LSTM 같은 순환신경망을 빼버리고 셀프 어텐션만 사용합니다. 인코더에서 어텐션 레이어를 거쳐 디코더로 정보를 전달하지 않습니다. 인코더 또는 디코더 내부에서만 어텐션을 수행합니다. 예를 들어, '나는 너를 사랑해'라는 문장이 입력으로 들어온다고 생각해보겠습니다.

 

인코더1 : 나는 너를 사랑해
인코더2 : 나는 너를 사랑해
인코더3 : 나는 너를 사랑해

 

위와 같이 각 인코더를 거치면서 이전 인코더와 각 입력 단어들을 서로 곱합니다. 소프트맥스로 중요한 단어들에 집중하면서 단어와 단어 사이의 연결 의미가 그 안에 새롭게 포함됩니다. 3단어일 경우 3x3=9번의 계산이 이루어집니다.

 

 

 

이런 과정을 거치면 처음 입력의 '사랑해'와 그 다음 인코더의 '사랑해'는 의미가 달라집니다. 인코더를 통과한 '사랑해'는 '사랑해(나는+너를+사랑해)'와 같이 '사랑해'와 나머지 단어들과의 관계가 통합되어 있습니다. 여기서 관련이 높은 단어에 가중치가 더 부여됩니다. 이렇게 인코더에서 핵심적인 의미만 남기고 디코더로 전달합니다. 그러면 긴 문장도 더 잘 기억을 하고 올바른 출력 문장을 생성할 수 있습니다.

 

좀 더 자세한 내용은 링크의 글을 참고하시기 바랍니다.

엮인글 :
List of Articles
제목 글쓴이 날짜 조회 수sort
네이버의 초거대모델인 하이퍼클로바 가격 공개 깊은바다 2022-08-24 961
Meme 자동 생성기 깊은바다 2020-05-11 961
Jay Alammar의 트랜스포머 한글 번역글 깊은바다 2019-05-09 961
메타, GPT-3와 동급인 175B의 초거대모델 무료 공개 깊은바다 2022-05-04 953
챗봇의 슬롯 채우기(Slot Filling)와 DST(Dialogue State Tracking) file 깊은바다 2021-08-19 930
프로그램을 작성하는 딥마인드의 알파코드 file 깊은바다 2022-02-04 928
가짜뉴스를 생성 또는 판별하는 딥러닝 모델 - Grover 깊은바다 2019-06-01 922
End-To-End Memory Networks - 자연어 질문에 대답하는 모델 [2] 깊은바다 2017-08-21 914
유저 피드백을 받아 지속적으로 학습을 하는 챗봇 - BlenderBot 3 file 깊은바다 2022-08-06 904
GPT3 유료화 기능 소개 영상 깊은바다 2020-06-15 884
질의응답을 위한 딥러닝 모델인 메모리 네트워크 정리 file 깊은바다 2018-09-26 884
LG 사이언스파크에서 만든 한글 MRC(기계독해) 데모 file [2] 깊은바다 2020-03-07 880
Word2Vec의 학습 방식 깊은바다 2019-01-17 859
글자, 사진, 영상을 동시에 처리하는 딥마인드의 딥러닝 모델 - Flamingo file 깊은바다 2022-05-10 858
스캐터랩의 핑퐁팀, 새로운 생성 모델 챗봇 데모 공개 깊은바다 2020-11-02 850