본문 바로가기
AI/메타 러닝

Transfer Learning VS Few-Shot Learning

by 박서현 2022. 12. 22.

DNN을 학습하기 위해서는 특정할 수는 없지만 대규모의 학습 데이터가 필요합니다. 하지만 3환경에서 학습 데이터가 충분한 경우는 많지 않습니다. 그래서 학습 데이터가 적은 환경에서도 DNN을 학습하기 위한 방법을 많이 연구가 진행됐습니다. 그 중 가장 흔하게 접할 수 있는 방법은 Transfer Learning입니다.

Transfer Learning

Transfer Learning은 다른 데이터셋으로 이미 잘 학습된 DNN(Pretrained Model)을 이용합니다. DNN은 층이 깊어질수록 주어진 문제를 해결하는 구체적인 특징을 데이터에서 찾습니다. 반대로 말하면 신경망의 앞단은 데이터의 일반적인 특징을 추출합니다. 따라서 신경망 앞단의 성능은 어떤 문제에 적용하던 크게 다르지 않을 것입니다. 그렇다면 Pretrained Model의 앞단(Backbone)을 이용할 수 있다면, 우리는 구체적인 문제를 해결하는 뒷단만 학습해도 됩니다. Pretrained Model의 뒷단을 원하는 문제에 맞춰 학습하는 것을 Fine Tuning이라고 합니다. 학습해야할 신경망의 크기가 작아졌으니 적은 데이터로 Fine Tuning해도 DNN은 좋은 성능을 보일 수 있습니다.

Few-Shot Learning

Transfer Learning도 못할 만큼 적은 데이터만 갖고 있다면, AI는 만들 수 없는 걸까요? 이를 해결하기 위한 방법으로 Few-Shot Learning이 있습니다. 여기서 Shot은 모델에게 "보여주는" 학습 데이터를 말합니다. Few-Shot은 "적은 데이터"를 의미하고 Few-Shot Learning은 문자 그대로 "적은 데이터로 학습하기"입니다.

Few-Shot은 얼마나 적은 것을 말할까요? Few-Shot Learning은 다시 Zero-shot, One-shot, Few-shot으로 구분할 수 있습니다. 각각 주어진 데이터가 없는 경우, 하나만 주어지는 경우, 2개 이상 주어지는 경우입니다. 이러한 구분에 따라 학습 방법이 달라집니다. 머신러닝이 대개 그렇듯이, 데이터의 양이 많을 수록 성능은 좋아집니다. 반대로 성능이 높이려면 데이터를 모으는 비용을 감수해야 합니다. 둘 사이에 트레이드 오프를 고려해 각자의 상황에 맞는 결정을 하면 됩니다.

'AI > 메타 러닝' 카테고리의 다른 글

[Image Classification] Fine Tune Few-Shot Learning  (0) 2023.01.05
[Image Classification] One-Shot Learning  (0) 2022.12.23
메타 러닝 (Meta Learning)  (0) 2022.12.19