이미지에서 운동화 유형을 식별하는 작업을 시작하는 프로젝트를 시작하고 있습니다. 현재 TensorFlow 및 Torch 구현을 읽고 있습니다. 내 질문은 합리적인 분류 성능을 달성하기 위해 클래스 당 몇 개의 이미지가 필요한가?
이미지에서 운동화 유형을 식별하는 작업을 시작하는 프로젝트를 시작하고 있습니다. 현재 TensorFlow 및 Torch 구현을 읽고 있습니다. 내 질문은 합리적인 분류 성능을 달성하기 위해 클래스 당 몇 개의 이미지가 필요한가?
답변:
에서 신경망을 훈련 할 때 어떻게 몇 훈련 사례도 몇 가지입니까? 이력서에 :
실제로는 데이터 세트 및 네트워크 아키텍처에 따라 다릅니다. 내가 읽은 경험의 한 규칙 (2)은 신경망이 매우 잘 작동하기 시작하는 클래스 당 수천 샘플입니다. 실제로 사람들은 노력하고보고 있습니다.
더 많은 훈련 샘플을 갖는 것이 어느 정도 유익한 지 대략적으로 평가하는 좋은 방법은 훈련 세트의 크기를 기준으로 신경망의 성능을 플롯하는 것입니다 (예 : (1)).
(2) Cireşan, Dan C., Ueli Meier 및 Jürgen Schmidhuber. "심층 신경망을 갖춘 라틴어 및 중국어 문자 학습 학습." 2012 년 신경 네트워크에 관한 국제 공동 회의 (IJCNN), 1-6 페이지. IEEE, 2012. https://scholar.google.com/scholar?cluster=7452424507909578812&hl=ko&as_sdt=0,22 ; http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf :
클래스 당 수 천 개의 샘플 이있는 분류 작업 의 경우 (비지도 또는 감독) 사전 훈련의 이점을 쉽게 보여줄 수 없습니다.
가장 좋은 방법은 최대한 많은 데이터를 수집하는 것입니다. 그런 다음 프로젝트를 시작하고 데이터 모델을 만드십시오.
이제 모델을 평가하여 바이어스 가 높 거나 분산이 높은지 확인할 수 있습니다.
높은 분산 :이 상황에서는 수렴 후 교차 검증 오차가 훈련 오차보다 높다는 것을 알 수 있습니다. 훈련 데이터 크기에 대해 동일하게 표시하면 상당한 차이가 있습니다.
높은 편향 :이 상황에서 교차 검증 오류는 훈련 데이터 크기에 대해 플롯 할 때 자체가 높은 훈련 오류보다 약간 높습니다. 훈련 데이터 크기에 대해 플로팅하여 의미하는 훈련 데이터의 하위 세트를 입력하고 계속 증가하는 하위 세트 크기 그리고 플롯 오류.
모델에 분산 (과적 합) 이 높으면 더 많은 데이터를 추가하면 일반적으로 새 교육 데이터를 추가해도 도움이되지 않는 높은 편향 (과적 합) 모델 과 대조적으로 도움이됩니다.
또한 클래스별로 동일한 수의 이미지를 가져와야합니다. 그렇지 않으면 데이터 세트가 왜곡 될 수 있습니다 (하나 이상의 종류).
또한 TensorFlow 를 사용하는 경우 GOOGLE의 INCEPTION 이미지 분류기에 대해 자세히 읽어보십시오 . 이미 Google의 이미지 데이터베이스에서 분류 된 분류기이며 이미지에 사용할 수 있으므로 이미지 수에 대한 요구 사항이 크게 줄어 듭니다.