2017-05-24 3 views
0

0에서 9까지 다양하게 왜곡 된 숫자의 이미지를 분류하기 위해 CNN을 교육 할 때 훈련 세트 및 테스트 세트의 정확도가 분명히 향상되었습니다.MxNet : 일부 반복 후에 정확도가 임의의 prediciton으로 떨어짐

에포크
Epoch[0] Batch [100] Train-multi-accuracy_0=0.296000 
... 
Epoch[0] Batch [500] Train-multi-accuracy_0=0.881900 

[1] 에포크 [2] 정밀도 그러나 0.85와 0.95 사이에 약간의 요동,

Epoch[3] Batch [300] Train-multi-accuracy_0=0.926400 
Epoch[3] Batch [400] Train-multi-accuracy_0=0.105300 
Epoch[3] Batch [500] Train-multi-accuracy_0=0.098200 

그 이후, 정밀도가 주변 네트워크를 의미 0.1이었다은 랜덤 준 예측. 나는이 훈련을 여러 번 반복했는데,이 사건은 매번 발생했습니다. 그게 뭐가 잘못 됐어? 적응 학습률 전략이 그 이유입니까?

model = mx.model.FeedForward(..., 
          optimizer = 'adam', 
          num_epoch = 50, 
          wd = 0.00001, 
          ..., 
          ) 
+0

학습 속도를 줄이거 나 모델 발산을 줄여야하는 경우가 많습니다. 학습 요율표를 사용하고 있습니까? 아니면 고정 학습률을 사용하고 계십니까? 정확성보다는 손실을 모니터링 할 수 있습니까? –

답변

0

교육 할 모델은 무엇입니까? mnist 데이터 셋을 사용한다면 보통 sgd로 트레이닝 한 간단한 2- 레이어 MLP가 꽤 높은 정확도를 제공합니다.

+0

내 데이터 세트가 MNIST가 아니며, 왜곡 된 문자의 합성 라이브러리입니다. 내가 염려하는 것은 급격한 하락의 이유이다. 이 문제를 분석하려면 몇 가지 제안이 필요합니다. – Lolith