CNN eğitimi için sınıf başına kaç görüntü yeterlidir


12

Görevin görüntülerden spor ayakkabı türlerini tanımlamak olduğu bir projeye başlıyorum. Şu anda TensorFlow ve Torch uygulamalarını okuyorum . Sorum şu: makul bir sınıflandırma performansına ulaşmak için sınıf başına kaç görüntü gerekiyor?


"Makul" tanımlansın mı? Hedefiniz bir üretim sisteminde kullanılabilecek bir doğruluğa ulaşmak mı? Hedefiniz başka bir şey mi? Eğitim öncesi ve yarı denetimli eğitimde size çaba kazandırabilecek bazı varyasyonlar vardır, bu yüzden endişenizin görüntüleri etiketleme çabasında olup olmadığını veya herhangi bir görüntüyü kaynaklamakta olup olmadığını netleştirebilirsiniz . Son olarak, hedef görüntüleriniz ne kadar temiz ve basit? Aydınlatma ve pozun sabit olduğu görüntüler, spor ayakkabılar giyilirken "gerçek dünya" fotoğraflarından daha kolay eğitilir.
Neil Slater

Evet, bu üretimde kullanılacak. Görüntü kütüphanesinde kaç farklı spor ayakkabı türü olduğunu bilmediğim için şu anda kaç sınıf olacağını bilmiyorum. Benim en iyi tahminim 50-100 civarında olurdu, ancak sporcu spor ayakkabı açıklaması, daha az sınıflar (örneğin air-jordan vs air-jordan-ultrafit). Maalesef, görüntü kitaplığı, giyilen spor ayakkabıların ve spor ayakkabıların beyaz bir zemine sahip sabit öğeler olarak pozlandırılmasıdır.
Feynman27

Yanıtlar:


2

Gönderen bir sinir ağı eğitim, nasıl birkaç eğitim örnekleri çok az mı? CV'de:

Gerçekten veri kümenize ve ağ mimarisine bağlıdır. Okuduğum bir kural (2), sinir ağının çok iyi performans göstermeye başlaması için sınıf başına birkaç bin örnektir. Pratikte insanlar dener ve görür.


Daha fazla eğitim örneği almanın ne kadar yararlı olabileceğini kabaca değerlendirmenin iyi bir yolu, sinir ağının performansını eğitim setinin büyüklüğüne göre çizmektir, örneğin (1):

resim açıklamasını buraya girin



0

En iyi yaklaşım, elinizden geldiğince fazla veri toplamaktır. Ardından projeye başlayın ve bir veri modeli yapın.

Şimdi modelinizi Yüksek Sapma veya Yüksek Sapma olup olmadığını görmek için değerlendirebilirsiniz .

Yüksek Varyans : Bu durumda, Çapraz Doğrulama hatasının yakınsaklıktan sonra Egzersiz hatasından daha yüksek olduğunu göreceksiniz.

Yüksek Önyargı : Bu durumda Çapraz Doğrulama hatası, eğitim veri boyutuna göre çizildiğinde kendisinin yüksek olduğu eğitim hatasından biraz daha yüksektir. Eğitim veri boyutuna göre çizim yaparak, sahip olduğunuz egzersiz verilerinin alt kümelerini girebilir ve alt küme boyutunu artırmaya devam edebilirsiniz ve çizim hataları.

Modelinizin yüksek varyansa (overfit) sahip olduğunu görürseniz, yeni egzersiz verisi eklemenin yardımcı olmadığı yüksek yanlılık (underfit) modelinin aksine genellikle daha fazla veri eklemek yardımcı olacaktır.

Ayrıca sınıf başına aynı sayıda görüntü elde etmeye çalışmalısınız, aksi takdirde veri kümeleri eğri olabilir (bir türden daha fazla).

Ayrıca ben kullandığınız takdirde önermek TensorFlow , daha hakkında okumak GOOGLE en BAŞLAMA Görüntü Sınıflandırıcı. Google'ın görüntü veritabanında zaten eğitimli bir sınıflandırıcıdır ve resimleriniz için kullanabilirsiniz, bu şekilde görüntü sayısı için gereksinimler önemli ölçüde azalır.


Zaten TensorFlow Inception-v3 kullanarak hızlı bir test yaptık. Yapabileceği en iyi şey bana "koşu ayakkabısı" gibi çok kurs sınıflandırması vermektir, ama "air-jordan-ultrafit" gibi biraz daha ayrıntılı bir şeye ihtiyacım var. Bu yüzden Inception ile kullanmak için yeni bir eğitim seti hazırlıyorum.
Feynman27

Bu “biraz daha ayrıntılı” bir garip tanımdır.
Jivan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.