인프런 커뮤니티 질문&답변

남윤우님의 프로필 이미지
남윤우

작성한 질문수

Google 공인! 텐서플로(TensorFlow) 개발자 자격증 취득

dense layer 개수

작성

·

704

0

안녕하세요 강의 잘 듣고 있습니다.

이미지 분류하는 예제를 코랩에서 실행시키는거랑 제 노트북(Apple M2 Max)에서 실행시는것과

loss, acc 차이가 현격하게 나서 질의드립니다.

제 노트북에서 1개 layer만 쌓으면 loss = 0.43 acc = 0.83 정도 나오는데 예제에 나와있는데로

제 코드

model = Sequential([
# Flatten으로 shape 펼치기
Flatten(input_shape=(28, 28)),
# Dense Layer
Dense(1024, activation='relu'),
Dense(512, activation='relu'),
Dense(256, activation='relu'),
Dense(128, activation='relu'),
Dense(64, activation='relu'),
# Classification을 위한 Softmax
Dense(10, activation='softmax'),
])

 

log

1866/1875 [============================>.] - ETA: 0s - loss: 16058870784.0000 - acc: 0.4173

Epoch 5: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 16128512000.0000 - acc: 0.4173 - val_loss: 27540826112.0000 - val_acc: 0.4452

Epoch 6/10

1873/1875 [============================>.] - ETA: 0s - loss: 31985911808.0000 - acc: 0.4097

Epoch 6: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 31981346816.0000 - acc: 0.4096 - val_loss: 40147439616.0000 - val_acc: 0.4332

Epoch 7/10

1868/1875 [============================>.] - ETA: 0s - loss: 68022116352.0000 - acc: 0.4025

Epoch 7: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 68336156672.0000 - acc: 0.4022 - val_loss: 133834203136.0000 - val_acc: 0.2749

Epoch 8/10

1869/1875 [============================>.] - ETA: 0s - loss: 137940418560.0000 - acc: 0.3955

Epoch 8: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 138007822336.0000 - acc: 0.3954 - val_loss: 145990402048.0000 - val_acc: 0.4383

Epoch 9/10

1875/1875 [==============================] - ETA: 0s - loss: 287789613056.0000 - acc: 0.3829

Epoch 9: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 287789613056.0000 - acc: 0.3829 - val_loss: 218210779136.0000 - val_acc: 0.3401

Epoch 10/10

1871/1875 [============================>.] - ETA: 0s - loss: 434573213696.0000 - acc: 0.3939

Epoch 10: val_loss did not improve from 1235372.50000

1875/1875 [==============================] - 10s 5ms/step - loss: 434703597568.0000 - acc: 0.3940 - val_loss: 472388042752.0000 - val_acc: 0.3010

313/313 [==============================] - 1s 3ms/step - loss: 1235372.5000 - acc: 0.6382

상기 log보면 알겠지만 loss가 너무 이상합니다. 이건 뭐가 오류가 있는건지요

참고로 코랩에서 돌리면 이상없습니다.

 

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

먼저, Apple M2 Max 노트북에서 실행한 결과와 코랩에서 실행한 결과의 차이가 발생하는 이유는 여러 가지 원인이 있을 수 있습니다. 노트북의 성능, 하드웨어 구성, 환경 설정, 운영체제 등이 모두 결과에 영향을 줄 수 있습니다.

실행 결과에서 보이는 loss와 acc의 값은 모델의 학습 상태를 나타내는 지표입니다. 더 낮은 loss 값과 더 높은 acc 값은 모델의 훈련 정확도를 의미하는데, 이를 통해 모델이 얼마나 정확하게 예측하는지 확인할 수 있습니다.

제시된 코드에는 여러 개의 Dense Layer가 사용되었습니다. 한 개의 Dense Layer로는 모델의 복잡성이 충분하지 않아서 이를 보완하기 위해 여러 개의 Dense Layer가 사용되는 것입니다. 더 많은 Dense Layer를 추가하면 모델이 더 복잡한 패턴을 학습할 수 있으며, 그에 따라 더 정확한 예측을 할 수 있게 됩니다.

그러나, 예제의 코드와 비교해보면 제 노트북에서 실행한 모델의 성능이 낮은 편입니다. 이는 여러 가지 요인에 의해 영향을 받을 수 있습니다. 예를 들어, 학습 데이터의 양과 품질, 모델의 하이퍼파라미터 설정, 학습 방법 등이 영향을 미칠 수 있습니다.

따라서, 모델의 성능을 향상시키기 위해서는 다음과 같은 점을 고려해볼 수 있습니다.

  1. 더 많은 데이터를 사용하여 모델을 훈련시켜볼 수 있습니다. 데이터의 다양성과 양이 모델의 성능에 큰 영향을 줄 수 있습니다.

  2. 모델의 하이퍼파라미터를 조정해볼 수 있습니다. 예를 들어, 학습률, 배치 크기, 에포크 수 등을 조정해보세요.

  3. 모델의 구조를 변경해볼 수 있습니다. 더 깊은 신경망 구조를 사용해보거나, 다른 유형의 레이어를 추가해보세요.

  4. Regularization 기법을 사용해 모델의 과적합을 방지할 수도 있습니다. 예를 들어, Dropout이나 L1, L2 regularization을 적용해보세요.

이러한 과정을 통해 모델의 성능을 향상시킬 수 있습니다. 그러나, 성능 향상에는 시행착오와 경험이 필요하기 때문에 여러 가지 방법을 실험해보며 결과를 분석하고 개선해보시는 것이 좋습니다.

더 자세한 답변을 원하신다면, 모델의 코드와 데이터에 대한 정보를 더 자세히 알려주시면 도움을 더 드릴 수 있을 것 같아요. 이에 대한 정보를 부탁드립니다.

더 도움이 필요하시다면 언제든지 말씀해주세요. 좋은 결과를 얻으시길 바랄게요.

남윤우님의 프로필 이미지
남윤우

작성한 질문수

질문하기