sailorCat
카테고리
작성일
2022. 3. 27. 17:12
작성자
sailorCat
728x90

전이학습 Transfer Learning

 

AI 모델을 만들 때 데이터의 양이 중요하지만 일부 기업 외에는 충분한 양질의 데이터를 구하기가 쉽지 않다.

또한 모델 학습시에 필요한 GPU, CPU, 메모리와 같은 자원과 컴퓨팅 파워에도 한계가 있다.

 

이런 경우에, 기존에 학습된 모델을 전이하여 발전시킬 수 있게 된다.

 

사전학습모델을 가져와서 새로운 테스트 데이터에 적용해도 성능을 유지할 수 있다.

딥러닝은 대부분 전이학습의 과정을 거친다.

 

 

 

전이학습의 유형

 

feature extractor만 가져와서 새로운 분류기와 결합한다.

이 과정에서 feature extractor의 일부분을 새롭게 훈련시켜서 적용한다.

 

 

 

 

태스크가 거의 비슷하다면 사전학습 모델을 그대로 사용하는 경우도 있다.

개와 고양이를 분류하는 문제에서 어벤저스 캐릭터 분류문제로 전이한다면 분류기에서 분류의 종류만 다르기 때문에 동일하게 적용될 것이다.

 

 

 

 

 

Feature Layer에서 부분적으로 훈련을 다시 시켜야 하는 전이학습도 있다.

일부분을 재학습 시켜서 얼굴의 세부 부분을 알아낼 수 있게 한다.

 

 

 

 

문제가 많이 다른 경우 Feature Layer부터 미세조정 fine tuning 을 해서 전체를 바꿔야 한다.

하지만 이 경우에도 전이학습을 통해서 시작점의 가중치를 활용할 수 있기 때문에 좋다.

미세조정이기 때문에 전체 가중치값을 조절하는 것이 새롭게 만드는 학습보다 전이학습을 사용하는 것이 좋다.

 

 

 

it 위키

업스트림(upstream) 태스크 : 먼저 이루어진 학습
다운스트림(downstream) 태스크 : 모델이 전이되어 이루어지는 학습
프리트레인(pretrain) : 업스트림 태스크를 학습하는 과정
파인튜닝(finetuning) : 다운스트림 태스크를 학습하는 과정
제로샷 러닝(zero-shot learning), 원샷 러닝(one-shot learning), 퓨샷 러닝(few-shot learning) 등으로도 불림

728x90