퓨샷 러닝: Difference between revisions

From CS Wiki
No edit summary
No edit summary
Line 11: Line 11:
*학습을 위한 대량의 컴퓨팅 리소스 필요
*학습을 위한 대량의 컴퓨팅 리소스 필요


==학습 방법==
==개요==
===데이터셋 구성===
===데이터셋 구성===


Line 24: Line 24:
*K는 범주별 서포트 데이터의 수
*K는 범주별 서포트 데이터의 수
**K가 많을수록 이 범주에 해당하는 데이터를 예측하는 모델의 성능(추론 정확도) 항샹
**K가 많을수록 이 범주에 해당하는 데이터를 예측하는 모델의 성능(추론 정확도) 항샹
**퓨샷 러닝은 이 K가 매우 작은 상황에서의 모델 학습
*'''퓨샷 러닝은 이 K가 매우 작은 상황에서의 모델 학습'''
**K가 1인 경우 [[원샷 러닝]]
**K가 0인 경우 [[제로샷 러닝]]


;퓨샷 러닝 모델의 성능은 N과 반비례하며 K와는 비례하는 관계
==학습 방안==
 
===학습 방안===
{| class="wikitable"
{| class="wikitable"
!방안
!방안
Line 36: Line 36:
(파인 튜닝)
(파인 튜닝)
|
|
* 기존에 비슷한 부류의 학습모델이 있는 경우 그 학습모델을 이용
*기존에 비슷한 부류의 학습모델이 있는 경우 그 학습모델을 이용
* 기존 모델에 소량의 학습 데이터를 이용해 망을 미세하게 튜닝
*기존 모델에 소량의 학습 데이터를 이용해 망을 미세하게 튜닝
|-
|-
|[[메타 러닝]]
|[[메타 러닝]]
|
|
* 학습에 필요한 변수, [[하이퍼파라미터]]를 자동으로 학습 및 최적화
*학습에 필요한 변수, [[하이퍼파라미터]]를 자동으로 학습 및 최적화
* 전이 학습의 파인 튜닝 과정의 효율을 극대화
*전이 학습의 파인 튜닝 과정의 효율을 극대화
|-
|-
|거리 학습
|거리 학습
|
|
* 고차원 학습 데이터의 특징을 잘 표현할 수 있는 저차원 공간으로 학습 데이터를 변환
*고차원 학습 데이터의 특징을 잘 표현할 수 있는 저차원 공간으로 학습 데이터를 변환
* 부류들 간의 유사도 차이를 측정할 수 있는 수단을 이용해 분류
*부류들 간의 유사도 차이를 측정할 수 있는 수단을 이용해 분류
|-
|-
|[[액티브 러닝]]
|[[액티브 러닝]]
|
|
* 라벨링된 데이터가 적은 경우 반 자동화된 라벨링  
*라벨링된 데이터가 적은 경우 반 자동화된 라벨링
* 소수의 학습 데이터로 학습 후 자동 라벨링을 수행, 잘못 라벨링된 데이터만 사람이 정정하며 학습데이터 확보
*소수의 학습 데이터로 학습 후 자동 라벨링을 수행, 잘못 라벨링된 데이터만 사람이 정정하며 학습데이터 확보
|-
|-
|생성 모델 활용
|생성 모델 활용
|
|
* 소수의 학습 데이터에 [[GAN]]과 같은 생성모델을 사용해 유사 데이터 확보  
*소수의 학습 데이터에 [[GAN]]과 같은 생성모델을 사용해 유사 데이터 확보
|}
|}


== 관련 논문 ==
=== [[전이 학습]] ===
'''Few-shot task를 해결하고자 제안됨'''
 
* 사전 학습된 신경망을 이용하며, Test phase에서 Few-shot example들을 이용해 파인 튜닝
* '''한계점'''
** 파인 튜닝 과정에서 여전히 많은 데이터 및 시간이 소모됨
** 너무 작은 수의 Few-shot example에서의 [[과적합 문제]] 발생
 
