퓨샷 러닝

IT 위키


Few-shot Learning

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

기존 학습 방법의 문제점[편집 | 원본 편집]

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

개요[편집 | 원본 편집]

데이터셋 구성[편집 | 원본 편집]

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

러닝 태스크[편집 | 원본 편집]

N-way K-shot 문제
  • N은 범주의 수
  • K는 범주별 서포트 데이터의 수
    • K가 많을수록 이 범주에 해당하는 데이터를 예측하는 모델의 성능(추론 정확도) 항샹
  • 퓨샷 러닝은 이 K가 매우 작은 상황에서의 모델 학습
  • 예제
    • 고양이 사진 하나를 보여주고, 동물들 중에서 고양이를 분류해 내도록 함 = 1-Way 1-Shot
    • 고양이, 호랑이 사진을 하나씩 보여주고, 동물들 중에서 고양이, 호랑이를 분류해 내도록 함 = 2-Way 1-Shot
    • 고양이, 호랑이, 사자 사진을 두개씩 보여주고, 동물들 중에서 고양이, 호랑이, 사자를 분류해 내도록 함 = 3-Way, 2-Shot

학습 방안[편집 | 원본 편집]

방안 설명
전이 학습

(파인 튜닝)

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

전이 학습[편집 | 원본 편집]

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

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

메타 러닝[편집 | 원본 편집]

  • Learn to learn
  • 학습 방법을 학습함으로써 인간과 유사한 메타 인지를 표방
  • 학습과정에서 접하지 않았던 데이터에 대해 Few-shot example로도 일반화하여 결과 도출

관련 논문[편집 | 원본 편집]

  • 거리 학습 기반 방식
    • 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)처럼 유료로 데이터에 주석을 달아주는 서비스를 이용