레플리
글 수 283

문장을 학습하는 딥러닝 RNN의 Seq2Seq 모델 설명

조회 수 7327 추천 수 0 2017.09.15 04:24:29


https://tensorflowkorea.gitbooks.io/tensorflow-kr/content/g3doc/tutorials/seq2seq/

 

 

 

Seq2Seq는 RNN을 사용해서 문장을 학습할 수 있는 모델입니다. 여러가지 문서를 찾아봤는데 위의 링크가 그중에서 가장 잘 설명하고 있는 것 같습니다. 

 

 

 

basic_seq2seq.png

 

Seq2Seq는 2개의 RNN 셀로 구성됩니다. 위 그림에서 ABC를 입력으로 받는 것이 인코더 RNN 셀이고 오른쪽의 <go>WXYZ를 입력으로 받는 것이 디코더 RNN 셀입니다.

 

그림에서는 모두 8개의 셀이 있지만 실제로는 2개의 인코더와 디코더 셀만 존재합니다. RNN은 자신의 출력도 입력으로 받기 때문에 위 그림은 순차적인 입력을 풀어서 표현한 것입니다.

 

 

 

ABC라고 입력하면 WXYZ라고 대답하도록 훈련하고 싶다면 인코더에 ABC를 순서대로 집어넣습니다. 그리고 <go>WXYZ를 디코더에 순차적으로 입력하고 각각 출력이 WXYZ<eos>가 되도록 학습합니다.

 

정리하자면 ABC<go>WXYZ -> ___WXYZ<eos>으로 훈련을 시킨다고 보시면 됩니다. 여기서 <go>는 문장의 시작을, <eos>는 문장의 끝을 나타냅니다. 그리고 각 단어는 Word2Vec 같은 방법을 사용해서 벡터로 표현합니다.

 

 

 

이렇게 트레이닝이 된 모델을 사용해서 문장을 예측할 수 있습니다. ABC라고 인코더에 순차적으로 입력하고 디코더에 <go>를 넣은후 그 출력인 W를 다음번 입력으로 합니다. 

 

이렇게 반복해서 디코더에 넣다가 <eos>가 나오면 종료합니다. 디코더의 출력을 합치면 WXYZ<eos>의 답변문장을 구할 수 있습니다.

 

 

 

보다 자세한 사항은 아래의 챗봇 구현 코드를 참고하시기 바랍니다.

 

딥러닝 RNN으로 구현한 챗봇

-> http://aidev.co.kr/chatbot/1852

 

 

 

< 챗봇 개발자 모임 >

- 페이스북 그룹에 가입하시면 챗봇에 대한 최신 정보를 쉽게 받으실 수 있습니다.

https://www.facebook.com/groups/ChatbotDevKR/

List of Articles
제목 글쓴이 날짜 조회 수sort
GPT-3.5와 클로바X 가격 비교 file 깊은바다 2024-02-25 272
Gluon으로구현해보는 한영기계번역 모형 깊은바다 2018-04-13 275
ChatGPT 원티드 플러그인 사용 화면 file 깊은바다 2023-04-07 278
사진을 인식할 수 있는 ChatGPT 멀티모달 버전 공개 file 깊은바다 2023-09-26 279
오픈소스 LLM이 ChatGPT를 대체할 수 있을 깊은바다 2023-05-05 295
LLM의 미래는 자율행동과 멀티 에이전트 깊은바다 2023-08-30 300
화면을 보고 스마트폰 앱 사용방법을 배우는 모델 - AppAgent file 깊은바다 2024-01-08 301
Generative AI — 시장 구조, 기회, moat에 대한 몇 가지 생각 깊은바다 2023-06-27 303
Koko 심리상담 서비스에서 GPT-3 대답 추천 기능을 도입 file 깊은바다 2023-01-11 304
네이버 케어콜의 장기기억 기능 - 맞춤 케어를 위한 기억하기 챗봇 file 깊은바다 2023-03-01 308
LLM의 시대에도 자연어처리를 배워야할까 깊은바다 2023-05-29 316
ChatGPT 톺아보기 - 인공지능의 역사부터 신경망, 초거대AI, ChatGPT까지 file 깊은바다 2023-02-01 318
GenAI 컨퍼런스 대담 요약 - 어떻게 AI가 비즈니스를 재편할 것인가 깊은바다 2023-03-08 319
GPT-3.5와 하이퍼클로바의 한국어 대결 file 깊은바다 2023-05-12 319
노암 촘스키의 ChatGPT 기고문 깊은바다 2023-03-09 322