459
11
장
심층 신경망 훈련하기
이 가이드라인에도 몇 가지 예외적인 경우가 있습니다.
•
희소 모델이 필요하다면
ℓ
1
규제를 사용할 수 있습니다 (훈련된 후 작은 가중치를
0
으로 만듭니다 ). 매우
희소한 모델이 필요하면 텐서플로 모델 최적화 툴킷
TensorFlow
Model
Optimization
Toolkit
(
TF
-
MOT
)을 사용할
수 있습니다. 이 도구는 자기 정규화를 깨뜨리므로 이 경우 기본
DNN
설정을 사용해야 합니다.
•
빠른 응답을 하는 모델(번개처럼 빨리 예측하는 모델)이 필요하면 층 개수를 줄이고 배치 정규화 층을 이
전 층에 합치세요.
LeakyReLU
나
ReLU
와 같이 빠른 활성화 함수를 사용하세요. 희소 모델을 만드는 것
도 도움이 됩니다. 마지막으로 부동소수점 정밀도를
32
비트에서
16
비트 혹은
8
비트로 낮출 수도 있습니
다(
19
.
2
절 ‘모바일 또는 임베디드 장치에 모델 배포하기’를 참고하세요). 여기에서도
TF
-
MOT
를 확인하
세요.
•
위험에 민감하고 예측 속도가 매우 중요하지 않은 애플리케이션이라면 성능을 올리고 불확실성 추정과 신
뢰할 수 있는 확률 추정을 얻기 위해
MC
드롭아웃을 사용할 수 있습니다.
가이드라인을 따라 이제 매우 깊은 신경망을 훈련할 준비가 되었습니다! 케라스만을 사용해도
많은 작업을 할 수 있다는 확신을 얻었기를 바랍니다. 하지만 언젠가 조금 더 많은 제어가 필요
할 때가 올 수 있습니다. 예를 들어 사용자 정의 손실 함수를 만들거나 훈련 알고리즘을 조정하
는 경우입니다. 이런 경우에는 ...