2017-03-01 3 views
0

CNN 결과에 대한 의견을 보내주십시오. 저는 2000 개의 교육 이미지와 400 개의 테스트 이미지를 사용했습니다. 교육의 정확성은 완벽하지만 테스트 정확도는 매우 낮습니다. 교육 및 테스트 이미지 간에는 많은 차이가 있기 때문에 생각합니다. 누구든지이 사례에 대해 좋은 생각이 있습니까?Keras CNN 교육 정확도는 좋지만 테스트 정확도는 매우 낮습니다

는 [Accuracy plot]

+0

아마도 stats.stackexchange에 더 적합할까요? – Fezvez

답변

4

이 오버 피팅 클리어 케이스이다. 얼마나 많은 learnable 매개 변수가 있습니까? 예를 들어, VGGnet은 138M 매개 변수를 가지고 있으며,이 경우에는 네트워크의 일부 뉴런이 그대로 기억되는 일종의 훈련 이미지가 있어야하므로 네트워크가 일반화되지 않습니다.

우선 수정하려면 모양이 인 것과 같이 작업이 간단하면 간단한 모델을 사용해보십시오. 또한 컬러 채널을 스와핑하는 것과 같은 변형을 통해 교육 데이터를 늘릴 수 있습니다 (출력 클래스에 영향을주지 않는 경우). 이미지를 뒤집거나 회전하여 네트워크를 일반화 할 수 있습니다. 손실 기능에 L1/L2 정규화를 포함시키고 드롭 아웃을 시도하십시오.

+0

"overfitting"에 완전히 동의하고 "간단한 모델"에 동의하지 마십시오. 제안한 변환 및 L1/L2와 같은 정규화 기술이 필요합니다. 다른 기술은 중도 이탈과 조기 정지입니다. (편집 : 내게 낙오자가 더 많아서 가장 좋은 결과를 얻었습니다.) – Fezvez

+1

나는 약간의 연구를했으며 네가 맞다. 더 얕은 모델은 더 깊은 네트워크보다 '암기'에 더 취약하다. 데이터의 계층 구조를 활용할 수 있습니다. 소규모 네트워크의 이점은 교육 시간이 향상된다는 것입니다. 지적을위한 고맙습니다. 나는 적절하게 답변을 편집 중이다. – rajat

관련 문제