MACHINE LEARNING/Artificial Neural Network

Few-Shot Learning? 관련 논문을 중심으로 이해해보자!

24_bean 2022. 12. 27. 22:47

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

 

Papers with Code - Few-Shot Learning

**Few-Shot Learning** is an example of meta-learning, where a learner is trained on several related tasks, 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. A

paperswithcode.com

 

약간의 의역을 섞어 해당 문구를 해석하면 다음과 같다. (의역이므로 단어의 표현이 적절치 않을 수 있습니다)

Few Shot Learning : 메타 학습 단계에서 여러 관련 작업에 대해 훈련은 받은 메타 학습의 예시로, 메타 테스트 시 적은 예시로도 보이지 않는(그러나 관련된) 작업에 대해 잘 일반화 할 수 있는 것을 말한다.
Few-Shot Leraning 문제에 대해 효과적인 접근법은 다양한 작업에 대한 공통 표현을 학습하고, 대표되는 것 위에 작업별 classifier를 훈련시키는 것이다.


배경

"Few Shot" Learning이라는 이름에서 배경을 찾아볼 수 있다.

오래전부터 기계에게 학습을 시키기 위해서는 데이터의 Quality&Quantity가 중요한 요소로 인식되어 왔다.

 

하지만 데이터를 구축하고자 할 때 꽤 많고 다양한 이유로 인해 학습에 충분한 데이터를 구성하는 것은 현실적으로 극복하기 힘든 문제가 되었다.

적은 양(Few Shot)으로 학습하는 모델을 만들어보자는 개념에서 출발했다.

 


메타 러닝

그럼 "메타 러닝"은 무엇인지부터 이해할 필요가 있겠다.

우리가 흔히 말하는 "메타 인지"에서 사용하는 그 "메타"와 같은 단어인데, "메타 러닝"은 아는 것을 알게 하는 것이다.

다시...

 

아는 것을 알게 하는 것!

 

해당 Learning을 위해 보통 3가지의 접근 방식이 있는데

  1. Efficient distance metric을 학습하는 방식 - metric
  2. External/Internal memory를 통한 (recurrent) network를 사용하는 방식 - model
  3. Fast learning을 위한 model parameter를 optimize하는 방식 - optimization

이 있다.

How calculate the parameters?

너무 자세하게 가면 주제가 산으로 갈 것 같아서...한 포스트를 소개하며 다음으로 넘어가겠다.

 

https://lilianweng.github.io/posts/2018-11-30-meta-learning/

 

Meta-Learning: Learning to Learn Fast

[Updated on 2019-10-01: thanks to Tianhao, we have this post translated in Chinese!] A good machine learning model often requires training with a large number of samples. Humans, in contrast, learn new concepts and skills much faster and more efficiently.

lilianweng.github.io


용어

헷갈릴 수 있는 용어를 정리합니다.

way count of data class
shot, point count of data
query set validation data
support set / source set train data

예시)

3-way-2-shot classification problem

 

 

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

https://openaccess.thecvf.com/content_cvpr_2018/papers_backup/Sung_Learning_to_Compare_CVPR_2018_paper.pdf

 

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