SlideShare a Scribd company logo
설명자료 작성
Watanabe yusuke
번역
김홍배
Meta-Learning with Memory-
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 으로 학습 가능
Controller
MemoryRead Head Write Head
input
3
output
NTM
메모리와 읽기/쓰기 기능도
포함하여 전체가
Neural Network !
예 : NTM으로 계열 2배 복사 작업의 학습
입력계열 출력계열
0100 NTM 01000100
011 011011
110111 110111110111
10010 1001010010
학습시
4
입력계열을 2배로 복사한 계열로 만듬
입력계열과 출력계열을 학습 데이터로 NTM을 학습시키는 것이 가능
NTM
입력계열 출력계열
010111000 01011100001
0111000
controller
NTM은 들어온 계열을 차례로 메모리
에 써넣고 그것을 2회에 걸쳐 차례로
읽어낸다.
010111000010111000
5
테스트 시
010111000
010111000
예 : NTM으로 계열 2배 복사 작업의 학습
One-Shot Learning 란 ?
일반적인 NN의 학습
1개(또는 소수)의 예를 보여준 것만으로도 인식할 수
있도록 하도 싶다
One-Shot Learning
한번만 봐도 기억
(인간처럼!!)
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
RReeaaddHHeeaadd
Write Head
Controller
LSTM
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 Learning
• 필기문자모델을 디자인하고 베이지안으로 학습
관련논문 소개 : Memory를 갖춘 Neural Network
34
Memory = 정보를 유지하여 나중에 꺼내는 일이 가능한 장치
Memory를 가진 장점
• 나중에 필요로 하는 정보를 안정적으로 보존가능
•
•
•
LSTM의 내부상태는 장기 보존용에 적합하지않음
복사작업 등 : [Ivo2016]
강화학습에서의 예 : [Junhyuk2016]
• 조합하고 싶은 정보를 “탁자 위에 배열하는” 것이 가능하다.
• QA 작업: [Sukhbaatar2016]
관련 논문 소개 : Memory를 가진 Neural Network
•
•
메모리에서 읽어들이는 방법과 메모리에 기록하는 방법을 모두 학습
메모리의 읽기/쓰기 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와 같은 기능을 생각할 필요가 있는 과제

More Related Content

PDF
Kaggleのテクニック
PDF
Wasserstein GAN 수학 이해하기 I
PDF
論文紹介:”Playing hard exploration games by watching YouTube“
PDF
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
PPTX
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
PPTX
머신러닝의 자연어 처리기술(I)
PPTX
PR-153: SNAIL: A Simple Neural Attentive Meta-Learner
PPTX
強化学習 DQNからPPOまで
Kaggleのテクニック
Wasserstein GAN 수학 이해하기 I
論文紹介:”Playing hard exploration games by watching YouTube“
1시간만에 GAN(Generative Adversarial Network) 완전 정복하기
[NDC 2018] 신입 개발자가 알아야 할 윈도우 메모리릭 디버깅
머신러닝의 자연어 처리기술(I)
PR-153: SNAIL: A Simple Neural Attentive Meta-Learner
強化学習 DQNからPPOまで

What's hot (20)

PDF
Introduction of Deep Reinforcement Learning
PDF
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
PDF
Attention is All You Need (Transformer)
PPTX
Windows system - memory개념잡기
PDF
Actor critic algorithm
PDF
딥러닝 기본 원리의 이해
PPTX
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
PDF
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
PPTX
An introduction to Machine Learning (and a little bit of Deep Learning)
PDF
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
PDF
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
PDF
나만의 엔진 개발하기
PPTX
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
PPTX
언리얼을 활용한 오브젝트 풀링
PDF
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
PPTX
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
PPTX
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
PPTX
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
PPTX
알기쉬운 Variational autoencoder
PDF
TFLite_and_PyTorch_Mobile
Introduction of Deep Reinforcement Learning
자습해도 모르겠던 딥러닝, 머리속에 인스톨 시켜드립니다.
Attention is All You Need (Transformer)
Windows system - memory개념잡기
Actor critic algorithm
딥러닝 기본 원리의 이해
Generative Adversarial Imitation Learningの紹介(RLアーキテクチャ勉強会)
ICLR2018読み会@PFN 論文紹介:Intrinsic Motivation and Automatic Curricula via Asymmet...
An introduction to Machine Learning (and a little bit of Deep Learning)
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
레퍼런스만 알면 언리얼 엔진이 제대로 보인다
나만의 엔진 개발하기
CNN 초보자가 만드는 초보자 가이드 (VGG 약간 포함)
언리얼을 활용한 오브젝트 풀링
알아두면 쓸데있는 신기한 강화학습 NAVER 2017
[DL輪読会]Learning Latent Dynamics for Planning from Pixels
[DL輪読会]大規模分散強化学習の難しい問題設定への適用
[DL輪読会]Dream to Control: Learning Behaviors by Latent Imagination
알기쉬운 Variational autoencoder
TFLite_and_PyTorch_Mobile
Ad

Viewers also liked (15)

