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
- [data augmentation 관련 링크]
- 데이터를 왜곡 또는 변형시켜서 데이터셋의 크기를 증가시키는 방법
Quadrant 4: 크기가 작지만 유사성은 높은 데이터셋일 때
- 사전 학습 모델의 마지막 부분, classifier만 삭제하고 기존의 convolutional base는 feature extraction로써 사용
- 추출된 특징을 새 classifier에 넣어서 분류할 수 있도록 학습(전략3)
- 새로운 classifier만 학습시키는 것
Convolutional Base: 이미지로부터 특징을 추출하는 부분
Classifier: 추출된 특징을 입력받아서 최종적으로 이미지의 카테고리를 결정하는 부분
References
728x90
반응형
'Machine Learning > CNN' 카테고리의 다른 글
[Machine Learning] DenseNet (0) | 2021.03.08 |
---|---|
[Machine Learning] FPN (Feature Pyramid Network) (0) | 2021.03.08 |
[Machine Learning] ResNet(Residual Network) (0) | 2021.03.05 |
[Machine Learning] GoogleNet (Inception V4) (0) | 2021.03.05 |
[Machine Learning] VGGNet (0) | 2021.03.05 |