레플리
글 수 281

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

조회 수 1134 추천 수 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
대화 인공지능 대회 - ConvAI file 깊은바다 2019-03-25 630
딥러닝을 이용한 자연어처리의 연구동향 깊은바다 2018-10-04 631
RAG를 사용한 페르소나 챗봇 - ChatHaruhi file 깊은바다 2023-10-17 634
포자랩스의 작사/작곡 인공지능 file 깊은바다 2018-08-31 641
인터넷 검색을 하고 장기기억을 저장하는 페이스북의 챗봇 - Blenderbot 2 file 깊은바다 2021-07-19 643
구글 듀플렉스(Duplex) 상용화 시작 [2] 깊은바다 2018-11-26 644
사람의 말로 표현하는 페이지(PAIGE) - 자연어생성 깊은바다 2018-08-04 660
GPT3 튜링 테스트 깊은바다 2020-07-23 668
카카오미니의 명령어 분류 방법 - GloVe와 CNN 사용 깊은바다 2018-05-07 674
LLM의 창발적인 현상인 CoT(Chain of Thouht) 소개 file 깊은바다 2023-07-27 674
딥러닝 자연어처리 강의 - Natural Language Processing with PyTorch 깊은바다 2019-07-06 687
Llama 2의 RLHF 구현 방법 깊은바다 2023-07-19 694
워드 임베딩에 대한 아주 쉬운 설명 - The Illustrated Word2vec 깊은바다 2019-04-09 703
새로운 자연어처리 벤치마크 - SuperGLUE 깊은바다 2019-08-15 703
GPT-3를 헬스케어 서비스에 적용했을 때의 문제점들 깊은바다 2020-11-04 706