신경망 모델 훈련

Hoon82의 velog·2022년 7월 20일
0

핵심 포인트

  • 드롭아웃은 은닉층에 있는 뉴런의 출력을 랜덤하게 꺼서 과대적합을 막는 기법입니다.드롭아웃은 훈련 중에 적용되며 평가나 예측에서는 적용하지 않습니다. 텐서플로는 이를 자동으로 처리합니다.

  • 콜백은 케라스 모델을 훈련하는 도중에 어떤 작업을 수행할 수 있도록 도와주는 도구입니다.대표적으로 최상의 모델을 자동으로 저장해 주거나 검증 점수가 더 이상 향상되지 않으면 일찍 종료할 수 있습니다.

  • 조기 종료는 검증 점수가 더 이상 감소하지 않고 상승하여 과대적합이 일어나면 훈련을 계속 진행하지 않고 멈추는 기법입니다. 이렇게 하면 계산 비용과 시간을 절약할 수 있습니다.

핵심 패키지와 함수

TensorFlow

  • Dropout은 드롭아웃 층입니다.
    첫 번째 매개변수로 드롭아웃 할 비율(r)을 지정합니다. 드롭아웃 하지 않는 뉴런의 출력은 1/(1-r)만큼 증가시켜 출력의 총합이 같도록 만듭니다.

  • save_weights()는 모든 층의 가중치와 절편을 파일에 저장합니다.
    첫 번째 매개변수에 저장할 파일을 지정합니다.
    save_format 매개변수에서 저장할 파일 포맷을 지정합니다. 기본적으로 텐서플로의 Checkpoint 포맷을 사용합니다. 이 매개변수를 'h5'로 지정하거나 파일의 확장자가 '.h5'이면 HDF5 포맷으로 저장됩니다.

  • load_weights()는 모든 층의 가중치와 절편을 파일에 읽습니다.
    첫 번째 매개변수에 읽을 파일을 지정합니다.

  • save()는 모델 구조와 모든 가중치와 절편을 파일에 저장합니다.
    첫 번째 매개변수에 저장할 파일을 지정합니다.
    save_format 매개변수에서 저장할 파일 포맷을 지정합니다. 기본적으로 텐서플로의 SavedModel 포맷을 사용합니다. 이 매개변수를 'h5'로 지정하거나 파일의 확장자가 '.h5'이면 HDF5 포맷으로 저장됩니다.

  • load_model()은 model.save()로 저장된 모델을 로드합니다.
    첫 번째 매개변수에 읽을 파일을 지정합니다.

  • ModelCheckpoint는 케라스 모델과 가중치를 일정 간격으로 저장합니다.
    첫 번째 매개변수에 저장할 파일을 지정합니다.
    monitor 매개변수는 모니터링할 지표를 지정합니다. 기본값은 'val_loss'로 검증 손실을 관찰합니다.
    save_weights_only 매개변수의 기본값은 False로 전체 모델을 저장합니다. True로 지정하면 모델의 가중치와 절편만 저장합니다.
    save_best_only 매개변수를 True로 지정하면 가장 낮은 검증 점수를 만드는 모델을 저장합니다.

  • EarlyStopping은 관심 지표가 더이상 향상하지 않으면 훈련을 중지합니다.
    monitor 매개변수는 모니터링할 지표를 지정합니다. 기본값은 'val_loss'로 검증 손실을 관찰합니다.
    patience 매개변수에 모델이 더 이상 향상되지 않고 지속할 수 있는 최대 에포크 횟수를 지정합니다.
    restore_best_weights 매개변수에 최상의 모델 가중치를 복원할지 지정합니다. 기본값은 false입니다.

NUMPY

  • argmax는 배열에서 축을 따라 최댓값의 인덱스를 반환합니다.
    axis 매개변수에서 어떤 축을 따라 최댓값을 찾을지 지정합니다. 기본값은 None으로 전체 배열에서 최댓값을 찾습니다.
profile
나는 킹고수다!!

0개의 댓글