딥러닝 모델에서 One-shot learning과 Few-shot learning은 모델을 학습하는 데 사용되는 데이터의 양을 나타내는 용어입니다. 이 용어들은 특히 이미지 인식, 자연어 처리, 게임 등의 분야에서 사용됩니다.
하나의 샘플 이미지만으로 새로운 클래스를 인식하는 것을 의미합니다. 예를 들어, 고양이를 인식하는 딥러닝 모델에게 "스핑크스"라는 새로운 종류의 고양이를 인식하도록 요청한다면, 모델은 이전에 본 적이 없는 스핑크스 고양이 사진 하나만으로도 인식을 수행할 수 있어야 합니다. 이것은 학습 데이터가 매우 제한적인 경우에 유용합니다.
한 클래스당 일부 샘플 이미지만 사용하여 새로운 클래스를 인식하는 것을 의미합니다. 예를 들어, 알파벳 손글씨 이미지를 분류하는 딥러닝 모델에게 "종이 상자"라는 클래스를 추가하라는 요청을 받았다면, 모델은 종이 상자에 대한 몇 가지 샘플 이미지를 보고 이를 인식할 수 있어야 합니다. 이것은 one-shot learning보다는 학습 데이터가 더 많이 필요하지만, 전체 데이터셋을 학습하는 것보다 효율적인 방법입니다.
딥러닝 모델이 one-shot 및 few-shot learning을 수행하려면 몇 가지 기본 개념을 이해해야 합니다. 이러한 개념에는 다음과 같은 것들이 있습니다.
또한 이러한 학습을 위해 사용되는 기술에는 신경망 아키텍처의 변형 및 데이터 증강 기술이 포함됩니다.
이러한 기술들은 one-shot 및 few-shot 학습을 수행하는 데 매우 중요합니다. 이러한 학습 방법은 현실 세계에서 실용적인 응용 분야에서 매우 유용합니다. 예를 들어, 군대나 의료 분야에서 적은 수의 샘플 이미지를 사용하여 새로운 클래스를 식별하는 것이 중요할 수 있습니다.
자연어 처리에서 제로샷 학습(Zero-shot learning)이란, 라벨링 되지 않은 새로운 클래스에 대한 분류 작업을 수행할 때, 이전에 학습된 모델을 사용하여 분류하는 기술입니다.
기존의 지도 학습에서는 학습 데이터에 포함된 클래스에 대해서만 분류 작업을 수행할 수 있습니다. 하지만 제로샷 학습은 이전에 학습된 모델을 사용하여 학습 데이터에 없는 새로운 클래스를 인식하고 분류할 수 있습니다. 이를 위해서는 새로운 클래스에 대한 설명 정보를 입력으로 주어야 합니다.
예를 들어, '강아지', '고양이', '토끼' 등의 동물 분류 모델이 있다고 가정해보겠습니다. 이 모델이 '사자'라는 클래스에 대해서는 학습되지 않았지만, '사자'라는 동물의 특징을 설명하는 텍스트 정보를 입력하면, 모델은 이를 이용하여 '사자'를 분류할 수 있습니다.
제로샷 학습은 일반적으로 큰 양의 라벨링된 데이터가 없는 상황에서 유용하게 사용됩니다. 예를 들어, 특정 산업 분야나 문제에 대한 전문 지식이 필요한 경우, 이전에 학습된 모델을 사용하여 새로운 문제를 해결하는 데 도움을 줄 수 있습니다.
Reference
- ChatGPT
- Wikipedia - One-shot learning (computer vision)
- A Guide to One-Shot Learning
- Wikipedia - Few-shot learning (natural language processing)
- Wikipedia - Zero-shot learning
- Hugging Face - Zero-Shot Classification
- Papers with Code - Zero-Shot Learning
- Wikipedia - Meta-learning (computer science)
- Wikipedia - Siamese neural network
google translation도 Zero-Shot Learning을 이용했다고 알고 있습니다 :)