AI 기초
Few-Shot Learning이란 무엇인가?
Few-Shot Learning은 매우 적은 양의 훈련 데이터를 사용하여 AI 모델을 개발하는 알고리즘과 기술의 모음입니다. Few-Shot Learning은 비교적 적은 훈련 인스턴스에 노출된 후 새로운 데이터를 인식하고 분류할 수 있는 AI 모델을 만들기 위해 노력합니다. Few-Shot 훈련은 일반적으로大量의 훈련 데이터를 사용하는 전통적인 기계 학습 모델 훈련 방법과 대조됩니다. Few-Shot Learning은 주로 컴퓨터 비전에서 사용됩니다.
Few-Shot Learning에 대한 더好的 이해를 얻으려면, 이 개념을 더 자세히 살펴보겠습니다. Few-Shot Learning의 동기와 개념을 살펴보고, Few-Shot Learning의 다양한 유형을 살펴보고, Few-Shot Learning에서 사용되는 모델을 높은 수준에서 다루겠습니다. 마지막으로, Few-Shot Learning의 몇 가지 응용 프로그램을 살펴보겠습니다.
Few-Shot Learning이란 무엇인가?
“Few-Shot Learning”은 최소한의 데이터로 기계 학습 모델을 훈련하는 것을 의미합니다. 일반적으로 기계 학습 모델은大量의 데이터로 훈련됩니다. 그러나 Few-Shot Learning은 몇 가지 이유로 중요한 기계 학습 개념입니다.
Few-Shot Learning을 사용하는 한 가지 이유는 훈련에 필요한 데이터 양을 크게 줄일 수 있으며, 이는大量의 데이터셋을 레이블링하는 시간을 줄일 수 있습니다. 또한 Few-Shot Learning은 다양한 작업에 대한 특정 기능을 추가할 필요가 없습니다. Few-Shot Learning은 모델을 더 강력하고 적은 데이터로 객체를 인식할 수 있도록 만들 수 있습니다. 이는 더 일반적인 모델을 만들 수 있으며, 현재의 특화된 모델과는 대조됩니다.
Few-Shot Learning은 주로 컴퓨터 비전 분야에서 사용됩니다. 컴퓨터 비전 문제의 특성상大量의 데이터 또는 유연한 모델이 필요하기 때문입니다.
하위 카테고리
“Few-Shot” Learning은 실제로 매우 적은 훈련 예제를 사용하는 학습의 한 유형입니다. 몇 가지 훈련 예제만 사용하기 때문에, Few-Shot Learning의 하위 카테고리도 있습니다. “One-Shot” Learning은 객체를 하나의 이미지로만 학습하는 모델 훈련의 또 다른 유형입니다. One-Shot Learning과 Few-Shot Learning의 일반적인 전략은 동일합니다. Few-Shot Learning이라는 용어가 매우 적은 데이터로 모델을 훈련하는 모든 상황을 설명하는 포괄적인 용어로 사용될 수 있음을 주목하세요.
Few-Shot Learning 접근법
대부분의 Few-Shot Learning 접근법은 세 가지 카테고리 중 하나에 속합니다: 데이터 수준 접근법, 매개변수 수준 접근법, 및 메트릭 기반 접근법.
데이터 수준 접근법
데이터 수준 접근법은 매우 간단한 개념입니다. 모델을 훈련하기 위해 충분한 훈련 데이터가 없을 때, 더 많은 훈련 데이터를 얻을 수 있습니다. 데이터 과학자는 훈련 데이터를 늘리기 위해 다양한 기술을 사용할 수 있습니다.
유사한 훈련 데이터는 대상 데이터를 지원할 수 있습니다. 예를 들어, 특정 종류의 개를 인식하는 분류기를 훈련하는 경우, 해당 종류의 이미지가 충분하지 않은 경우, 다른 종류의 개의 이미지를 포함하여 분류기가 일반적인 개의 특징을 결정할 수 있습니다.
데이터 증강을 통해 분류기에 더 많은 훈련 데이터를 생성할 수 있습니다. 이는 기존의 훈련 데이터에 변환을 적용하는 것을 의미합니다. 예를 들어, 기존의 이미지를 회전하여 분류기가 다양한 각도에서 이미지를 볼 수 있습니다. GAN을 사용하여 실제 훈련 데이터의 몇 가지 예제에서 새로운 훈련 예제를 생성할 수도 있습니다.
매개변수 수준 접근법
메타 학습
메타 학습은 Few-Shot Learning의 매개변수 수준 접근법 중 하나입니다. 메타 학습은 모델이 어떻게 학습할 수 있는지 가르치는 것입니다. 이는 모델의 매개변수 공간을 탐색하는 방법을 만드는 것을 의미합니다.
메타 학습은 두 가지 모델을 사용합니다: 교사 모델과 학생 모델. 교사 모델은 매개변수 공간을 캡슐화하는 방법을 학습합니다. 학생 모델은 실제 데이터를 인식하고 분류하는 방법을 학습합니다. 즉, 교사 모델은 모델을 최적화하는 방법을 학습하며, 학생 모델은 분류하는 방법을 학습합니다. 교사 모델의 출력은 학생 모델을 훈련하는 데 사용됩니다. 학생 모델은 높은 차원ality의 매개변수 공간을 탐색하는 방법을 배우게 됩니다.
Few-Shot Learning 모델의 주요 문제 중 하나는 훈련 데이터에 과적합할 수 있다는 것입니다. 이는 높은 차원ality의 공간에서 발생합니다. 매개변수 공간을 제한하면 이 문제를 해결할 수 있습니다. 이는 정규화 기술을 적용하거나 적절한 손실 함수를 선택하여 수행할 수 있습니다. 그러나 교사 알고리즘을 사용하면 Few-Shot 모델의 성능을 크게 향상시킬 수 있습니다.
Few-Shot Learning 분류기 모델(학생 모델)은 제공된 적은 양의 훈련 데이터를 기반으로 일반화하려고 시도합니다. 교사 모델이 제공하는 지침으로 인해 정확도가 향상될 수 있습니다. 이 일반적인 아키텍처는 “그라데이션 기반” 메타 학습자로 알려져 있습니다.
그라데이션 기반 메타 학습자의 전체 훈련 과정은 다음과 같습니다:
- 기본 학습자(교사) 모델을 생성합니다.
- 기본 학습자 모델을 지원 집합에 훈련합니다.
- 기본 학습자가 쿼리 집합에 대한 예측을 반환합니다.
- 메타 학습자(학생)를 분류 오류에서 파생된 손실로 훈련합니다.
메타 학습의 변형
모델-에이전트 메타 학습은 기본 그라데이션 기반 메타 학습 기술을增强하는 방법입니다.
그라데이션 기반 메타 학습자는 교사 모델에서 얻은 이전 경험을 사용하여 자체를 미세 조정하고, 적은 양의 훈련 데이터에 대한 더 정확한 예측을 제공합니다. 그러나 랜덤하게 초기화된 매개변수에서 시작하면 모델이 여전히 데이터에 과적합할 수 있습니다. 이를 피하기 위해, “모델-에이전트” 메타 학습자는 교사 모델/기본 모델의 영향력을 제한합니다. 즉, 학생 모델은 교사 모델의 예측에 대한 손실로 직접 훈련되지 않습니다. 대신, 학생 모델은 자체 예측에 대한 손실로 훈련됩니다.
모델-에이전트 메타 학습자의 훈련 에피소드마다:
- 현재 메타 학습자 모델의 복사본을 생성합니다.
- 복사본을 기본 모델/교사 모델의 도움으로 훈련합니다.
- 복사본이 훈련 데이터에 대한 예측을 반환합니다.
- 계산된 손실을 사용하여 메타 학습자를 업데이트합니다.
메트릭 학습
메트릭 학습 접근법은 기본적으로 거리 메트릭을 사용하여 데이터셋의 샘플을 비교합니다. 메트릭 학습 알고리즘은 쿼리 샘플을 지원 샘플과 비교하여 분류합니다. 이미지 분류기의 경우, 이는 이미지의 표면적인 특징을 기반으로 분류하는 것을 의미합니다. 지원 집합의 이미지를 선택하여 임베딩 벡터로 변환한 다음, 쿼리 집합도 동일한 방식으로 변환하여 두 벡터의 값을 비교합니다. 분류기는 쿼리 집합과 가장 가까운 값을 가진 클래스를 선택합니다.
보다 고급 메트릭 기반 솔루션은 “원형 네트워크”입니다. 원형 네트워크는 클러스터링 모델과 메트릭 기반 분류를 결합하여 데이터 포인트를 클러스터링합니다. K-평균 클러스터링과 유사하게, 지원 집합과 쿼리 집합의 클래스에 대한 중심을 계산합니다.然后, 유클리드 거리 메트릭을 적용하여 쿼리 집합과 지원 집합의 중심之间의 거리를 결정하고, 쿼리 집합을 가장 가까운 지원 집합 클래스에 할당합니다.
대부분의 다른 Few-Shot Learning 접근법은 위에서 다룬 핵심 기술의 변형입니다.
Few-Shot Learning의 응용 프로그램
Few-Shot Learning은 컴퓨터 비전, 자연어 처리, 로봇공학, 의료, 신호 처리 등 다양한 데이터 과학의 하위 분야에서 응용 프로그램을 가지고 있습니다.
Few-Shot Learning의 컴퓨터 비전 응용 프로그램에는 효율적인 문자 인식, 이미지 분류, 객체 인식, 객체 추적, 동작 예측, 및 동작 위치 지정이 포함됩니다. Few-Shot Learning의 자연어 처리 응용 프로그램에는 번역, 문장 완성, 사용자 의도 분류, 감정 분석, 및 다중 레이블 텍스트 분류가 포함됩니다. 로봇공학 분야에서는 Few-Shot Learning을 사용하여 로봇이 몇 가지 시연을 통해 작업을 학습할 수 있습니다. Few-Shot Learning은 AI 의료 분야의 새로운 분야인 약물 발견에도 사용됩니다. 마지막으로, Few-Shot Learning은 음성 데이터를 분석하여 AI 시스템이 사용자 샘플을 기반으로 음성을 복제하거나 사용자 간의 음성 변환을 수행하는 음성 신호 처리에 응용 프로그램을 가지고 있습니다.












