Broccoli's House

#7-(3) 학습 결과 본문

공부/캡스톤 디자인

#7-(3) 학습 결과

김콜리 2018. 4. 11. 11:10

7회차 - (3) 학습 결과



  • 훈련 데이터 


 - 데이터 1만개로 학습한 모델을 훈련 이미지와 시험 이미지에 대하여 각각 조향 데이터를 출력해보았다. 먼저 훈련 데이터의 경우, 1에폭만 학습하여도 라벨 값과 꽤나 유사하게 나오는 것을 맨 위의 그래프를 통해 확인할 수 있다. 70에폭의 학습이 완료되고 나면, 실제 조향 데이터와 거의 완벽하게 일치하는 것을 볼 수 있다. 



  • 시험 데이터


 - 70에폭의 학습을 완료한 모델에 시험 이미지 1,000개를 통과시켜 조향 데이터를 출력하였다. 실제 라벨 값과의 차이는 위와 같았다. 모델의 출력값이 실제 라벨 값의 경향성 자체는 따라가지만, 세세한 부분에서 두루뭉술하게 나온다는 것과 그 값 또한 큰 차이를 보인다. 가장 문제는, 라벨과 모델 출력 값의 부호가 서로 반대인 지점이 있다는 것이다. 조향에 있어서 부호가 다르면 완전히 반대방향으로 꺾기 때문에, 이것은 있어서는 안되는 결과인 것이다. 따라서 학습이 제대로 되지 않았다는 결론을 내렸다.




  • 원인 분석

 - 훈련 데이터에서는 학습 성능이 매우 좋았으나 시험 데이터에서는 그러지 못하였다. 가장 먼저 생각할 수 있는 문제는 모델이 과대적합(Overfitting) 되었다는 것이다. 또한 모델의 출력 값이 라벨 값의 경향 자체는 따라가나 세세한 부분을 표현하지 못하는 것으로 볼 때, 모델의 표현력이 부족하다는 것, 즉 매개변수(가중치)의 부족으로 생각된다. 따라서 이러한 문제를 해결하기 위하여 첫째, 과대적합을 해소하기 위해 데이터 자체를 더 많이 모은다. 과대적합을 일정부분 막기 위해 배치 정규화를 사용하여 모델을 구성했음에도 과대적합이 발생한 것으로 볼 때, 데이터의 절대적인 부족이 지금의 가장 큰 원인으로 생각된다. 따라서 데이터를 최소 5만개 이상 모아 다시 재학습을 시킨다. 또한 모델의 표현력 부족을 해결하기 위해 층(layer) 수와 필터의 사이즈 및 개수를 조금씩 늘려가며 성능을 테스트할 계획이다. 

Comments