Few-Shot Learning에 대해 매우 함축적으로 간결히 잘 정리된 문구가 있어서 소개하고 시작하겠다.
Few Shot Learning : example of meta-learning, where is trained on several related task, during the meta-training phase, so that it can generalize well to unseen (but related) tasks with just few examples, during the meta-testing phase. An effective approach to the Few-Shot Learning problem is to learn a commmon representation for various tasks and train task specific classifiers on top of this representation.
출처 : https://paperswithcode.com/task/few-shot-learning
약간의 의역을 섞어 해당 문구를 해석하면 다음과 같다. (의역이므로 단어의 표현이 적절치 않을 수 있습니다)
Few Shot Learning : 메타 학습 단계에서 여러 관련 작업에 대해 훈련은 받은 메타 학습의 예시로, 메타 테스트 시 적은 예시로도 보이지 않는(그러나 관련된) 작업에 대해 잘 일반화 할 수 있는 것을 말한다.
Few-Shot Leraning 문제에 대해 효과적인 접근법은 다양한 작업에 대한 공통 표현을 학습하고, 대표되는 것 위에 작업별 classifier를 훈련시키는 것이다.
배경
"Few Shot" Learning이라는 이름에서 배경을 찾아볼 수 있다.
오래전부터 기계에게 학습을 시키기 위해서는 데이터의 Quality&Quantity가 중요한 요소로 인식되어 왔다.
하지만 데이터를 구축하고자 할 때 꽤 많고 다양한 이유로 인해 학습에 충분한 데이터를 구성하는 것은 현실적으로 극복하기 힘든 문제가 되었다.
적은 양(Few Shot)으로 학습하는 모델을 만들어보자는 개념에서 출발했다.
메타 러닝
그럼 "메타 러닝"은 무엇인지부터 이해할 필요가 있겠다.
우리가 흔히 말하는 "메타 인지"에서 사용하는 그 "메타"와 같은 단어인데, "메타 러닝"은 아는 것을 알게 하는 것이다.
다시...
아는 것을 알게 하는 것!
해당 Learning을 위해 보통 3가지의 접근 방식이 있는데
- Efficient distance metric을 학습하는 방식 - metric
- External/Internal memory를 통한 (recurrent) network를 사용하는 방식 - model
- Fast learning을 위한 model parameter를 optimize하는 방식 - optimization
이 있다.
너무 자세하게 가면 주제가 산으로 갈 것 같아서...한 포스트를 소개하며 다음으로 넘어가겠다.
https://lilianweng.github.io/posts/2018-11-30-meta-learning/
용어
헷갈릴 수 있는 용어를 정리합니다.
way | count of data class |
shot, point | count of data |
query set | validation data |
support set / source set | train data |
예시)
3개의 class - 2개의 data point 를 통한 classification
Support set = train data
query set = validation data
관련 논문
해당 논문들은 차근차근 리뷰를 업로드 하겠습니다.
가장 좋은 방법은 논문을 읽고 이해하는 것입니다(너무 무책임한 말 같지만 진심입니다..😅)
Similarity 관점 연구
"Siamese" - 샴
Signature Verification using a "Siamese" Time Delay Neural Network
https://proceedings.neurips.cc/paper/1993/file/288cc0ff022877bd3df94bc9360b9c5d-Paper.pdf
Siamese Neural Networks for One-shot Image Recognition
http://www.cs.toronto.edu/~rsalakhu/papers/oneshot1.pdf
"Networks"
Matching Networks for One Shot Learning
https://proceedings.neurips.cc/paper/2016/file/90e1357833654983612fb05e3ec9148c-Paper.pdf
Learning to Compare: Relation Network for Few-Shot Learning
Prototypical Networks for Few-shot Learning
https://proceedings.neurips.cc/paper/2017/file/cb8da6767461f2812ae4290eac7cbc42-Paper.pdf
Parameters 관점 연구
Meta-Learning with Memory-Augmented Neural Networks
http://proceedings.mlr.press/v48/santoro16.pdf
Meta Networks
https://arxiv.org/pdf/1703.00837.pdf
Optimization 관점 연구
OPTIMIZATION AS A MODEL FOR FEW-SHOT LEARNING
https://openreview.net/pdf?id=rJY0-Kcll
Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks
https://arxiv.org/pdf/1703.03400.pdf
On First-Order Meta-Learning Algorithms
https://arxiv.org/pdf/1803.02999.pdf
'MACHINE LEARNING > Artificial Neural Network' 카테고리의 다른 글
Sequence Modeling : Recurrent & Recursive Nets as introduction (0) | 2023.01.15 |
---|---|
Attention / 어텐션이란 무엇인가? (분량 주의) (0) | 2023.01.09 |
BART 논문 리뷰 / BART: Denoising Sequence-to-Sequence Pre-training for Natural Language Generation, Translation, and Comprehension (0) | 2022.11.28 |
ML / Metric 종류 및 특징 정리 (0) | 2022.09.09 |
NLP / BERT vs GPT 모델 비교 (0) | 2022.08.10 |