계속지나가기
코딩스뮤
계속지나가기
전체 방문자
오늘
어제
  • 코딩스뮤:)
    • Algorithm
      • 백준 문제풀이
      • 프로그래머스 문제풀이
      • 알고리즘 이론
      • 자료구조
      • SW Expert Academy
    • 인공지능(AI)
      • LLMs
      • 자연어처리(NLP)
      • 컴퓨터비전(CV)
      • 딥러닝(DL)
      • 머신러닝(ML)
      • 인공지능기초수학
      • 선형대수학
    • 컴퓨터 세팅
    • Computer Science
      • 유닉스프로그래밍
      • 프로그래밍언어론
      • 디자인패턴
      • 클린코드
      • SW 영어
      • 리눅스
      • 논리회로
    • Server
      • Docker

블로그 메뉴

  • 홈
  • Who Am I(CV)
  • 태그

공지사항

인기 글

태그

  • LM
  • 비용함수
  • 네트워크플로우
  • 알고리즘
  • 결정경계
  • 지도학습
  • networkflow
  • 기계학습
  • 비지도학습
  • 선형회귀
  • machinelearning
  • 최대유량
  • DigitalImageProcessing
  • 손실함수
  • DIP
  • 컴퓨터비전
  • 파이썬 클린코드
  • 머신러닝
  • ComputerVision
  • 경사하강법
  • 패턴인식
  • MaximumFlow
  • f1-score
  • NLP
  • ML
  • 디지털이미지처리
  • 언어모델
  • SIFT
  • 에지검출
  • 군집화

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
계속지나가기

코딩스뮤

Few-shot Learning, 퓨샷 러닝
인공지능(AI)

Few-shot Learning, 퓨샷 러닝

2022. 8. 10. 12:15
반응형

Few-shot Learning이란?

훈련 데이터(train data)의 수가 매우 제한적인 상황에서 모델을 개발하려는 기술 혹은 알고리즘을 의미합니다. 즉, 상대적으로 적은 훈련 데이터에서도 새로운 입력 값으로 주어지는 데이터(unseen data)를 잘 인식하고 분류하고자 하는 것입니다. 매우 많은 데이터로 모델을 구축하는 전통적인 인공지능 트랜드와는 달리, 매우 적은 데이터에서도 모델을 잘 구축하는 것이 핵심이라고 할 수 있습니다.

 

등장 배경

학습 데이터가 적은 상황에서는 딥러닝 모델의 구축 자체에 어려움이 있었고, 몇 장의 사진만을 보고 직관적으로 분류할 수 있는 사람과는 달리 인공지능 모델은 적게는 수천 개, 많게는 몇 십만 개에 달하는 사진이 필요했습니다. 이에 인공지능 개발자들은 소량의 데이터(few-shot)만으로 학습해도 좋은 성능을 내는 모델을 만들고자 했습니다. 이것이 few-shot learning의 등장배경이라고 할 수 있습니다.

 

학습방법

Few shot learning의 목적은 적은 데이터로 추론(inference)이 가능하게 하는 것입니다. 이 방법으로 고안된 학습 방법이 메타 학습(Meta learning)과 전이 학습(Transfer learning)입니다

Fig1. Few-shot learning의 학습 방법

메타 학습(Meta learning)

Meta learning은 학습하는 방법을 학습합니다. 이는 여러 개의 task를 동시에 학습하고 각 task간의 차이도 학습하며 이루어집니다. 전체 학습 이후에 적은 데이터(few-shot)로도 추론할 수 있는 범용적인 모델을 생성하게 됩니다. 

$\theta$를 사전학습모델의 파라미터, $D_i^{tr}$를 i번째 task를 위한 훈련 데이터라고 할때 Meta learning의 목표는 $\theta$의 적은 업데이트만으로도 각각 task의 최적의 파라미터 $\phi$를 구할 수 있게 하는 초기 파라미터 $\theta$를 최적화(oprtimization)하는 것입니다. 즉,  새로운 테스크를 위한 최적의 초기 $\theta$를 구하는 것입니다. 이는 아래의 공식으로 표현할 수 있습니다.

$$min \ \theta \sum_{task\ i} L( \theta - \alpha \nabla_{\theta}L(\theta, D_i^{tr}), D_i^{ts})$$

 

Meta Learning에 대한 전체적인 프로세스는 아래의 Fig2.와 같습니다.

Fig2. Meta-learning

 

전이 학습(Transfer learning)

Transfer learning은 높은 정확도를 비교적 짧은 시간 내에 달성하고자 합니다. 따라서 사전학습된 모델(pre-trained model)을 가져와서 주어진 목적에 맞게 fine-tuing을 시킵니다. 

$\theta$를 사전학습모델의 파라미터, $D^{tr}$을 새로운 테스크를 위한 훈련 데이터라고 할때 Transfer learning의 목표는 새로운 테스크를 위한 최적의 $\phi$를 구하는 것입니다. 이는 아래의 공식으로 표현할 수 있습니다.

$$\phi\gets \theta - \alpha \nabla_{\theta}L(\theta, D^{tr})$$

 

Transfer Learning에 대한 전체적인 프로세스는 아래의 Fig3.와 같습니다.

Fig3. Transfer Learning

 

반응형

'인공지능(AI)' 카테고리의 다른 글

[ML] 사이킷런 클래스 SGDClassifier : 선형분류  (0) 2021.10.06
[ML] 모델 성능을 측정하는 네가지 지표  (0) 2021.06.04
[ML] 은닉 마르코프 모델 : Hidden Markov Models(HMM)  (0) 2021.03.18
    '인공지능(AI)' 카테고리의 다른 글
    • [ML] 사이킷런 클래스 SGDClassifier : 선형분류
    • [ML] 모델 성능을 측정하는 네가지 지표
    • [ML] 은닉 마르코프 모델 : Hidden Markov Models(HMM)
    계속지나가기
    계속지나가기
    NLP Engineer

    티스토리툴바