PPTX
Learning to remember rare events
PPTX
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
PPTX
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
PPTX
Visualizing data using t-SNE
PPTX
Normalization 방법
PPTX
MNIST for ML beginners
PPTX
Convolution 종류 설명
PPTX
Binarized CNN on FPGA
PPTX
Learning by association
PPTX
Explanation on Tensorflow example -Deep mnist for expert
PPTX
A neural image caption generator
PPTX
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
PPTX
Focal loss의 응용(Detection & Classification)
PPTX
딥러닝을 이용한 자연어처리의 연구동향
PPTX
Q Learning과 CNN을 이용한 Object Localization
Learning to remember rare events
InfoGAN: Interpretable Representation Learning by Information Maximizing Gene...
Knowing when to look : Adaptive Attention via A Visual Sentinel for Image Cap...
Visualizing data using t-SNE
Normalization 방법
MNIST for ML beginners
Convolution 종류 설명
Binarized CNN on FPGA
Learning by association
Explanation on Tensorflow example -Deep mnist for expert
A neural image caption generator
Single Shot MultiBox Detector와 Recurrent Instance Segmentation
Focal loss의 응용(Detection & Classification)
딥러닝을 이용한 자연어처리의 연구동향
Q Learning과 CNN을 이용한 Object Localization
Ad

Similar to Meta-Learning with Memory Augmented Neural Networks (20)

PDF
One-Shot Learning
PPTX
시스템 보안에 대해 최종본
PPTX
초보자를 위한 시스템 해킹 공부 가이드라인
 
PDF
Nationality recognition
PDF
텐서플로우로 배우는 딥러닝
PDF
Deep neural networks cnn rnn_ae_some practical techniques
PDF
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
PDF
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
PPTX
Chapter 15 Representation learning - 1
PPTX
코딩테스트 합격자 되기 C++ 00~ 01장(효율적 공부하는방법).pptx
PPTX
EveryBody Tensorflow module2 GIST Jan 2018 Korean
PPTX
세미나
PPTX
알고리즘 문제해결전략 #1
PDF
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
PDF
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
PPTX
코딩 테스트 합격자 되기 C++ 00장~ 01장을 정리한 강의자료 입니다.
PDF
요람(CreateProcess)에서 무덤(ResumeThread)까지
PDF
Alpha Go Introduction
PPTX
알아두면 쓸데있는 신비한 딥러닝 이야기
PDF
프로그래머의 뇌
One-Shot Learning
시스템 보안에 대해 최종본
초보자를 위한 시스템 해킹 공부 가이드라인
 
Nationality recognition
텐서플로우로 배우는 딥러닝
Deep neural networks cnn rnn_ae_some practical techniques
텐서플로우 설치도 했고 튜토리얼도 봤고 기초 예제도 짜봤다면 TensorFlow KR Meetup 2016
언플러그드 활동의 이론과 실제(Unplugged Activity / Computing)
Chapter 15 Representation learning - 1
코딩테스트 합격자 되기 C++ 00~ 01장(효율적 공부하는방법).pptx
EveryBody Tensorflow module2 GIST Jan 2018 Korean
세미나
알고리즘 문제해결전략 #1
NDC 2016 김정주 - 기계학습을 활용한 게임어뷰징 검출
두 번째 startlink.live: 박성원 (ntopia) - PS가 이렇게 해롭습니다. 여러분!
코딩 테스트 합격자 되기 C++ 00장~ 01장을 정리한 강의자료 입니다.
요람(CreateProcess)에서 무덤(ResumeThread)까지
Alpha Go Introduction
알아두면 쓸데있는 신비한 딥러닝 이야기
프로그래머의 뇌

More from 홍배 김 (16)

PDF
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
PPTX
Gaussian processing
PPTX
Lecture Summary : Camera Projection
PPTX
Learning agile and dynamic motor skills for legged robots
PPTX
Robotics of Quadruped Robot
PPTX
Basics of Robotics
PPTX
Recurrent Neural Net의 이론과 설명
PPTX
Convolutional neural networks 이론과 응용
PPTX
Anomaly detection using deep one class classifier
PPTX
Optimal real-time landing using DNN
PPTX
The world of loss function
PPTX
Machine learning applications in aerospace domain
PPTX
Anomaly Detection and Localization Using GAN and One-Class Classifier
PPTX
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
PPTX
Brief intro : Invariance and Equivariance
PPTX
Anomaly Detection with GANs
Automatic Gain Tuning based on Gaussian Process Global Optimization (= Bayesi...
Gaussian processing
Lecture Summary : Camera Projection
Learning agile and dynamic motor skills for legged robots
Robotics of Quadruped Robot
Basics of Robotics
Recurrent Neural Net의 이론과 설명
Convolutional neural networks 이론과 응용
Anomaly detection using deep one class classifier
Optimal real-time landing using DNN
The world of loss function
Machine learning applications in aerospace domain
Anomaly Detection and Localization Using GAN and One-Class Classifier
ARCHITECTURAL CONDITIONING FOR DISENTANGLEMENT OF OBJECT IDENTITY AND POSTURE...
Brief intro : Invariance and Equivariance
Anomaly Detection with GANs

Meta-Learning with Memory Augmented Neural Networks

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