=== 메타 러닝 ===
 
* Learn to learn
* 학습 방법을 학습함으로써 인간과 유사한 [[메타 인지]]를 표방
 
==관련 논문==


*거리 학습 기반 방식
*거리 학습 기반 방식
Line 82: Line 95:
*[https://www.sedaily.com/NewsView/1VHPK6NWWG 소량의 데이터로 학습하는 퓨샷러닝]
*[https://www.sedaily.com/NewsView/1VHPK6NWWG 소량의 데이터로 학습하는 퓨샷러닝]


== 각주 ==
==각주==
<references />
<references />

Revision as of 18:54, 6 May 2021


Few-shot Learning

대량의 학습 데이터가 없는 상태에서 소량의 데이터만으로 효과적으로 학습하는데 주안점을 둔 학습 방식

기존 학습 방법의 문제점

  • 방대한 데이터 필요
  • 방대한 데이터의 라벨링 작업 필요[1]
  • 학습을 위한 대량의 컴퓨팅 리소스 필요

개요

데이터셋 구성

  • 서포트 데이터(support data): 훈련에 사용
  • 쿼리 데이터(query data): 테스트에 사용

러닝 태스크

N-way K-shot 문제
  • N은 범주의 수
  • K는 범주별 서포트 데이터의 수
    • K가 많을수록 이 범주에 해당하는 데이터를 예측하는 모델의 성능(추론 정확도) 항샹
  • 퓨샷 러닝은 이 K가 매우 작은 상황에서의 모델 학습

학습 방안

방안 설명
전이 학습

(파인 튜닝)

  • 기존에 비슷한 부류의 학습모델이 있는 경우 그 학습모델을 이용
  • 기존 모델에 소량의 학습 데이터를 이용해 망을 미세하게 튜닝
메타 러닝
  • 학습에 필요한 변수, 하이퍼파라미터를 자동으로 학습 및 최적화
  • 전이 학습의 파인 튜닝 과정의 효율을 극대화
거리 학습
  • 고차원 학습 데이터의 특징을 잘 표현할 수 있는 저차원 공간으로 학습 데이터를 변환
  • 부류들 간의 유사도 차이를 측정할 수 있는 수단을 이용해 분류
액티브 러닝
  • 라벨링된 데이터가 적은 경우 반 자동화된 라벨링
  • 소수의 학습 데이터로 학습 후 자동 라벨링을 수행, 잘못 라벨링된 데이터만 사람이 정정하며 학습데이터 확보
생성 모델 활용
  • 소수의 학습 데이터에 GAN과 같은 생성모델을 사용해 유사 데이터 확보

전이 학습

Few-shot task를 해결하고자 제안됨

  • 사전 학습된 신경망을 이용하며, Test phase에서 Few-shot example들을 이용해 파인 튜닝
  • 한계점
    • 파인 튜닝 과정에서 여전히 많은 데이터 및 시간이 소모됨
    • 너무 작은 수의 Few-shot example에서의 과적합 문제 발생

메타 러닝

  • Learn to learn
  • 학습 방법을 학습함으로써 인간과 유사한 메타 인지를 표방

관련 논문

  • 거리 학습 기반 방식
    • Siamese Neural network for one-shot image recognition
    • Matching networks for one-shot learning
    • Prototypical networks for few-shot learning
    • Learning to compare : relation network for few-shot learning
  • 그래프 신경망 방식
    • Few-shot learning with graph neural networks
    • Transductive propagation network for few-shot learning (TPN)

같이 보기

참고 문헌

각주

  1. 지도학습의 경우 데이터가 있더라도 데이터 라벨링에 상당한 시간과 인력이 필요. 자체적으로 수행할 환경이 안 되는 경우 아마존의 메커니컬터크(Mechanical Turk)처럼 유료로 데이터에 주석을 달아주는 서비스를 이용