레플리
글 수 283

다이나믹 메모리 네트워크 정리

조회 수 1135 추천 수 0 2018.09.29 20:37:14


K-001.jpg

 

 

 

지난번에 페이스북에서 만든 Memory Networks(MemNN)와 End-to-End Memory Networks(MemN2N)에 대해서 아래와 같이 소개를 하였습니다.

 

http://aidev.co.kr/chatbotdeeplearning/5925

 

 

 

이번에는 이를 발전시킨 Dynamic Memory Networks(DMN)에 대해서 간략하게 살펴보겠습니다. 이 알고리즘은 실리콘밸리의 인공지능 스타트업인 MetaMind에서 발표하였는데, CEO인 Rechard Socher가 스탠포드의 유명한 자연어처리 강좌인 CS224n의 담당 교수이기도 합니다.

 

MemNN, MemN2N은 feedforward 신경망으로 구성되어 있고 질의응답 문제에만 특화되어 있습니다. 하지만 DMN는 RNN의 한 방법인 GRU를 기반으로 하고 있으며 질의응답만 아니라 텍스트 분류, POS 태깅 등 다양한 자연어처리 작업도 하나의 모델로 적용할 수 있습니다.

 

RNN은 문장이 길어지면 멀리 떨어진 정보 사이의 관계를 학습하기가 어렵습니다. 이를 보완하기 위해 LSTM이나 GRU가 사용되었는데 최근 어텐션 기법으로 성능이 더욱 향상되었습니다. 보통 seq2seq 모델에서 인코더와 디코더 사이를 어텐션 신경망으로 연결하여, 각 출력 단어를 생성할때 입력의 어느 부분에 집중할지 알려줍니다. DMN은 여기에 GRU로 된 메모리 모듈을 하나 더 추가한 것이 가장 큰 특징입니다.

 

 

 

K-003.jpg

 

하지만 DMN의 단점은 MemNN와 마찬가지로 학습시 supporting factor로 입력 문장들 중 어떤 것이 질문과 관련이 있는지 명시적으로 알려주어야 한다는 것입니다. 그래서 DMN+를 새로 발표했는데 MemN2N처럼 supporting factor가 필요없으며 MemN2N보다 더 높은 성능을 보여줍니다. 또한 이미지를 입력으로 하고 문장으로 질문과 대답을 할 수도 있습니다.

 

 

 

K-002.jpg

 

DMN이 입력 모듈에서 하나의 GRU만으로 구성된 것에 비해 DMN+는 이를 Sentence Reader와 Input fusion layer로 분리하였습니다. 또한 bi-directional GRU를 사용하여 입력 문장들의 정보를 보다 유연하게 처리할 수 있습니다. 두번째로 어텐션 부분이 차이가 있는데 기존 GRU를 Attention based GRU로 변경하였습니다.

 

스탠포드 강의에서 Rechard Socher가 여러가지 자연어처리 방법을 하나의 모델로 통합할 필요가 있다고 강조하기도 했습니다. DMN이 그 가능성을 보여주고 있는 것 같습니다. 앞으로 텐서플로에서 LSTM이나 GRU처럼 DMN도 명령어 하나로 간편하게 사용하게 될지도 모르겠습니다.

 

 

 

< 논문 >
https://arxiv.org/pdf/1506.07285.pdf
https://arxiv.org/pdf/1603.01417.pdf

 

List of Articles
제목 글쓴이 날짜 조회 수sort
BERT를 이용한 챗봇 구현 file 깊은바다 2019-01-07 4110
GPT-3 데모 사이트 - gpt3demo.com 깊은바다 2021-07-13 3707
한국어 자연어처리를 위한 딥러닝 깊은바다 2018-02-14 3650
하이퍼클로바 활용예 및 사용가이드 file 깊은바다 2022-03-05 3569
한국어로 대화하는 생성 모델의 학습을 위한 여정 - Transformer와 GPT2 깊은바다 2020-08-13 3565
KoGPT2를 파인튜닝하여 만든 챗봇 깊은바다 2020-06-23 3513
구글의 딥러닝 대화 알고리즘 깊은바다 2016-03-25 3356
여러 한국어 GPT 모델들 file [1] 봄눈 2021-11-21 3334
네이버 영화 리뷰 감정 분석 깊은바다 2018-09-07 3291
욕설을 찾는 BERT 모델 - Purifier 깊은바다 2019-08-28 3264
딥러닝으로 챗봇 만들기 깊은바다 2017-05-03 3172
네이버의 초거대모델인 하이퍼클로바 사용 후기 깊은바다 2022-02-14 3170
6B 파라미터의 GPT-J_6B 오픈소스 모델 깊은바다 2021-07-01 3123
케라스로 만든 한글 Seq2Seq 챗봇 소스코드 깊은바다 2019-07-13 3090
구글의 Transformer 신경망 모델 [2] 깊은바다 2018-10-13 3022