Machine Learning/CNN

[Machine Learning] Transfer Learning with CNNs

데이터 세상 2021. 3. 5. 16:57
728x90
반응형

Transfer Learning

  • 기존에 만들어진 모델을 사용하여 새로운 모델을 만들 시 학습을 빠르게 하며, 예측을 높이는 방법
  • dataset에서 학습을 시키면 overfitting이 일어날 가능성이 많아짐으로 많은 dataset에서 학습을 시킨 일부의 layer들을 가져와서 적은 dataset에 적용
  • 모든 데이터셋으로 학습을 시키면 초반 layer에서는 generality한 파라미터들이 나오고 후반 layer에서는 specificity 한 파라미터들이 나옴
  • Transfer learning은 초반 layer에서 나오는 generality한 파라미터를 이용하는 것

 

Transfer Learning 이점

  • 복잡한 모델일수록 학습시키기 어려운 것을 해결할 수 있음
  • 학습시간이 단축됨

Fine-Tuning 전략

1. 전체 모델을 새로 학습

  • 사전학습 모델의 구조만 사용
  • 데이터셋에 맞게 전부 새로 학습시키는 방법
  • 큰 사이즈의 데이터셋이 필요

2. Convolutional base의 일부분은 고정시킨 상태로, 나머지 layer와 classifier를 새로 학습

  • 낮은 레벨의 layer는 일반적인 특징을 추출하고, 높은 레벨의 layer은 구체적이고 특유한 특징을 추출
  • 데이터셋이 작고 모델의 파라미터가 많다면, 오버피팅 예방을 위해 더 많은 layer를 고정
  • 데이터셋이 크고 모델의 파라미터가 적다면, 더 많은 layer를 학습

3. Convolutional Base는 고정시키고, classifier만 새로 학습

  • 컴퓨팅 연산 능력이 부족하거나 데이터셋이 너무 작을 때
  • 사전학습모델과 데이터셋의 유사성이 높을 때

 

Transfer Learning 과정

  • 이미 잘 훈련된 모델이 있는 경우 Transfer Learning을 적용
  • 데이터의 도메인에 따라 조금씩 방법이 다름

사전 학습 모델 선택

  • 다양한 사전학습 모델 중 모델링 목적에 접합한 모델 선택

데이터 크기-유사성 그래프에서 데이터 속성 확인

  • 데이터 크기와 데이터 간의 유사성을 기반으로 네 가지 상황 구분
  • 작은 데이터셋의 크기는 1000개 이하의 데이터셋 정도를 의미할 수 있음

모델 Fine-Tuning

Quadrant 1: 크기가 크고 유사성이 작은 데이터 셋일 때

  • 데이터셋의 크기가 크므로, 모델을 다시 처음부터 원하는대로 완전히 다시 학습(전략1)
  • 유사성이 거의 없는 데이터로 새로 학습을 시켜야 한다 해도 사전 학습 모델의 구조와 파라미터들을 가지고 시작할 수 있기 때문에 유용

Quadrant 2: 크기가 크고 유사성도 높은 데이터셋일 때

  • classifier와 convolution base의 high level layer(뒷단의 계층) 일부만 학습시켜도 충분(전략2)

Quadrant 3: 크기가 작고 유사성도 작은 데이터셋일 때

  • Quadrant 2의 상황보다 더 깊은 layer까지 새로 학습 시킬 필요가 있음
  • 작은 크기의 데이터셋을 보완하기 위해 data augmentation을 고려해야 할 수도 있음

※ Data Augementation

Quadrant 4: 크기가 작지만 유사성은 높은 데이터셋일 때

  • 사전 학습 모델의 마지막 부분, classifier만 삭제하고 기존의 convolutional base는 feature extraction로써 사용
  • 추출된 특징을 새 classifier에 넣어서 분류할 수 있도록 학습(전략3)
  • 새로운 classifier만 학습시키는 것

Convolutional Base: 이미지로부터 특징을 추출하는 부분

Classifier: 추출된 특징을 입력받아서 최종적으로 이미지의 카테고리를 결정하는 부분

 


References

728x90
반응형