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