Rozpoczynam projekt, w którym zadaniem jest identyfikacja typów tenisówek na podstawie zdjęć. Obecnie czytam implementacje TensorFlow i Torch . Moje pytanie brzmi: ile zdjęć na klasę jest wymaganych, aby osiągnąć rozsądną klasyfikację?
12
Odpowiedzi:
Od Ile przykładów treningów jest zbyt mało podczas szkolenia sieci neuronowej? w CV:
To naprawdę zależy od zestawu danych i architektury sieci. Jedna podstawowa zasada, którą przeczytałem (2), to kilka tysięcy próbek na klasę, aby sieć neuronowa zaczęła bardzo dobrze działać. W praktyce ludzie próbują zobaczyć.
Dobrym sposobem na przybliżoną ocenę, w jakim stopniu korzystne byłoby posiadanie większej liczby próbek treningowych, jest wykreślenie wydajności sieci neuronowej w oparciu o rozmiar zestawu treningowego, np. Z (1):
(2) Cireşan, Dan C., Ueli Meier i Jürgen Schmidhuber. „Przenieś naukę znaków łacińskich i chińskich za pomocą głębokich sieci neuronowych”. Na międzynarodowej wspólnej konferencji w sprawie sieci neuronowych (IJCNN) w 2012 r., S. 1–6. IEEE, 2012. https://scholar.google.com/scholar?cluster=7452424507909578812&hl=pl&as_sdt=0,22 ; http://people.idsia.ch/~ciresan/data/ijcnn2012_v9.pdf :
źródło
Najlepszym rozwiązaniem jest zebranie jak największej ilości danych. Następnie rozpocznij projekt i utwórz model danych.
Teraz można ocenić swój model, aby zobaczyć, czy to ma wysoki Bias lub duża zmienność.
Wysoka rozbieżność : w tej sytuacji zobaczysz, że błąd weryfikacji krzyżowej jest wyższy niż błąd treningu po zbieżności. Istnieje znaczna luka, jeśli wykreślisz to samo względem wielkości danych treningu.
Duże odchylenie : W tej sytuacji błąd weryfikacji krzyżowej jest nieco wyższy niż błąd szkolenia, który sam jest wysoki, gdy wykreślany jest względem wielkości danych treningowych. Poprzez wykreślanie względem wielkości danych treningowych mam na myśli, możesz wprowadzić podzbiory danych treningowych, które posiadasz, i stale zwiększać rozmiar podzbioru i błędy wydruku.
Jeśli zauważysz, że Twój model ma dużą wariancję (dopasowanie), dodanie większej ilości danych zwykle pomaga w przeciwieństwie do modelu o dużym odchyleniu (dopasowanie), w którym dodanie nowych danych treningowych nie pomaga.
Również dla każdej klasy musisz spróbować uzyskać taką samą liczbę obrazów, w przeciwnym razie zestawy danych mogą zostać zniekształcone (więcej jednego rodzaju).
Sugeruję również, jeśli używasz TensorFlow , przeczytaj więcej o INCEPTION Image Classifier w GOOGLE . Jest już wyszkolonym klasyfikatorem w bazie danych obrazów Google i możesz go używać do swoich zdjęć, w ten sposób wymagania dotyczące liczby zdjęć drastycznie spadają.
źródło