전이 학습(Transfer Learning)
전이 학습이란? 하나의 작업을 위해 훈련된 모델을 유사 작업 수행 모델의 시작점으로 활용하는 딥러닝 접근법이다.
사전 학습 모델은 ImageNet과 같은 대량의 데이터셋으로 이미 학습이 되어있는 모델을 사용한다.
실습
fashion mnist 모델을 사전학습된 VGG16 모델을 사용하여 평가해보자.
VGG16은 16개 층으로 이루어진 VGGNet을 의미한다. VGGNet은 옥스포드 대학의 연구팀 VGG에 의해 개발된 모델로써, 2014년 이미지넷 이미지 인식 대회에서 준우승한 모델이다.(VGG16, VGG19가 존재한다.)
Applications - Keras Documentation
실습으로 VGG16의 모델을 가져와 Fashion MNIST 모델을 분류하여 보자.
Fashion MNIST 데이터 불러오기
데이터 전처리
VGG16 모델 불러오기
VGG16 모델의 연산층을 제외한 다섯개의 블록층(conv layers)만 가져온다.
끝단의 연산층이 사라진 것을 확인할 수 있다.
이제 인풋층을 Fashion mnist 데이터와 알맞게 (32, 32, 3) 구조로 바꿔보자.
여기서 이제 Fashion mnist에 알맞는 연산층(fully connected layer)을 우리가 덧붙힌다.
activation 함수는 sigmoid 함수와 softmax 함수를 사용하였다. loss function, optimizer 등을 fashion mnist 데이터에 알맞게 튜닝하였다.
전이 학습이 완료된 모델의 summary이다.
모델 학습 및 평가
결과적으로 전이 학습 결과, 이전의 자체 CNN 모델보다 정확성이 높게 나왔다.
5 epoch에 85.33%의 정확성을 보였다.
'플레이데이터 빅데이터 부트캠프 12기 > 머신러닝 & 딥러닝' 카테고리의 다른 글
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 RNN, LSTM (0) | 2022.08.11 |
---|---|
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Teachable Machine (0) | 2022.08.10 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 CNN (0) | 2022.08.10 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝 Deep Learning 개요(2) (0) | 2022.08.09 |
[플레이데이터 빅데이터 부트캠프]머신러닝 & 딥러닝Tensorflow(2) (0) | 2022.08.09 |