레플리
글 수 282

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

조회 수 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 조회 수
이성에게 말을 거는 작업멘트를 GPT-3로 생성 file 깊은바다 2021-03-24 587
GPT-3로 NPC와 대화를 할 수 있는 게임 시뮬레이터 깊은바다 2021-02-22 1462
GPT-2를 사용한 텍스트 압축 기법 file 깊은바다 2021-02-19 473
딥러닝 자연어처리 라이브러리 - Pororo file 깊은바다 2021-02-03 1529
스캐터랩의 오픈도메인 챗봇 루다 육아일기 - 모델의 구조 및 동작방식 file 깊은바다 2020-12-30 1191
일상대화 챗봇 레플리카(Replika)의 구현 방식 file 깊은바다 2020-12-22 1508
좋은 응답을 골라내는 모델 만들기 - 핑퐁의 답변매칭 알고리즘 깊은바다 2020-12-10 553
GPT-3를 헬스케어 서비스에 적용했을 때의 문제점들 깊은바다 2020-11-04 707
스캐터랩의 핑퐁팀, 새로운 생성 모델 챗봇 데모 공개 깊은바다 2020-11-02 898
카카오미니의 명령어 분류 방법 깊은바다 2020-10-23 260
딥러닝으로 동네생활 게시글 필터링하기 깊은바다 2020-10-06 398
KoNLPy를 이용하여 Huggingface Transformers 학습하기 깊은바다 2020-09-20 1571
GPT-3 패러다임을 바꿀 미친 성능의 인공지능 등장 및 활용 사례 10가지 깊은바다 2020-09-14 799
GPT3 유료화 가격 공개 file 깊은바다 2020-09-04 1747
GPT-3의 다섯 가지 한계 깊은바다 2020-08-23 1050