처음 딥러닝이 나왔을 때는 신경망의 가중치를 초기화하고 바닥부터 배우는 방법이었습니다. 그러다 전이학습이 등장했습니다. 가장 대표적으로는 파인튜닝(fine-tuning)이 있습니다. 미리 대량의 데이터로 사전훈련을 하고, 이 모델을 새로운 데이터에 맞게 다시 학습합니다. 이렇게 하면 적은 데이터로도 더 빠르고 정확하게 배울 수 있습니다.
하지만 파인튜닝 역시 상당히 많은 데이터가 필요합니다. 새로운 도메인에 적용하기 위해서는, 항상 라벨을 다는 시간과 노력이 듭니다. 반면에 사람은 몇 개의 예제만 주어져도 충분합니다. 퓨삿러닝(few-shot learning)은 이와 비슷하게 동작하는 학습방법입니다.
일반적인 분류 모델은 각 클래스마다 데이터와 라벨이 주어집니다. 학습이 끝나면 새로운 데이터가 어떤 클래스인지 맞출 수 있습니다. 퓨샷러닝은 방식이 약간 다릅니다. N-way K-shot 분류를 사용합니다. N은 클래스의 개수, K는 각 클래스 마다 예제의 개수입니다. 보통 메타러닝이라는 기법을 적용합니다.
예를 들어, 고양이 사진 3개와 강아지 사진 3개를 support set으로 준비합니다. query set에는 다른 고양이, 강아지 사진을 넣습니다. 그다음 각 query set이 어떤 support set에 속하는지 배웁니다. 이렇게 하면 새로운 사진이 기존 사진들과 얼마나 유사한지를 알게됩니다. 학습이 끝나면 예제 사진 3개만으로도, 처음 보는 클래스의 사진들을 맞출 수 있습니다. 분류 모델은 데이터를 라벨에 따라 구분하는 것을 배우지만, 퓨샷러닝은 데이터를 구분하는 방법 자체를 학습한다는 차이가 있습니다. 좀 더 자세한 내용은 아래 글들을 참고하시기 바랍니다.
< 소량의 데이터로 학습하는 퓨샷러닝 >
-> https://www.sedaily.com/NewsView/1VHPK6NWWG
< 퓨샷 러닝(few-shot learning) 연구 동향을 소개합니다 >
-> https://www.kakaobrain.com/blog/106
< few-shot learning and meta-learning >
-> https://www.borealisai.com/en/blog/tutorial-2-few-shot-learning-and-meta-learning-i/