Derin Öğrenmede Adli Uzmanlık El: Kaggle Kamera Modeli Tanıma Yarışmasının Derin Analizi

Resim kaynağı: https://habr.com/company/ods/blog/415571/

AI Technology Review Press: Yaklaşık bir yıl önce Kaggle, "Kamera Modeli Tanımlama" (https://www.kaggle.com/c/sp-society-camera-model-identification) adlı bir bilgisayarla görme yarışması düzenledi. Görev, Belirli bir görüntüyü çekmek için kullanılan kameranın modeli. Oyunun ardından Arthur Kuzin, Artur Fattakhov, Ilya Kibardin, Ruslan Dutov ve Vladimir Iglovikov, bu sorunun nasıl çözüleceğini tanıtmak ve süreçteki deneyim ve deneyimlerini paylaşmak için teknik bir rapor yazmaya karar verdi. Bu makale Seattle'da düzenlenen 2. Uluslararası Siber Suç Soruşturmaları için Büyük Veri Analizi Sempozyumu ( tarafından kabul edildi ve Vladimir Iglovikov 10 Aralık 2018'de olacak. Konferansta bu kağıt hakkında rapor verin. Aşağıda, raporun genişletilmiş versiyonu bulunmaktadır (https://arxiv.org/abs/1810.02981).

Bu makalenin 5 yazarı var:

Arthur Fattakhov, Arthur Kuzin ve Ilya Kibrdin bu yarışmada ikinci olan takımlardı ve son puanları 0.987 idi. Vladimir Iglovikov, 0.985 final skoru ile 9. sıradaki takımın bir üyesiydi. İki takımın çözümleri birbirine çok benziyor, bu yüzden teknik bir rapor yazmaya karar verdiler. Ruslan, Shenzhen Üniversitesi Büyük Veri Araştırma Enstitüsü'nün yüksek lisans öğrencisidir ve bu makalenin sorunsuz bir şekilde yayınlanması için çok önemli olan metinsel çalışmanın tamamlanmasına yardımcı olmuştur.

Bu makalenin geri kalanında yazar, ikinci takım tarafından kullanılan yönteme "bizim" çözümümüz olarak değinecektir. Ek olarak, bazı önemsiz teknik detaylar da atlanacaktır. Runner-up çözümünün kodu GitHub'da (https://github.com/ikibardin/kaggle-camera-model-identification) mevcuttur. Oyundan sonra, kendi bilgilerine dayanarak bir dizi ayrı deney de yaptılar. Bu makale esas olarak daha fazla araştırma hakkındadır.

Metin aşağıdaki gibidir, AI Technology Review tarafından derlenmiş ve derlenmiştir:

Kamera modeli tespiti, görüntü işlemenin birçok uygulamasından biridir. Örneğin, adli değerlendirme alanında, bir fotoğrafın Google Pixel veya iPhone ile çekilip çekilmediğini belirlemek çok önemli olabilir. Bu, yasa dışı görüntünün sahibinin kim olabileceğini ve hatta fikri mülkiyetin yasal sahibinin kim olduğunu daha da belirleyebilir. Bu sistem, "iftira veya yalan haber yayma" durumlarında şüphelileri bulmak için bile kullanılabilir.

Bilgisayar görüntüyü dijital bir matris ve buna karşılık gelen meta veriler olarak depolar En basit durumda, kamera modeli genellikle görüntü meta verilerinde saklanır.Bu zamanda, modelin tanımlanması çok basit bir problem haline gelir. Ancak görüntü meta verileri güvenilmez olabilir ve yasa dışı kullanıcılar tarafından kolayca değiştirilebilir.

Daha karmaşık ama daha güvenilir bir yöntem var. Görüntü edinimi tamamlandıktan sonra, dijital kamera, bir dizi müteakip işleme adımından sonra görüntü doğruluğu ve bellek kullanımı için optimize edilmiş bir görüntü oluşturacaktır. Bu algoritmalar, son derece doğrusal olmayan ve son derece karmaşık yöntemlerdir; örneğin, küçültme, gürültü filtreleme ve mercek bozulmasının düzeltilmesi. Farklı kamera modelleri farklı algoritmalar kullanır, bu da her algoritmanın belirli bir modelde belirli bir çıktı vereceği anlamına gelir.Bu verileri makine öğrenimi iş akışları için özellikler olarak kullanabiliriz.

Elbette, bu konuda zaten birçok belge var ve mevcut belgelerin çoğu, SVM veya benzer sınıflandırma algoritmalarına dayalı yapay öznitelik çıkarma adımları önermektedir. Örneğin, bu problemle karşılaştığımda aklıma gelen ilk fikir, bir görüntüyü almak, düzleştirilmiş görüntüsünü ondan çıkarmak ve sonra bu farkın farklı istatistiklerini (örneğin ortalama , Medyan, standart sapma, farklı nicelikler) ve ardından bunları xgboost entegre öğrenme modelini eğitmek için girdi olarak kullanın. Kamera modeli tespitinin nasıl yapılacağına dair ilk makalede kullanılan yöntem, az önce anlattığım yönteme çok yakındır. Sonraki diğer makaleler daha karmaşık modeller önerdi, ancak yöntemler çok benzer. Yöntem şunlardan başka bir şey değildir: etki alanı bilgisine dayalı yapay özellik çıkarma, lojistik regresyon, karar ağacı veya destek vektör makinesi, vb. Bu temelde eklenir.

Bu yöntemi yeni kamera modellerine genişletmek de oldukça zor. Yeni çıkan bir kamera için bu algılamayı gerçekleştirmek istediğimizi varsayalım. Öyleyse bir uzmanın hangi özelliklerin onu diğer kamera modellerinden ayırmaya yardımcı olacağını bulmak için ne kadar zaman harcaması gerekir? Öte yandan, derin öğrenme yöntemleri bu sorunları aynı anda çözebilir. Genel olarak konuşursak, derin öğrenme güçlü bir canavar gibidir ve eğer onu nasıl evcilleştireceğini biliyorsanız, son derece doğru kara kutu modelleri oluşturmanıza yardımcı olabilir.

Her zaman olduğu gibi, literatüre bakmanız ve "en iyi yolu" bulmanız neredeyse imkansız. Hemen hemen her makale size diğerlerinden farklı olduklarını ve yöntemlerinin en gelişmiş olduğunu söyleyecektir. Bu sorunu çözmek için, aynı veri seti üzerinde farklı yöntemleri değerlendirmeniz gerekir. Böyle bir karşılaştırma size hangi algoritmanın genel olarak daha iyi olduğunu söylemez, ancak belirli bir veri kümesinde belirli bir ölçüyü kullanırken hangi algoritmanın daha iyi olduğunu görebilirsiniz. Bu, benzer veri kümelerindeki algoritmaların performans sıralamalarının aynı olması gerektiği anlamına gelmez.Örneğin, CIFAR veri kümesindeki en gelişmiş mimari ImageNet üzerinde iyi performans göstermeyebilir ve bunun tersi de geçerlidir. Ancak böylesine standart ve tutarlı bir karşılaştırmaya sahip olmak hiç yoktan iyidir.

Bu mücadelede, 582 katılan ekip, algoritmalarını iki ay içinde gerçek zamanlı liderlik tablosunda rekabet edecek. 582, kaggle yarışmasına katılan takımların sayısı için nispeten büyük bir sayıdır ve bu, bu sorunun farklı mesleki geçmişlere ve becerilere sahip kişiler tarafından çözülmesini sağlar. Bazı katılımcılar endüstride ve akademide adli kimlik belirleme ile ilgili işlerle uğraşıyor ve benim gibi bazı katılımcılar bilgisayarla görü konusunda deneyime sahip, ancak bu tür kamera tanımlama sorunları hakkında derin bir anlayışa sahip değiliz. Birinin çözmekle ilgilenip ilgilenmediğinden emin değilim.

Yarışmanın organizatörleri, 10 kamera ile çekilmiş 2750 fotoğraftan oluşan bir eğitim seti hazırladı (her kamera ile 275 fotoğraf).

Ayırt etmemiz gereken kamera modelleri:

1. Sony NEX-7

2. Motorola Moto X

3. Motorola Nexus 6

4. Motorola DROID MAXX

5. LG Nexus 5x

6. Apple iPhone 6

7. Apple iPhone 4s

8. HTC One M7

9. Samsung Galaxy S4

10. Samsung Galaxy Note 3

Yarışmanın zorluğunu arttırmak için organizatörler, 10'u eğitim setini oluşturmak için, diğer 10'u ise test setini oluşturmak için kullanılan görüntüleri toplamak için 20 farklı cep telefonu paylaştı. Bu, eğitim süreci sırasında modelinizin sonraki işleme algoritmasıyla ilgili belirli bir kamera modelinin özelliklerini öğrenemeyebileceği, ancak belirli bir cep telefonu tarafından üretilen belirli çıktıyı aşacağı anlamına gelir.

Test setindeki görüntüler eğitim setinde olduğu gibi aynı modelde 10 kamera ile çekilmiş ancak aynı modelin ikinci cihazı kullanılmıştır. Örneğin, eğitim verilerinde iPhone 6 ile çekilen görüntü Ben Hamnerın ilk iPhone 6 ile alınmışsa, test verilerinde iPhone 6 ile alınan görüntü Ben Hamnerın ikinci iPhone 6 ile çekilmiştir çünkü Koyda uçurtma oynarken ilk cep telefonunu kaybetti.

Ek olarak. Eğitim setindeki görüntüler tam boyuttadır ve testte sadece görüntünün ortasında kırpılmış 512x512 piksellik kısım kullanılır. Bu tedavinin nedeni, radyal distorsiyonun görüntünün her iki tarafında daha belirgin olmasıdır. Bazı makaleler sadece radyal distorsiyon özelliklerine dayalı olarak iyi sonuçlar elde etmiştir. Ancak, ne kadar yardım getirebilecekleri henüz belli değil, ancak organizatörler, katılımcıların bu özellikleri kullanmasını yasaklamaya karar verdi.

Çoğu durumda, genellikle bilgisayarda depolanan görüntüler, jpeg sıkıştırma, gama dönüşümü, kontrast, parlaklık, boyut ve diğer hususlar gibi farklı görüntü dönüştürme türlerinden etkilenecektir.

Pratik bir bakış açısına göre, model bu dönüşümlere karşı güçlü bir sağlamlığa sahip olmak en iyisidir.Aşağıda gösterildiği gibi, düzenleyici test görüntülerinin yarısında benzer dönüşümler gerçekleştirmiştir:

1. JPEG sıkıştırma kalite faktörü = 70

2. JPEG sıkıştırma kalite faktörü = 90

3. Faktör = 0.5 ile bikübik enterpolasyon ile ölçeklendirin

4. Faktör = 0.8 ile bikübik enterpolasyon ile ölçeklendirme

5. Faktör = 1.5 ile bikübik enterpolasyon ile ölçeklendirme

6. Faktör = 2.0 ile bikübik enterpolasyon ile ölçeklendirme

7. Gama = 0.8 kullanarak gama düzeltmesi

8. Gama = 1.2 kullanarak gama düzeltmesi

Yukarıda belirtildiği gibi, farklı kamera modelleri tarafından çekilen resimlerin boyutu gigabayt cinsindendir ve bu verileri ilgili kamera modellerini çıkarmak için kullanabiliriz. Kaggle'daki farklı yarışmaların harici verileri kullanmak için farklı kuralları vardır, ancak bu yarışmada Kaggle, harici görüntü verilerini kullanarak modelleri eğitmemize izin verir. Genel olarak, harici verilerin kullanımına izin veren tüm yarışmaların bir kuralı vardır ve Kaggle, diğer tüm yarışmacıların da bu verilere erişebileceğini şart koşar. Bu tür bir yarışmada, Kaggle forumunda, katılımcıların kullanacakları verileri ve önceden eğitilmiş modelleri paylaşabilecekleri özel bir forum olacaktır.

Bu rekabet bir istisnadır.Yönetici, oyunun kurallarını değiştiren kurallara veri paylaşımı ile ilgili bir madde eklemeyi unutmuştur.

Derin öğrenme modellerinin avantajı, büyük miktarda eğitim verisinden bilgi alabilmeleridir. Ek olarak, birçok eğitim etiketinin yanlış olabileceğine de özellikle dikkat etmeliyiz, ancak bu sorun daha iyi çözülür.Yanlış etiketlerin yüzdesi belirli bir eşiğin altında olduğu sürece (% 15 gibi), bu eğitim veri seti iyidir. Veri seti. Ne kadar çok veri kullanırsanız, modeliniz o kadar iyi olur.

Katılımcılar adli tıp uzmanlığı konusunda uzman olmayabilir, ancak daha fazla verinin derin öğrenme için daha iyi olduğunu bilmeleri gerekir. Genellikle, bir yarışmada, belirli bir veri kümesinden en fazla bilgiyi almaya çalışırsınız. Bazı deneylerden sonra, iyi performansa sahip bir model seçecek, akıllıca veri geliştirme yöntemlerini seçecek, ilgili alan bilgisini keşfedecek ve zaman harcayacaksınız. Akıllı bir eğitim planı, tren kaybı işlevi vb. Geliştirin. Daha iyi bir seçeneğiniz yoksa, tüm bu adımları tamamlamanız önemlidir.

Flickr, Yandex, Fotki, Wikipedia'da bazı verileri taradık ve bu durumda ekibimizin sahip olduğu toplam ham görüntü verisi miktarı yaklaşık 500 GB. Tüm bu verileri kullanabiliriz, ancak eğitimi hızlandırmak ve modelin kalitesini potansiyel olarak iyileştirmek için verileri filtreliyoruz.

Eğitim sürecinde ihtiyacımız olan işlenmemiş veriler, yani Photoshop, LightRoom veya benzeri görüntü düzenleme yazılımlarından etkilenmeyen ve ölçeklenmemiş yüksek kaliteli görüntüler.

Farklı kamera modelleri için veri seti örneklerinin sayısı. Yukarıdaki tablo dışarıdan ve organizatör tarafından sağlanan veri setini içeren nihai veri setini göstermektedir.

İlk olarak, meta verilerinde Photoshop ve LightRoom içeren görüntüleri sildik. Ardından, JPEG kalitesi 95'ten düşük olan resimleri sildik. Üçüncüsü, farklı kameraların sabit boyutlu fotoğraflar çekmesine izin veriyoruz. Görüntülerin boyutu beklediğimizle eşleşmiyorsa, bu görüntülerin ölçeklendirildiğini varsayacağız. Bu koşulları karşılamayan resimleri sildik.

Bu, elde ettiğimiz tüm görüntülerin işlenmemiş olduğu anlamına gelmez.Örneğin, birisi% 10 kaliteli JPEG sıkıştırması kullanabilir ve ardından% 99 kalitesinde JPEG sıkıştırması uygulayabilir. Aslında, sıkıştırılmış kalite hala% 10'dur, ancak yazılım için sıkıştırma faktörünün 99 yerine 10 olduğunu analiz etmek zordur. Bunun imkansız olduğunu düşünüyorum. Ancak bu sorunu araştırırken, bu tür "ikincil JPEG sıkıştırması" nı tanımlamaya çalışan bazı makaleler gördüm. Tekrar söylüyorum, böyle bir sorun olduğunu bile bilmiyorum.

Filtrelemeden sonra 78.807 adet kazınmış görsel elde ettik.Bu görsellerin orijinal ve işlenmemiş olduğunu düşünüyoruz. Bu görüntülerin kategori dağılımı tek tip değildir. Tahmin edebileceğiniz gibi, tüm cep telefonları eşit derecede popüler değildir veya telefon modeli ile kullanıcıların ne sıklıkta fotoğraf çektikleri ve bunları İnternete yükledikleri arasında bir ilişki vardır. Bu nedenle, belirli cep telefonu türleriyle elde edilen görüntüler için nispeten az sayıda örneğimiz var:

Genel olarak, bu makine öğrenimi iş akışı, aktarım öğrenimi için ImageNet kullanımına benzer. Önceden eğitilmiş bir ağ kullanacak, 1000 sınıfı öngören son katmanı kaldıracak ve bunu, ihtiyacınız olan sınıfı tahmin eden bir katmanla değiştireceksiniz. Bu örnekte, bu katman için çıktı kategorilerinin sayısı 10'dur. Bundan sonra, çapraz entropi sınıflandırmasını kayıp işlevi olarak kullanabilir ve ağı eğitebilirsiniz. Bunu yapmanın birçok yolu vardır ve 1 numaralı çözüm ile 50 numaralı çözüm arasındaki fark genellikle kullandıkları ağ türünde değil, eğitim sürecinde ve eğitimi yapan kişidir. Pratik bir bakış açısından, derin öğrenme bilimden çok simyaya benzer. Bu nedenle, kişi farklı işlerle meşgul olduğunda, sezgi çok önemlidir.

Remi Cadene'nin GitHub'daki kod deposu (https://github.com/Cadene/pretrained-models.pytorch), PyTorch çerçevesi altında ağırlıklı bir ağ listesi sağlar.İnsanlar, farklı ağlar ve önceden eğitilmiş modeller elde etmek için benzer API'leri kullanabilir. Eğitimin ağırlığı, böylece deneyleri hızlı bir şekilde gerçekleştirilebilir. Bu kod tabanı, katılımcılar tarafından yaygın olarak kullanılmaktadır. Katılan ekipler Resnet, VGG, DPN ve diğer tüm ağ türleri ile deneyler yaptı.

Bu soru için deneysel bir sonuç şudur: DenseNet (https://arxiv.org/abs/1608.06993) performansı biraz daha iyi olacak, ancak takımlar arasındaki fark çok küçük, bu nedenle bu ifadenin doğru olup olmadığı net değil . DenseNet nedir? DenseNet, Resnet tipi ağlarda atlama bağlantılarının kullanılması fikrini daha da teşvik eden bir mimaridir.

Daha fazla atlama bağlantısı!

DenseNet makalesinin yazarı, evrişim bloğundaki tüm katmanları birbirine bağlar ve atlama bağlantısı gradyan akışını basitleştirerek derin ağları eğitmeyi mümkün kılar. Bağlantıları atlamak ana akım haline gelmeden önce, yalnızca 19 katmanlı VGG19 ağlarıyla uğraşmak acı vericiydi, ancak bunları tanıttıktan sonra, oldukça soyut özellikleri işlemek için 100'den fazla katmana sahip ağları kullanmak artık zor bir sorun değil. Araştırmacılar, bunu yapmanın kayıp yüzeyini daha pürüzsüz hale getireceğine ve gradyan inişine dayalı eğitim sürecinin birçok yerel minimuma düşmesini önleyeceğine inanıyor.

Görüntü kaynağı: https://arxiv.org/abs/1712.09913 Ek olarak, ağ nispeten standarttır, toplu normalleştirme ve ReLu katmanları ile ve evrişimli bloklar arasında bir dizi evrişimli blok kullanır. En büyük havuz katmanı ve son olarak küresel ortalama havuzlama ve tamamen bağlantılı katman. Global ortalama havuzlama katmanının, girdi olarak farklı boyutlardaki görüntüleri kullanmamıza izin verdiği unutulmamalıdır. Araştırma topluluğundaki bazı insanlar, DenseNet'in performansının her zaman Resnet'ten daha iyi olduğuna inanıyor, çünkü nispeten daha sonra önerildi ve CVPR 2017'de en iyi makale oldu. Ancak öyle değil! Orijinal belgede DenseNet, CIFAR'da iyi sonuçlar elde etti, ancak daha çeşitli ImageNet veri setinde, daha derin bir DenseNet, sığ bir ResNet ağına kıyasla bir doğruluk elde edebilir.

DenseNet, Resnet'ten daha mı iyi / daha mı kötü? Bu soru duruma göre değişir. "Gezegen: Amazon'u Uzaydan Anlamak" yarışmasında (https://www.kaggle.com/c/planet-understanding-the-amazon-from-space), ekibimiz 900'den fazla ekipten DenseNet kullanıyor 7. sırayı kazanan bu ağ, bu rekabette daha iyi performans gösterdi, ancak ImageNet'te kötü performans gösterdi. İş arkadaşlarım ve ben bunun hakkında derinlemesine bir tartışma yaptık Bazıları bağlantı atlamanın sadece kayıp yüzeyini düzeltmekle kalmayıp aynı zamanda model kapasitesini de düşürdüğünü düşünüyor. Bu, DenseNet'in CIFAR gibi çeşitlendirilmemiş problemlerde neden daha iyi performans gösterdiğini açıklayabilir, ancak kapasite kaybını telafi etmek için ImageNet gibi çeşitli veri setlerinde ağın derinliğini artırmak gerekir. Bu spekülasyona dayanarak, veri seti çok çeşitli olmadığında ve büyük kapasiteli bir ağ gerektirmediğinde, DenseNet'in performansının çok iyi olacağını düşünebiliriz. Ancak ayrımcı özellikler oldukça soyut olduğunda, çok derin bir ağa ihtiyacımız olabilir. Kamera algılama görevi bu kategoriye giriyor mu? Bilmiyorum. Deneyimden doğrudur, ancak bunu kanıtlayacak yeterli kanıtımız yok. Eğitim sürecine zeka eklemek için standart düzenleme yöntemi, veri artırmayı kullanmaktır. Farklı veri geliştirme yöntemlerinden farklı sorunlar yararlanabilir. Benzer şekilde, daha iyi bir sezginiz varsa, daha iyi veri geliştirme yöntemlerini ve parametrelerini seçebilirsiniz. Bu problem için şunları kullandık: 1. Dihedral Grup D4 dönüşümü: resmi 90, 180, 270 derece döndürün ve bir çevirme işlemi gerçekleştirin. 2. Gama dönüşümü: Gama parametrelerini aralığında eşit olarak seçtik. 3. 70 ila 90 arasında eşit olarak örneklenmiş kalite faktörü parametreleriyle JPEG sıkıştırması. 4. Ölçeklendirme faktörünün aralığı içinde dönüşümü. Albümümantasyon kitaplığını (https://github.com/albu/albumentations) kullanan kod aşağıdaki gibidir:

albu olarak ithalat albümü def train_transform (resim, p = 1): aug = albu.Compose (, p = p) ağustos (resim = resim) dönüş

Soldaki resim, yakın zamanda Bishop kaya tırmanışına gittiğimdeki orijinal fotoğraf; sağdaki resim ters dönmenin sonucu ve rengi daha koyu. İkincisi, gama dönüşümünün sonucudur. Burada JPEG sıkıştırması da uyguladık, ancak bu tür görüntünün nispeten yüksek kalitesinden dolayı etkisini çıplak gözle görmek zor. Organizatör bize ölçekleme için kübik enterpolasyon kullandıklarını söyledi. Kübik enterpolasyonu nasıl kullanacağınızı bilmiyorsanız, alternatif olarak farklı enterpolasyon yöntemleri kullanacağız. Genel olarak konuşursak, bu teknik genellikle makine öğrenimi rekabet topluluğunda kullanılır, ancak literatürde böyle bir yöntemin tanımını görmedim. Bu alternatif yöntemleri eklemek istersek, kod daha karmaşık olacaktır, ancak fikir yine de nispeten sezgiseldir.

albu olarak ithalat albümü def train_transform (resim, p = 1): scale_limit = (0.5, 2) aug = albu.Compose (, p = p) ağustos (resim = resim) dönüş

Orijinal görüntülerin çözünürlüğü çok büyüktür, onları tam çözünürlükte ölçeklemek akıllıca değildir, bu nedenle art arda iki kırpma yaptık (ölçeklemeden önce ve sonra).

albu olarak ithalat albümü def train_transform (resim, p = 1): aug = albu.Compose (, p = p) ağustos (resim = resim) dönüş

İlk öğrenme oranı 0,001 olan Adam optimizer'ı ağı 100 dönem boyunca eğitmek için kullandık. Daha yüksek bir doğruluk oranı elde etmek için, öğrenme hızı farklı değerler arasında dalgalandığında, iyileştirme için döngüsel bir öğrenme oranı yöntemi de kullanırız.

Bu grafikten de tahmin edebileceğiniz gibi, öğrenme oranı 17. çağ civarında azaldı. Şekilde art arda zayıflatılmış iki kayıp zirvesi vardır, biri 42. çağ, diğeri 53. çağ hakkındadır. Eğitim süreci sırasında, ağ kolayca yerel minimuma düşer ve bu salınımlar bu yerel minimumların dışına çıkmaya yardımcı olur. Çıkarım sırasında, test görüntüsünü geliştirir ve farklı 480x480 kırpılmış görüntülerde tahmin sonuçlarının ortalamasını alırız. Ayrıca, farklı dönüşümlerin modelin doğruluğunu nasıl azalttığını değerlendirmek istiyoruz.

Eğitimde kullanılan parametrelerin aralığını yeşil kısım aracılığıyla gösteriyoruz. Beklendiği gibi, belirli bir parametre aralığında, doğruluk oranı önemli ölçüde düşmedi. Bu, derin öğrenme yöntemlerini kullanırsak ve yeterli veriye sahip olursak, veri artırmayı güçlendirmenin modelin sağlamlığını artırabileceğini gösterir. Cevaplamak istediğimiz bir diğer soru ise, test sırasında ağa kırpılan görüntü girişinin boyutunu düşürürsek, doğruluk nasıl değişecek?

Ağın öğrendiği özelliklerin yerel olduğunu düşünüyorum, bu yüzden büyük kesintilere gerek yok, ancak durum böyle değil gibi görünüyor. 10 sınıfta% 90'dan fazla doğruluk elde etmek için, giriş olarak en az 250x250 boyutunda kırpılmış bir görüntü kullanılmalıdır; bu, sonraki işlem algoritmasının ağ tarafından yakalanan pikseller arasında uzun mesafeli bir korelasyon oluşturduğu anlamına gelebilir. Ayrıca eğitim verisi miktarı arttığında modelin doğruluğunun da artacağını kanıtlamak istiyoruz. Yukarıdaki resimde gördüğünüz gibi bu durum olmadı. Bence yüksek kaliteli bir model için 25 bin resim yeterli. 10 sınıf değil, 1000 sınıf tespit etmemiz gerekirse, model kalitesinin iyileştirilmesi daha önemli olabilir.

sonuç olarak:

1. ImageNet ön eğitim modelini kullanarak aktarım öğrenimi, kamera algılama gibi düşük seviyeli özellikleri kullanan görevlerde iyi performans sağlayabilir.

2. DenseNet'in performansı daha iyidir, ancak biz, Cadene tarafından sağlanan kod listesinden önceden eğitilmiş bir ağı keyfi olarak seçersek, performansının benzer olacağına inanıyoruz.

3. Eğitimde veri artırma tekniklerinin kullanılması modelin sağlamlığını geliştirmesine yardımcı olacaktır.

4. Daha fazla etiketli veri alabiliyorsanız, almaya çalışın. Çoğu durumda, alan bilgisinin kullanımı ek önemli yardım sağlayabilir, ancak büyük miktarda veriyi "kaba kuvvet" işlemek, model performansını iyileştirmek için karmaşık çözümler kullanmaktan daha kolay olabilir.

Makalede atlanan içerik:

1. Görüntünün değiştirilip değiştirilmediğini göstermek için ek çıktı eklemek gerekli mi?

2. Kontrol noktası ortalaması ve diğer beceriler.

3. Diğer mimarilerin performansına ne dersiniz?

4. Bu probleme entegre öğrenme teknolojisi nasıl uygulanır.

5. Test setindeki sınıflar dengelidir, nasıl kullanabiliriz.

6. Sözde etiketleme tekniği (yarı denetimli bir öğrenme tekniği) bu göreve nasıl uygulanır.

7. Denediğimiz ancak başarılı olamadığımız yöntemleri tartışın.

8. Ağ tarafından öğrenilen özelliklerin neler olduğunu açıklayın?

9. Değerlendirme göstergelerinin nüansları.

Tüm bu konular önemlidir, ancak çok fazla etkisi olduğunu düşünmüyorum veya her konuyu ayrı ayrı tartışmayı tercih ediyorum.

Not: Bu makalenin yazarı, 10-13 Aralık 2018 tarihlerinde Seattle, ABD'de düzenlenecek olan IEEE 2018 Big Data Uluslararası Konferansı "Second Cyber Crime Investigation and Prevention Big Data Analysis International Symposium" da bu makaleyle ilgili bir rapor hazırlayacak.

(Bitiş)

doğru veri bilimi aracılığıyla

Orijinal metni okumak için tıklayın Uygulama örneği: görüntü metin tanıma

2019'un en çok beklenen Hong Kong filmlerinin hepsi burada, Hong Kong filmlerini izledikten sonra öldüğünü söylemeye cesaret edebilir misiniz?
önceki
Huawei MateBook yeni ürünleri yakında piyasaya sürülecek veya Huawei Share NFC işlevi ile donatılacak
Sonraki
"Apostle Walker 3" film çekiyor .. Bir She Yang Yi, tohum patlatan kadın olmak için en çok sese sahip?
Endüstri | GitHub yıllık rapor envanteri: geliştiriciler 31 milyona yükseldi, açık kaynaklı projeler 96 milyona ulaştı
LeetCode Temel Algoritması Soru No. 79: Selefi bilinmiyor, tek bağlantılı listenin düğümü nasıl silinir?
Honor, başka bir üç kameralı amiral gemisi mi? V20, 3C sertifikasını geçti ve yapılandırmada parlak noktalar var
Filmin büyük adamları geri döndü, Di Dou Xi'yi izliyor ve 2019'un en iyi TVB dizileri burada!
Samsung eğilecek mi? Hayır, katlanabilir ekranlı bir telefon geliyor
Lin Feng yuva TVB'ye geri döndüğünü duyurdu, bu 2019'daki en şaşırtıcı olan "Uzun bir süre görüşürüz"!
Honor V20, 3C sertifikası olarak görünüyor veya Kirin 980 / arka üç kamera ile donatılacak
Virgil Abloh x NIKE tamamen gözden mi düştü? ! Sneaker Con London Sneaker Show Ödeyebileceğiniz herhangi bir şey var mı?
FCA yeni araba planlaması, yeni nesil Wrangler 17 Kasım'da görücüye çıkıyor
Kuru Mallar Squad 2.0'daki ilk U-NET modelleri, bunların zekası nedir?
Tam ekran çağında göz koruma sihirbazı, Nubia X çift ekranlı cep telefonu önerilir
To Top