꾸준하고 즐겁게
Fine Tuning 본문
728x90
Fine Tuning
Fine Tuning은 Transfer Learning 이후 다시 한 번 학습을 시키는 것이다.
Fine tuning의 목표는 잘 만들어진 모델의 일부분만 우리가 만들 새로운 모델에 차용하는 것이다.
모델의 전체를 Fine tuning하는 것이 아니다.
Fine tuning에 앞서 Transfer Learning을 해주어야한다.
이미 학습이 되어있는 모델을 pre-trained model이라고 하고, 그걸 가지고 학습을 시키면 Fine tuning이다.
이전에 Transfer Learning을 하면서 weights를 변경할 수 없게 설정해두었는데,
위 코드의 1번째 줄에서 변경이 가능하도록 만들었다.
2번째 줄에서 베이스 모델의 얼마 만큼부터 학습을 시킬지 수치를 정해 변수에 저장해뒀다.
3, 4번째 줄에서는 반복문을 통해 다시 100개의 베이스 모델 레이어만 학습할 수 없게 했다.
베이스 모델의 남은 레이어만 weights가 변경될 수 있게 만든 것이다.
정리하면, 베이스 모델의 일부 레이어만 weights 값이 변경될 수 있게 했고, 헤드 모델은 Transfer Learning에서 그랬듯 우리가 필요에 맞게 레이어를 만들어주면 된다.
수학공식을 이해하기는 어렵지만, 이 과정을 거치면 조금 더 똑똑한 인공지능을 만들 수 있다고 한다.
728x90
'Machine Learning' 카테고리의 다른 글
Transfer Learning (0) | 2021.05.03 |
---|---|
Keras의 ImageDataGenerator 클래스 (0) | 2021.05.03 |
Keras의 ModelCheckpoint (0) | 2021.04.30 |
Keras 라이브러리를 활용해 작성한 사용자 정의 Callback 함수 (0) | 2021.04.30 |
Learning Curve를 통해 Overfitting 확인하기 (0) | 2021.04.30 |