반응형

모델 학습시 출력되는 로그의 각 요소에 대해 알아보겠습니다

Epoch 1/20
1500/1500 ━━━━━━━━━━━━━━━━━━━━ 72s 46ms/step - accuracy: 0.7422 - loss: 0.7300 - val_accuracy: 0.8734 - val_loss: 0.3386

출력 설명

  1. Epoch 1/20:
    • 학습의 첫 번째 에포크(Epoch 1)를 진행 중이며, 전체 학습 과정은 총 20개의 에포크(1/20)로 설정되어 있습니다.
  2. 1500/1500:
    • 학습 데이터가 1500개의 배치(batch)로 나뉘어 있으며, 현재 에포크에서 모든 배치의 처리가 완료되었습니다.
    • 이 숫자는 전체 배치(1500/1500)를 의미하며, 한 에포크 동안 모델이 모든 데이터를 학습한 상태를 나타냅니다.
  3. 72s:
    • 한 에포크를 처리하는 데 걸린 시간(초)입니다. 여기서는 72초가 소요되었습니다.
  4. 46ms/step:
    • 한 스텝(즉, 하나의 배치 처리)에 걸린 평균 시간입니다. 여기서는 약 46밀리초(ms)입니다.
  5. accuracy: 0.7422:
    • 훈련 데이터의 정확도를 나타냅니다. 이 에포크에서 모델이 훈련 데이터에 대해 74.22%의 정확도를 달성했습니다.
  6. loss: 0.7300:
    • 훈련 데이터의 손실 값을 나타냅니다. 손실 값이 작을수록 모델이 훈련 데이터에 대해 더 나은 예측을 하고 있음을 의미합니다. 여기서는 손실 값이 0.7300입니다.
  7. val_accuracy: 0.8734:
    • 검증 데이터의 정확도를 나타냅니다. 이 에포크에서 모델이 검증 데이터에 대해 87.34%의 정확도를 달성했습니다.
  8. val_loss: 0.3386:
    • 검증 데이터의 손실 값을 나타냅니다. 이 값은 모델이 검증 데이터에 대해 얼마나 잘 예측하고 있는지를 평가하는 지표입니다. 여기서는 손실 값이 0.3386입니다.

핵심 포인트

  • 훈련 성능(accuracy, loss): 모델이 훈련 데이터에 대해 얼마나 잘 학습했는지를 나타냅니다.
  • 검증 성능(val_accuracy, val_loss): 모델이 보지 않은 검증 데이터에 대해 얼마나 일반화되었는지를 평가합니다.
  • 시간(72s, 46ms/step): 한 에포크와 각 배치를 처리하는 데 걸린 시간으로, 모델의 효율성을 확인할 수 있습니다.

추가적으로 확인해야 할 점

  1. 과적합 여부:
    • 훈련 정확도(accuracy와 loss)와 검증 정확도(val_accuracy와 val_loss)의 차이가 지나치게 클 경우 과적합(overfitting)의 신호일 수 있습니다.
  2. 학습 속도:
    • 훈련 시간이 길다면, 배치 크기를 줄이거나, 데이터셋 크기를 최적화하거나, 하드웨어(GPU/TPU)를 활용해 학습 속도를 높일 수 있습니다.
  3. 손실 감소와 정확도 증가:
    • 에포크가 진행되면서 손실(loss)은 감소하고, 정확도(accuracy 및 val_accuracy)는 증가하는지 확인합니다. 손실이 일정 수준 이하로 줄어들지 않으면 학습률을 조정하거나 모델 구조를 개선해야 합니다.
728x90
반응형

+ Recent posts