think deeply

트랜스퍼 러닝 transfer learning (feat. 업스트림 태스크 vs 다운스트림 태스크) 본문

rainbow/자연어처리

트랜스퍼 러닝 transfer learning (feat. 업스트림 태스크 vs 다운스트림 태스크)

윌_ 2023. 3. 4. 10:26
개념

특정 태스크를 학습한 모델을 다른 태스크 수행에 재사용 하는 기법.

쉽게, 한 분야의 문제를 해결하기 위해서 얻은 지식과 정보를 다른 문제를 푸는데 사용하는 방식을 의미한다.

 

아무 지식없이 처음부터 학습하는 것보다 익힌 것을 활용한다면 학습 속도가 더 빠른 것과 같다.


예시

자연어에서 예로 들기엔 설명이 복잡하여 하나의 포스팅으로 빼고 링크를 걸어두겠다. 

https://brunch.co.kr/@geumjaelee/4

 

자연어의 피처와 전처리

Feature and Preprocessing  for NLP | 1. 오늘의 주제 * 왜 한국어의 자연어처리가 어려운가? * 왜 자연어처리의 개념을 잡기가 어려운가? * Feature와 Label, Data는 무슨 관계인가? * Feature란 무엇인가? * 자

brunch.co.kr

 

 

이미지 분류 를 예로 들어보자.

 

'이미지 분류' 문제를 해결하는데 사용했던 뉴럴 네트워크를 다른 문제, 데이터셋에 적용시켜 푸는 것을 의미한다.

전이학습을 수행하지 않은 모델들보다 당연히 빠르고 높은 정확도를 달성할 수 있다.

 

ImageNet과 같은 대량의 데이터셋으로 이미 학습한 모델은

양한 이미지의 보편적인 특징 혹은 feature들을 학습했기 때문.


업스트림 태스크 vs 다운스트림 태스크

 

업스트림 태스크 (다음 단어 맞추기 :: GPT 계열, 빈칸 채우기 :: BERT 계열)
  • 자연어의 다양한 문맥을 내재화한 모델, 이것을 향후 다양한 다운스트림 태스크에 활용함
  • 업스트림 태스크 학습하는 과정을 프리트레인(pretrain)이라고 함
  • 예시 : 
    • 다음 단어 맞추기
      • '트렌드 코리아' 다음에 올 단어 맞추기
      • 대규모 코퍼스(말뭉치) 내에 '트렌드 코리아 2023'이라는 가 많다면 다음에 올 단어로 '2023'로 분류하도록 학습
      • 이전 문맥을 고려할 수 있는 다음 단어 맞히기로 업스트림 태스크 수행한 모델 → 언어모델(language model)
    • 빈칸 채우기
      • '트렌드 ____  2023' 사이에 올 단어 맞추기
      • 해당 업스트림 태스크도 동일하게 '트렌드 코리아 2023'라는 가 많다면 사이에 올 단어로 '코리아'로 분류하도록 학습
      • 앞뒤 문맥을 고려할 수 있는 빈칸채우기로 업스트림 태스크를 수행한 모델 마스크 언어모델(masked language model)
  • 웹 문서와 같이 사람이 하나하나 레이블링을 해주지 않아도 되는 데이터를 대량으로 모아 학습 테스크로 활용하였기에, 저렴하게 데이터를 구할 수 있다는 장점이 있고, 이로써 업스트림 태스크 성능이 월등히 좋아졌다고 한다.

다운스트림 태스크 ( 문서 분류, 자연어 추론, 개체명 인식, 질의응답, 문장 생성 등 )
  • 프리트레인을 마친 모델에 태스크 모듈만 덧붙인 형태로 구체적으로 풀고자 하는 문제를 의미한다.
  • 프리트레인 마친 모델을 가지고 다운스트림 태스크를 학습하는 방식은 다양하다. 

참고

 

https://dacon.io/forum/405988

 

전이학습(Transfer Learning)이란?

 

dacon.io

https://dacon.io/codeshare/4438?dtype=recent 

 

소규모 데이터셋으로 심층신경망 학습하기 (feat.Keras) [1탄]

 

dacon.io

 

Do it! BERT와 GPT로 배우는 자연어 처리트랜스포머 핵심 원리와 허깅페이스 패키지 활용법

Comments