[혼자 공부하는 머신러닝+딥러닝] - CH.7-3 Nerual Network Model Training

Jeonghwan Kim·2022년 11월 15일
0

주요 개념

  • Drop out(드롭아웃): 은닉층에 있는 뉴런의 출력을 랜덤하게 껴서 오버피팅을 막는 기법, 드롭아웃은 훈련 중에 적용되며 평가나 예측에서는 적용하지 않음

  • Call back (콜백): 케라스 모델을 훈련하는 도중 어떤 작업을 수행할 수 있도록 도와주는 도구, 최상의 모델을 자동으로 저장해주거나 검증 점수가 더이상 향상되지 않으면 일찍 종료할 수 있음

  • Early Stopping (조기 종료): 검증 점수가 더이상 감소하지 않고 상승하여 오버피팅이 일어나면 훈련을 계속 진행하지 않고 멈추는 기법, 계산 비용과 시간을 절약할 수 있음

  • 훈련과정에서 층에 있는 일부 뉴런을 랜덤하게 꺼서 오버피팅을 막는 Dropout 사용

  • 콜백(Callback): 훈련 과정 중간에 어떤 작업을 수행할 수 있게 하는 객체
    • 모델이 훈련한 후 best-model.h5에 최상의 검증 점수를 낸 모델이 저장됨

  • EarlyStopping 콜백을 ModelCheckpoint 콜백과 함께 사용해 가장 낮은 검증 손실의 모델을 파일에 저장하고 검증 손실이 다시 상승할 때 훈련을 중지함, 훈련을 중지하고 현재 모델의 파라미터를 최상의 파라미터로 되돌림
    • patience 매개변수: n번 연속으로 검증 점수가 향상되지 않으면 훈련 중지
    • resotre_best_weights = True: 가장 낮은 검증 손실을 낸 모델 파라미터로 되돌림

colab 링크: https://colab.research.google.com/drive/1hC_mwxcqzpzDVGvClDAnKor1VUgCgQ_z?usp=sharing

참고: 혼자 공부하는 머신러닝+딥러닝

0개의 댓글