본문 바로가기
Have Done/ETC.

Few-Shot learning

by 에아오요이가야 2022. 3. 15.

making classification or regression based on a very small number of samples.

‘learn to learn’

 

1000개의 이미지 다 구분해라! 가 아니고 비슷한 애들끼리 묶어봐~ 느낌

같은 애들끼리 묶어놓고 답지 줄테니까 그쪽으로 분류해놔!

문제정의 → 문제 간소화 (추상화) → divide and conquer.

 

Support Set vs Training Set

support set : the small set of labed images

training set : big set

Meta-Learning

 

Few-shot learning is a kind of meta-learning.

Meta-learning is different from traditional supervised learning.

Traditional supervised learning asks the model to recognize the training data and then generalize to unseen test data.

Differently, meta learning’s goal is to learn

What is learn to learn?

기존의 학습은 [이미지-답]을 무진장 모아놓고 암기시키는 것이었다면

general 한 해답을 하나 주고 그것과 유사한 것을 골라내는 것? → ‘유사함’이라는 ‘개념’을 학습시키는 것

 

K-way [number of class] and N-shot [number of samples]

number of data set = K x N

 

when performing few shot learning, the prediction accuracy depends on the number of waays and the number of shots.

 

way== class 가 증가하면 정확도가 떨어지고 → 난이도

shot == samples 가 증가하면 정확도는 올라간다 → 예제 수

 

Basic idea behind few-shot learning

The basic idea of few-shot learning is to train a function that predicts similarity.

Denote the similarity function by sim(x, x’)

it measures the similarity between the two samples, x and x’

 

If two samples are the same, the similarity function returns 1

Vise Versa the function returns 0.

 

support set내부의 데이터끼리 similarity 함수를 목적함수로 설정해

예를 들어 3 way 1 shot learning이라고 했을 때

 

support set 내부의 총데이터인 세계가 각각 달라야 하기 때문에 loss는 0이 되게 해야겠지 여기서 로스 함수는 선형 함수도 괜찮은데

만약 3 way 2 shot learning이라면?

 

2개끼리는 유사도가 1에 가까우면 좋으니까 로스가 3이 되면 좋을 거 같아 그럼

(sim-3)이 최소가 되도록 loss를 설정해야 하나?

 

After training, the learned similarity function can be used for making predictions for unseen queries [test data].

We can use the similarity function to compare the query with every sample in the support set and calculate the similarity scores. Then, find the sample with the highest similarity score and use it as the prediction

 

query image 가 있을 때 이 이미지의 클래스가 뭔지 궁금하다

query를 support set에 있는 모든 샘플들과 비교해볼 수 있지 similiarty 함수를 계산해서 가장 높은 값이 나오는 class로 정답을 준다.

댓글