이 글은 메타러닝을 학습하기 위한 정리 글입니다.
참고 자료
기계가 아는지 모르는지 구분이 가능하다
Learning to learn / Learning to generalize
- 메타 학습은 여러가지 task에 대해서 일반화 될 수 있는 모델을 학습하는 것을 목표로 한다
- 따라서 메타학습된 모델은 일반성을 학습함으로 한번도 보지 못했던 task에 대해서도 빠르게 학습이 가능하다
- 아이들이 메타인지를 통해서 처음 보는 동물에 대해서도 스스로 알아가는 것 처럼, 보지 못한 input(query)에 대해서도 적은 수의 데이터만을 가지고 학습을 진행할 수 있게 된다
Why Meta learning ?
- 적은 수의 데이터셋으로도 일반화 학습이 가능하다
- 학습에 있어서 충분한 연산 능력이 없을때, 메타학습은 모델을 훈련하는데 하드웨어적인 리소스가 많이 필요하지 않다
What is Few-shot learning?
-
Meta learning의 한 종류이다
-
few shot learning에서는 각 그림들을 특정 class로 구분 짓는 것이 아닌, '서로 다른 클래스의 이미지구나'를 학습하는 것. 다시 말해 아는 것과 모르는 것 자체를 학습한다
-
query sample never seen before
-
query sample from unknown classes
supervised learning
- test sample never seen before
- test sample from known classes
Meta learning의 학습 기법
- Model based approach: 모델 기반 학습
- Metric based approach
- 저차원의 공간에 새로 들어온 데이터셋을 mapping시키고, 저차원 공간에서의 데이터 간의 거리를 통해 (distance) 데이터들을 분류하는 방법
- Optimization based approach
- 여러 task의 generalized 버전 모델의 파라미터를 구하고, 이를 새로운 task의 파라미터로 initialization한다. 이렇게 함으로써 최적의 task parameter를 빠르게 찾아갈 수 있다.
Transfer learning
source task에서 지식을 추출해서 그 지식을 target task에 전달해주는 것
- 학습 데이터가 있는 다른 task에서 모델을 학습하여 일반화된 지식을 추출해서 학습데이터가 없는 다른 task에 전달해준다.
- 개-고양이 이미지 분류 task에서 개와 고양이 사진이 많이 없을 때, 개미와 벌 사진은 많은 양이 있다면, 개미와 벌을 분류하는 작업을 학습하면서 선, 윤곽, 일반적인 틍징들을 배우게 한 후(pretraining) 개와 고양이 이미지를 분류하도록 하는 것(fine-tuning)