레플리
글 수 222

Transformer 구조에 대해서 질문하나 드립니다.

조회 수 177 추천 수 0 2019.01.15 11:19:21


BERT 논문에서 말하기를

 

Transformer의 encoder 부분은 bidirectional이고

 

decoder 부분은 left-to-right의 unidirectional이라고 합니다.

 

이게 잘 이해가 안되서

 

혹시 왜 encoder가 bidirectional인지, decoder는 왜 left-to-right인지 지식 공유해주시면 감사하겠습니다!

엮인글 :

깊은바다

2019.01.16 02:15:39
*.207.106.177

인코더의 bidirectional은 lstm처럼 왼쪽, 오른쪽 두번 학습하는 건 아닙니다. 트랜스포머는 기본적으로 양쪽 레이어의 모든 노드들이 연결되어 있는데요. 그렇기 때문에 자연스럽게 bidirectional이 됩니다. 예를 들어, "나는 너를 사랑해" -> "나는 너를 사랑해"로 셀프 어텐션을 하게 되면 위쪽 레이어의 '너를'은 아래쪽 '나는/너를/사랑해'와 연결되어 있습니다. 그래서 문장 양쪽의 정보를 모두 참조합니다.

 

인코더는 입력에서 모두 문장을 한번에 입력 받습니다. 반면에 디코더는 한번에 한 단어만 출력되고 이를 계속 반복합니다. 이때 단어를 뽑아낼때 현재 위치 이전의 단어만 참조합니다. 예를 들어, 인코더 "나는 너를 사랑해" -> 디코더 "나도 너를 좋아해"를 보겠습니다. 디코더에서 '너를'을 출력할때 '나도'만 참고합니다. 인코더처럼 '나도/너를/좋아해'를 동시에 참고하지 않습니다. 사실 '너를/좋아해'는 아직 출력되지 않았기 때문에 당연합니다. 이를 위해 masked multiheader attention 기법을 사용합니다. 현재 단어에서 오른쪽 노드들을 마스킹하고 사용하지 않습니다. 그래서 left-to-right라 볼 수 있습니다.

 

아래 링크에서 자세한 내용을 참고하시기 바랍니다.

https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html

http://jalammar.github.io/illustrated-transformer/

 

List of Articles
제목 글쓴이 날짜 조회 수sort
카톡 대화를 학습하는 AI 아바타 챗봇 - 레플리 file 깊은바다 2024-01-17 368
AI 개발자, 데이터과학자 모임 오픈 채팅방 링크 공유 Dfinite 2022-07-23 808
메타, 메타버스 개발용 AI '빌더 봇' 선봬 깊은바다 2022-02-26 806
Yolov5 디바이스 사양 추천 부탁드립니다. rhee 2022-02-14 789
'C++로 배우는 딥러닝' 책 읽어보신 분 계신가요? [2] NeuroWhAI 2018-07-31 748
일본에서 인공지능이 소설쓰기 도전, 문학상 1차 심사 통과 성과 [2] 깊은바다 2016-03-30 711
긴글) 방학 동안 얕게나마 딥러닝 공부했던 후기 file [2] 딥린이 2018-08-24 692
챗봇 만드는 방식에 대해 간단하게 궁금한 점이 있습니다 [1] 찐만두 2018-03-19 637
평일반은 없나요? [1] 뱅감이아빠 2019-08-15 620
최근에 KoGpt2 모델 써보신분 있으신가요? [2] 안녕하세영 2021-04-15 618
여기는 처음인데 질문이 있습니다 [2] jianjian 2018-08-16 554
새해 복 많이 받으세요~ [2] NeuroWhAI 2020-01-01 534
초보자가 공부할만한 강화학습(DQN) 책 없을까요? [1] 딥린이 2018-08-31 532
개인 신분으로 연구 데이터(human3.6m)에 대한 접근 YONGS 2020-06-10 502
Dialogflow 질문입니다. [2] HELATHLAB 2019-02-22 486
일상대화 챗봇 기반 메타버스 플랫폼을 만드실 백엔드 개발자 모집 깊은바다 2022-01-12 456