레플리
글 수 281


https://jalammar.github.io/visualizing-neural-machine-translation-mechanics-of-seq2seq-models-with-attention/

 

 

 

Seq2Seq 모델과 어텐션(attention) 기법에 대해서 아주 쉽게 설명한 글입니다. 애니메이션을 이용하여 시각적으로 보여주기 때문에 어떤 방식으로 돌아가는지 이해하기가 편합니다.

 

간단히 설명하면 인코더(encoder)와 디코더(decoder) 두 개의 RNN으로 이루어져 있는데 입력 문장을 인코더에 넣으면 이 정보가 압축된 벡터값이 나옵니다. 이를 다시 디코더에 넣어서 새로운 문장을 생성합니다.

 

어텐션은 단순히 인코더의 마지막 출력 벡터값만 사용하지 않고 각 단어를 처리할 때 나오는 모든 히든 스테이트의 값들을 모아 디코더에서 문장 생성을 위해 활용합니다. 그렇기 때문에 단어 사이의 위치가 멀리 떨어진 문장도 보다 정확하게 그 의미를 파악할 수 있습니다.

 

 

 

Seq2Seq의 디코더에서는 보통 입력(이전 출력의 단어)과 전 단계의 히든 스테이트를 사용하여 계산을 합니다. 하지만 어텐션이 추가되면 새로운 context 벡터값을 함께 사용합니다. 이 context 벡터값은 인코더의 히든 스테이트 값들과 디코더의 이전 히든 스테이트가 얼마나 유사한지를 나타내는 스코어를 softmax로 계산하여 구합니다. 다시 말하면 디코더의 현재 단어가 인코더의 어떤 단어에 연관이 있는지 알려주는 정보라 할 수 있습니다.

 

예를 들어, 'I like you'가 인코더에 들어갔을때 '나는 너를 좋아해'가 디코더에서 나옵니다. 디코더에서 '좋아해' 단어를 처리할때 인코더의 두번째 단어인 'like'의 히든 스테이트 값이 softmax로 context 벡터값에 더해지고 이걸 참조하여 더욱 정확하게 출력 단어를 선택합니다.

엮인글 :
List of Articles
제목 글쓴이 날짜sort 조회 수
GPT-3로 NPC와 대화를 할 수 있는 게임 시뮬레이터 깊은바다 2021-02-22 1456
GPT-2를 사용한 텍스트 압축 기법 file 깊은바다 2021-02-19 471
딥러닝 자연어처리 라이브러리 - Pororo file 깊은바다 2021-02-03 1526
스캐터랩의 오픈도메인 챗봇 루다 육아일기 - 모델의 구조 및 동작방식 file 깊은바다 2020-12-30 1190
일상대화 챗봇 레플리카(Replika)의 구현 방식 file 깊은바다 2020-12-22 1500
좋은 응답을 골라내는 모델 만들기 - 핑퐁의 답변매칭 알고리즘 깊은바다 2020-12-10 552
GPT-3를 헬스케어 서비스에 적용했을 때의 문제점들 깊은바다 2020-11-04 706
스캐터랩의 핑퐁팀, 새로운 생성 모델 챗봇 데모 공개 깊은바다 2020-11-02 897
카카오미니의 명령어 분류 방법 깊은바다 2020-10-23 259
딥러닝으로 동네생활 게시글 필터링하기 깊은바다 2020-10-06 397
KoNLPy를 이용하여 Huggingface Transformers 학습하기 깊은바다 2020-09-20 1567
GPT-3 패러다임을 바꿀 미친 성능의 인공지능 등장 및 활용 사례 10가지 깊은바다 2020-09-14 797
GPT3 유료화 가격 공개 file 깊은바다 2020-09-04 1746
GPT-3의 다섯 가지 한계 깊은바다 2020-08-23 1048
그림으로 아주 쉽게 설명한, The Illustrated GPT-2 깊은바다 2020-08-15 2754