인공지능과 딥러닝에서 소수의 데이터로 학습하는 것을 다루는 분야인 Few-Shot Learning이 있다. 전통적인 머신러닝 알고리즘은 일반적으로 정확한 예측을 위해서는 많은 양의 레이블된 데이터가 필요하다. 그러나 현실 세계에서 이러한 방대한 레이블 데이터셋을 얻는 것은 무척 어려운 일이다. 이 때문에 Few-Shot Learning에서는 제한된 데이터로부터 학습하는 방법을 제시한다.
Few-Shot Learning이란?
Few-Shot Learning은 머신러닝 모델이 적은 수의 레이블 데이터만으로도 학습할 수 있는 능력을 말한다. 많은 데이터셋을 필요로 하는 것이 아니라, Few-Shot Learning은 몇 개의 인스턴스로부터 지식을 일반화하고 새로운 예시에 적용하는 것을 목표로 한다. 이는 인간이 몇 개의 예시나 이전 지식을 기반으로 빠르게 새로운 개념을 적응하고 학습하는 방식을 모방한다.
과제
Few-Shot Learning에서 주요한 과제는 각 특정 범주에 대한 데이터의 부족이다. 소수의 레이블된 샘플만으로는 전통적인 알고리즘들이 내재된 패턴을 잘 파악하고 정확한 예측을 수행하기 어렵다. 게다가 제한된 인스턴스로부터 일반화하는 것은 오버피팅이나 새로운, 보지 못한 데이터에 대한 성능 저하로 이어진다.
접근 방식
위의 과제를 해결하기 위해 여러가지 방법이 제시되었다.
- Meta-Learning or Learning to Learn: 메타 러닝은 여러 작업이나 도메인에서 모델을 훈련시켜 효율적으로 학습하는 방법이다. 데이터의 내재된 구조를 파악하고 소수의 예시로부터 일반화하는 능력을 습득하기 위해 여러 작업에서 사전 지식을 활용한다.
- Metric Learning: Metric Learning은 인스턴스 간의 거리나 유사성을 측정하는 Metric을 학습하는 것에 초점을 둔다. 이 접근 방식은 비슷한 인스턴스가 더 가까이 있도록 하는 공간을 만들어 적은 수의 샘플로부터 일반화를 용이하게 한다. Prototypical networks와 Siamese networks는 Few-Shot 작업에 사용되는 Metric Learning 모델의 예다.
- 생성 모델: 생성 모델인 GANs과 VAE는 제한된 예시를 기반으로 새로운 인스턴스를 생성할 수 있다. 이 모델들은 데이터의 내재된 분포를 학습하고 제한된 레이블 데이터로부터 학습을 개선하는데 사용된다.
응용
Few-Shot Learning은 다음과 같은 응용 분야에서 사용된다
- 컴퓨터 비전: Few-Shot Learning은 소량의 레이블 데이터로 객체 인식, 이미지 분류, 의미론적 분할 등을 가능하게 하여 대량의 레이블 데이터셋을 구축하기 어렵거나 시간이 많이 소요되는 상황에서 유용하다.
- 자연어 처리: Few-Shot Learning을 통해 모델은 대량의 레이블 데이터셋 없이도 텍스트 분류, 감성 분석, 언어 번역과 같은 새로운 언어 작업에 빠르게 적응할 수 있다.
- 로봇 및 강화학습: Few-Shot Learning은 로봇이 제한된 예시로 새로운 작업을 학습하거나 새로운 환경에 적응하는 데 사용됨으로써 로봇의 실력 향상과 새로운 기술 습득에 도움을 준다.
Few-Shot Learning은 제한된 레이블 데이터로 학습하는 머신 러닝의 한 방향으로, Meta-Learning, Metric Learning, 생성 모델을 활용하여 모델이 효과적으로 새로운 개념을 일반화하고 학습할 수 있게 한다.