일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 머신러닝
- Torch
- math
- 3d
- Front
- REACT
- GAN
- clean code
- classification
- cs
- pytorch
- computervision
- 알고리즘
- Meta Learning
- Python
- PRML
- ML
- 딥러닝
- SSL
- dl
- algorithm
- CV
- Depth estimation
- nlp
- 자료구조
- Vision
- web
- FineGrained
- FGVC
- nerf
- Today
- Total
KalelPark's LAB
[Meta Learning] Neural Turing Machines이란? 본문
NTM(Neural Turing Machines)
* Meta Learning의 MANN(Memory-Augmented Neural Networks)와 SNAIL(Neural Attentive Meta-Learner)
두 알고리즘에 대해서 이해하기 위해 공부해야 하는 선수조건입니다.
- 이름 그대로, Neural Networks를 이용해, Turing Machine을 구현하는 것이다.
(Turing Machine : 현대 컴퓨터 구조의 토대가 된 가상의 기계로, 수치 연산, 메모리 읽기, 메모리 쓰기의 기능을 가지고 있다.)
- 이전의 Memory 형태로 저장되는 RNN과 LSTM은 Implicit Memory를 가지고 있었지만, 외부의 메모리를 가질 수 없었습니다.
NTM은 Neural Networks 외부에 명시적인 메모리 구조를 만들고, 현대 컴퓨터 구조처럼 연산을 수행하는 구조입니다.
- 위 그림에서 볼 수 있듯이 기존의 순환 신경망은 Externel Input이 들어오면 연산을 처리하고, Externel Output을 출력하였습니다.
기존의 Networks와 차이점은 Controller가 외부의 Memory Matrix에 접근해서, 읽고(Read), 쓰는(Write) 것이 가능합니다.
* 각각의 특징들에 대해서 세부적으로 파악해보도록 하겠습니다.
Externel Memory
- NTM(Neural Turing Machine)의 외부 메모리는 N*M 행렬의 형태로 저장되며, 각 열이 하나의 메모리 위치를 나타낸다.
즉 N은 외부 메모리의 용량을 나타내고, M은 각 메모리 위치의 차원을 나타냅니다.
- 외부 메모리는 컨트롤러의 헤드들에 의해 새로운 입력이 들어올 때마다 조금씩 변환됩니다.
그러므로, 메모리를 표기할 때는, 시간을 가리키는 t와 함께 표기해야 합니다.
Read Memory
- Read Head의 역할은 Externel Memory를 이용해서, Read Vector를 만드는 것이다.
Read Vector는 외부 메모ㅛ리들의 열들의 가중 산술 평균이다.
Calculate Weight
- 메모리 읽기와 쓰기에 사용되는 가중치 계산은 NTM에서 가장 복잡한 부분이다.
* 가중치 계산은 총 네 단계로 구성되어 있습니다.
- 가중치 계산
- 보간 단계
- 순환 이동 단계
- 선명화 단계
Reference
http://slazebni.cs.illinois.edu/spring17/lec27_memory.pdf
https://arxiv.org/abs/1410.5401
http://solarisailab.com/archives/2162
'Data Science > Meta Learning' 카테고리의 다른 글
[ 논문 리뷰 ] Siamese Neural Networks for One-shot Image Recognition (1) | 2023.01.08 |
---|---|
[ 논문 리뷰 ] One-shot Learning with Memory-Augmented Neural Networks? (0) | 2022.12.29 |
[ Meta Learning ] 모델 기반 메타 러닝 이해하기 (0) | 2022.12.28 |
[Meta Learning] MetaDataLoader 구현 (0) | 2022.12.28 |
[논문 리뷰] Optimization as a model for few-shot learning? (0) | 2022.12.27 |