Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Meta-Learning with Memory Augmented Neural Networks

6,649 views

Published on

Meta-Learning with Memory Augmented Neural Networks을 설명한 Watanabe yusuke의 일문 설명문을 한글로 번역한 자료

Published in: Technology
  • Login to see the comments

Meta-Learning with Memory Augmented Neural Networks

  1. 1. 설명자료 작성 Watanabe yusuke 번역 김홍배 Meta-Learning with Memory- Augmented Neural Networks 논문저자 : Adam Santoro, Sergey Bartunov, Matthew Botvinick, Daan Wierstra, Timothy Lillicrap Google DeepMind
  2. 2. 논문을 한마디로 정리하면 2 Neural Turing Machine 을 One-Shot Learning 에 응용해 봄
  3. 3. Neural Turing Machine (NTM) 란 [Graves+2014] • NTM이란、외부기억장치(메모리)와 읽기/쓰기 기능을 갖춘 Neural Network • 복사 및 분류등과 같은 알고리즘을 학습하는 것이 가능 • Neural Network 이므로 Back Propagation 으로 학습 가능 Controller MemoryRead Head Write Head input 3 output NTM 메모리와 읽기/쓰기 기능도 포함하여 전체가 Neural Network !
  4. 4. 예 : NTM으로 계열 2배 복사 작업의 학습 입력계열 출력계열 0100 NTM 01000100 011 011011 110111 110111110111 10010 1001010010 학습시 4 입력계열을 2배로 복사한 계열로 만듬 입력계열과 출력계열을 학습 데이터로 NTM을 학습시키는 것이 가능
  5. 5. NTM 입력계열 출력계열 010111000 01011100001 0111000 controller NTM은 들어온 계열을 차례로 메모리 에 써넣고 그것을 2회에 걸쳐 차례로 읽어낸다. 010111000010111000 5 테스트 시 010111000 010111000 예 : NTM으로 계열 2배 복사 작업의 학습
  6. 6. One-Shot Learning 란 ? 일반적인 NN의 학습 1개(또는 소수)의 예를 보여준 것만으로도 인식할 수 있도록 하도 싶다 One-Shot Learning 한번만 봐도 기억 (인간처럼!!) 6 ... 많은 학습 데이터가 필요
  7. 7. One-Shot Learning 방법 : NN algorithm 학습 시 테스트 시 トリナクリ ア 토리나쿠리아! 학습 데이터의 이미지 전체를 기억한다. 기억 중에서 가장 가까 운 이미지를 답한다. 이 접근법의 과제 • 이미지의 유사도는 어떻게 측정하면 좋을까 ? • Nearest-Neighbor 알고리즘은 최적일까 ? ⇒ NTM을 사용하여、Nearest-Neighbor알고리즘 (보다 좋은 알고리즘) 을 공부해보자 ! ピザ 弥勒菩薩 7
  8. 8. 논문개요 • Neural Turing Machine (NTM) 을 개조한 Memory- Augmented Neural Network (MANN)을 제안 • One-Shot Learning 을 MANN 으로 수행 • Omniglot 데이터셋으로 평가 시 고성능을 달성 8
  9. 9. Ominglot 데이터 셋이란 • 다양한 문자종류로 이루어진 이미지 데이터 셋 • 문자는 1623종류, 각 문자 이미지는 20개 • 우선 학습용과 테스트용으로 문자종류를 나눈다. • 1200문자종류를 학습으로, 423문자종류를 테스트로 사용 9
  10. 10. 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. • 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 10 기억
  11. 11. 11 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  12. 12. • • • • 12 1 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  13. 13. 1 2 오답 ! • • • • 13 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  14. 14. 1 2 오답 !2 • • • • 14 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  15. 15. 2 • • • • 15 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  16. 16. 2 • • • • 16 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  17. 17. • • • • 17 3 2 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  18. 18. 3 1 오답 !2 • • • • 18 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  19. 19. 3 1 오답 !2 1 • • • • 19 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  20. 20. 2 1 • • • • 20 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  21. 21. 2 1 • • • • 21 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  22. 22. 2 1 • • • • 22 2 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  23. 23. 2 2 정답 !2 1 • • • • 23 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  24. 24. 2 2 정답 !2 1 • • • • 24 이하 50회 계속 ... 작업설정 “소수의 문제예를 본 것만으로 바로 인식이 가능” 하도록 학습시키자 !! • • • 이런 일련의 프로세스를 에피소드라 부른다. 에피소드의 전반에서는 번호(답)를 랜덤하게 추정하지만, 에피소드의 후반으로 갈 수록 정답률이 올라간다. 빠르게 정답률이 올라간다 = One-Shot Learning 이 잘 된다. 기억
  25. 25. 엔피소드 작성법 1. 문자종류를 5개 선택하여、1~5까지 랜덤하게 섞는다. 2. 각 문자종류로부터 10개의 이미지를 선택한다. 3. 이러한 50개의 이미지를 랜덤하게 섞는다 : 1 episode 작업: 이미지 𝑥𝑡를보여주고、그번호(1~5)를 답하게한다. 직후에정답번호 𝑦𝑡 를보여준다. 25 ...
  26. 26. 학습과 테스트의 흐름 학습 시 테스트용 에피소드는 학습 에 사용하지 않은 것으로 테스트 시 대량의 에피소드로 학습 (문자를 분류하는 방법을 학습) アいアいうアうえおお...アお ああはイイういははあ...イう らむららももあむよよ...よも 에피소드 길이 =50 26 ฆ ญฆ ฆช ฆ ... คกข… 1에피소드 중에 급격하게 정답률이 상승하면, One-Shot Learning이 잘할 수 있게 되는 것
  27. 27. 실험결과 MANN (제안된 방법) LSTM (기준) 40000 에피소드 정도 학습하면、 2번째에서 80% 정도 정답률 27 • 학습방법은 MANN과 동일 • LSTM에서는 정답률이 좋지않음. 원인으로는 LSTM 셀은 과거의 데이터를 확실하게 기억 할 수 없기 때문이라고 생각된다 n-th instance = 각 라벨 문자 이미지를 n번째 볼때의 정답률
  28. 28. 실험결과 (수치) • Human: 인간이 이작업에 도전할 때의 성능 • Feedforward: 정답률은 1/5 28
  29. 29. 실험결과 : 다른 방법과 비교 • Nearest-Neighbor 알고리즘보다도 MANN 쪽이 고성능 • 콘트롤러가 Feedforward인 MANN의 경우、 메모리는 기억 을 저장할 수 있다. • LRUA(후술)이 없는 MANN (NTM)은 성능이 낮다. 29
  30. 30. MANN의 구조 : 개념도 ( , (000100)) Memory RReeaaddHHeeaadd Write Head Controller LSTM cell_size=200 (write weight의 계산방법은 후술) 𝒊i는 메모리 번지 30 Read Head
  31. 31. MANN의 구조 : 수식 • 읽기 kt 로부터 메모리에서 읽어내는 부분을 결정 (read weight) i는 메모리 번지를 표시 • 쓰기 : 라벨과 이미지 쌍을 메모리에 저장한다. write weight 계산 값 at를 write weight 에 따라 메모리에 쓰기 least used weight 최근에 사용되지 않은 메모리 영역을 나타내는 가중치 (후술) 31
  32. 32. MANN의 구조와 NTM과의 차이 • MANN 은 Least Recently Used Access (LRUA)의 기능이 있다 !!! • MANN은 location-based addressing을 사용하지 않음. used weight 의 계산 ※ 정확히는 used weight이 작은 상위 m 개에서 값을 1로 한다 32 새로운 이미지의 정보는 아직 사용하지 않는 메모리 번지에 쓰고 싶다. LRUA가 그것을 가능하게 하고있다. (LRUA가 없다면 안됀다)
  33. 33. 관련논문 소개 : One-Shot Learning • Matching Network [Vinyals2016] • 본논문 ”Meta-Learning with Memory-Augmented Neural Network” 의 후속 • Omniglot 데이터셋 One-Shot Learning에서 MANN보다도 좋은 성능을 냄. [Lake2012] 33 • Hierarchical Bayesian Program Learning • 필기문자모델을 디자인하고 베이지안으로 학습
  34. 34. 관련논문 소개 : Memory를 갖춘 Neural Network 34 Memory = 정보를 유지하여 나중에 꺼내는 일이 가능한 장치 Memory를 가진 장점 • 나중에 필요로 하는 정보를 안정적으로 보존가능 • • • LSTM의 내부상태는 장기 보존용에 적합하지않음 복사작업 등 : [Ivo2016] 강화학습에서의 예 : [Junhyuk2016] • 조합하고 싶은 정보를 “탁자 위에 배열하는” 것이 가능하다. • QA 작업: [Sukhbaatar2016]
  35. 35. 관련 논문 소개 : Memory를 가진 Neural Network • • 메모리에서 읽어들이는 방법과 메모리에 기록하는 방법을 모두 학습 메모리의 읽기/쓰기 attention은、Hard or Soft [Caglar2016] • Memory Network [Weston2015, Sukhbaatar2016,Felix2016] • • • 입력문을 메모리에 저장하여, 질문에 답하는데 필요한 부분을 추출入力 메모리에서 읽기는 attention (가중치)를 사용(Hard or Soft) 메모리에 쓸 내용 (embedding vector)는 학습 • 쓰는 방법은 학습하지않음 • Neural Turing Machine 계 입력문 입력문 질문 응답 질문 응답 メモリ部分 35
  36. 36. 정리 36 • NTM를 응용하여、One-Shot Learning이 가능하다 • One-Shot Learning으로서 성능은 우수하나 최고는 아 니다. • 이번에는 One-Shot Learning (Nearest-Neighbor적인 알고리즘)을 NTM으로 학습하였지만, 다른 작업에서도 유사한 아이디어를 사용하면 • 예로 active learning 등... • 작업에 따라 、LRUA와 같은 기능을 생각할 필요가 있는 과제

×