Makineler öğrenmez: derin evrişim modeli. 1x1 evrişim çekirdeği hakkında soru sormayın

Makine www.jqbxx.com'u öğrenmiyor: Derin toplu makine öğrenimi, derin öğrenme algoritmaları ve teknik mücadele

LeNet, AlexNet ve VGGNet gibi birkaç klasik evrişimli sinir ağı yapısından bahsedeyim. O zaman evrişim çekirdeğinden detaylı olarak bahsedelim ...

LeNet-5:

LeNet-5 temel olarak gri tonlama için tasarlanmıştır, bu nedenle girişi küçüktür, 32 * 32 * 1 ve yapısı aşağıdaki gibidir:

LetNet'te klasik modlar vardır:

  • Ağın derinliği arttıkça, görüntünün boyutu küçülürken aynı zamanda kanal sayısı artıyor; her evrişimli katmanı bir havuz katmanı izliyor.

AlexNet:

AlexNet, büyük renkli resimleri doğrudan işler ve yapısı aşağıdaki gibidir:

  • LeNet'e benzer, ancak daha büyük bir ağ yapısı, daha fazla parametre ve daha iyi performansla; Relu kullanılır; birden fazla GPU kullanılır; LRN (daha sonra çok az kullanıldığı ve atıldığı bulundu)

AlexNet, derin öğrenmenin bilgisayarla görmede büyük ilgi görmesini sağlar.

VGG-16:

2. ResNet

ResNet artık bloklar tarafından oluşturulur. Artık blok, aşağıdaki sıradan bir sinir ağı bloğunun aktarımıdır:

İleriye doğru yayılmanın hesaplama adımları şunlardır:

ResNet bloğu, yayılma sürecinde, "kısa yol" veya "bağlantı atlama" olarak adlandırılan, a'dan a'ya doğrudan bir bağlantı ekler:

Yani, ileri yayılma formülünün son adımı şu olur:

"Kısa yol" eklendikten sonra, artık bloğun ağ yapısı olur:

Bunun Relu aktivasyon işlevinden önce bağlandığını unutmayın.

Artık Ağ:

Aşağıdaki gibi yapılandırılan bir ResNet ağ yapısı oluşturmak için birden fazla artık blok yığınlanır:

"Kısa yol" ve ResNet içermeyen sıradan sinir ağının hata eğrisi:

  • Kalıntı içermeyen sıradan bir sinir ağında, eğitim hatası gerçekte azalır ve ardından ağ katmanlarının sayısı derinleştikçe artar; artıklarla ResNet'te, ağ daha derin olsa bile, eğitim hatası ağ katmanı ile artacaktır. Sayının derinleşmesi giderek azalır.

Ara aktivasyon işlevi için ResNet, daha derin bir ağ elde etmeye ve gradyan kaybolması ve gradyan patlaması sorunlarını çözmeye yardımcı olur.

3. ResNet'in iyi performansının nedenleri

X girişi ve a çıkışı olan nispeten büyük bir sinir ağı olduğunu varsayalım. Ağın derinliğini artırmak istiyorsak, işte ağa başka bir artık blok:

Dolayısıyla, yukarıdaki sonuçlardan, kalıntı blok için yukarıdaki kimlik işlevini öğrenmenin çok kolay olduğunu görebiliriz. Bu nedenle, artık bloğu ekledikten sonra daha derin ağın performansı, artık bloğu eklemeden basit ağdan daha düşük değildir. Dolayısıyla ağın derinliği artırılsa da ağın performansını etkilemeyecektir. Aynı zamanda, artan ağ yapısı bazı faydalı bilgileri öğrenebilirse, ağın performansı iyileştirilecektir.

Boyutlar aynı.

Sıradan derin sinir ağını ResNet'e dönüştürün:

İki özdeş evrişimli katman arasına "bağlantıyı atla" ekleyin.

4. 1x1 evrişim

İki boyutta evrişim, resmin her bir elemanını bir evrişim çekirdek numarasıyla çarpmaya eşdeğerdir.

Ancak üç boyutta, 1 * 1 * nc evrişim çekirdeği ile evrişim, üç boyutlu görüntüdeki 1 * 1 * nc dilimlere eşdeğerdir, yani, nc noktaları, Relu fonksiyonunu geçtikten sonra, çıkış Karşılık gelen sonuç. Farklı evrişim çekirdekleri, farklı gizli katman nöron düğümlerini dilim üzerindeki noktalara tek tek bağlamaya eşdeğerdir.

Yani temelde 1 * 1 evrişim çekirdeği, bir dilim üzerindeki nc birimlerine tam olarak bağlı bir sinir ağı uygulamaya eşdeğerdir.

Son 3B grafiklerde, aynı uzunluk ve genişliğe sahip bir resim elde etmek için 1 * 1 evrişimli çekirdek kullanılır, ancak üçüncü boyut, evrişim çekirdeklerinin sayısı olur.

1x1 evrişim uygulaması:

  • Boyut sıkıştırması: Hedef boyutun 1x1 evrişim çekirdek sayısını kullanın. Doğrusal olmayışı artırın: 1x1 evrişimli çekirdeklerin sayısını orijinal boyutla aynı tutun.

5. Başlangıç Ağı

Başlangıç Ağının rolü, bir evrişim çekirdeğinin ne kadar büyük kullanılacağı ve derin bir evrişimli sinir ağı oluştururken bir havuz katmanı eklenip eklenmeyeceği gibi konuları dikkate alma ihtiyacını ortadan kaldırmaktır.

Inception'ın ana yapısı:

Yukarıdaki Başlangıç yapısında, farklı evrişim çekirdekleri ve dolgulu bir havuzlama katmanı uygulanır. Girdi görüntüsünün boyutu değişmeden tutulurken, farklı hesaplama sonuçlarının üst üste konulmasıyla kanal sayısı artırılır.

Maliyet hesaplama problemi:

Yukarıdaki 5 * 5 boyutlu evrişim çekirdeğinin hesaplama maliyeti için:

Geçiş olarak 1 * 1 boyutlu evrişim çekirdeğinin hesaplama maliyeti için, aşağıdaki orta katman "darboğaz katmanı" olarak da adlandırılır:

Bu nedenle, "darboğaz katmanının" geçiş katmanı olarak 1 * 1 evrişim çekirdeği, evrişimli sinir ağının hesaplama maliyetini etkili bir şekilde azaltabilir. Gerçekler, "darboğaz katmanı" makul bir şekilde ayarlandığı sürece, üst katmanın ölçeğinin önemli ölçüde azaltılabileceğini ve aynı zamanda hesaplama maliyetinin ağın performansını etkilemeyecek şekilde azaltılabileceğini kanıtlamıştır.

Başlangıç modülü:

Başlangıç modülünü oluşturmak için yukarıda sunulan iki ana fikri ve modeli aşağıdaki gibi birleştirin:

Başlangıç Ağı:

Birden çok Başlangıç modülünün yığınlanması, Başlangıç Ağını oluşturur. Aşağıdaki, GoogleNet'in yapısıdır:

6. Öğrenimi aktarın

Küçük veri kümesi:

Şimdi derin öğrenme alanında birçok araştırmacı çalışmalarını internette paylaşacak. Belirli bir nesnenin tanınması ve sınıflandırılması gibi kendi çalışmamızı uyguladığımızda, ancak yalnızca küçük miktarda veri kümesini uyguladığımızda, derin bir ağ yapısını sıfırdan eğitmek yeterli olmaktan uzaktır.

Ancak, transfer öğrenmeyi uygulayabilir, diğer araştırmacılar tarafından oluşturulan modelleri ve parametreleri uygulayabilir ve sadece son özel softmax ağını az miktarda veriyle eğitebiliriz. Böylece küçük veri setlerinde iyi sonuçlar elde edebilir.

Büyük veri seti:

Ayrıca kendi problemlerimizle ilgili çok sayıda veri kümemiz varsa, sonraki birkaç katmanı eğitebiliriz. Kısaca, veri seti arttıkça "dondurmamız" gereken katman sayısı gittikçe azalmaktadır. Son olarak, çok büyük bir veri setimiz varsa, modelimizin eğitimini hızlandırmak için rastgele başlatma yerine parametre başlatma olarak diğer araştırmacılar tarafından eğitilen model parametrelerini kullanarak ağ modelinin tüm parametrelerini eğitebiliriz.

7. Veri genişletme

Diğer makine öğrenimi problemleriyle karşılaştırıldığında, bilgisayarla görme alanındaki temel sorun, yeterli veriyi elde etmenin bir yolu olmamasıdır. Dolayısıyla, bilgisayar veri modellerini eğittiğimizde, veri genişletme çok kullanışlıdır.

Veri genişletme yöntemi:

  • Yansıtma (Yansıtma); Rastgele Kırpma; Renk kaydırma:

Resmin üç RGB renk kanalı için değerleri artırın veya azaltın, örneğin (R: +20, G: -20, B: +20); PCA renk geliştirme: resmin ana rengi büyük ölçüde değişir ve resmin ikincil rengi değişir Genel rengi tutarlı tutmak için daha küçük.

Eğitim sırasında veri genişletme:

Zamandan tasarruf etmek için, veri genişletme süreci ve eğitim süreci birden fazla CPU ve iş parçacığı ile paralel olarak uygulanabilir.

8. Bilgisayarla Görmenin Durumu

Veri ve manuel mühendislik:

Farklı problemler için mevcut veri seti boyutu:

Çok fazla veri olduğunda, basit algoritmalar ve daha az manuel mühendislik kullanma eğilimindeyiz. Şu anda büyük miktarda veri olduğu için, bu problem için özellikleri ayrıntılandırmamıza gerek yok, büyük bir ağ sonucu veya daha basit bir model kullanarak çözebiliriz.

Aksine, az miktarda veri olduğunda, daha çok manuel mühendislik yapıyoruz. Veri miktarı çok küçük olduğu için, daha büyük ağ yapılarının veya modellerinin bu küçük miktardaki verilerden yeterli özellikleri elde etmesi zordur ve el ile mühendislik aslında iyi performans elde etmenin en iyi yoludur.

Makine öğrenimi uygulamaları için:

  • İşaretli veriler, (x, y); manuel özellik mühendisliği / ağ yapısı / diğer yapı.

İyi yapmak için ipuçları:

Kıyaslama çalışmalarında ve yarışmalarda aşağıdaki ipuçları daha iyi performans gösterebilir:

  • Birleştirme: birden fazla ağ modelini bağımsız olarak eğitin ve ortalama sonuçları veya ağırlıklı ortalama sonuçları çıktı; Test sırasında çoklu kırpma: sınıflandırıcıyı test görüntüsünün birden çok sürümünde çalıştırın ve ortalama sonuçları çıkarın.
Oyun, kablosuz çağını açar! Logitech G613 / G603 oyun klavyesi ve fare incelemesi
önceki
Sert adam geliyor, fiyat düşük kalite değil! İlk Marcel 1 şasisi çok pratik
Sonraki
Zorlu Gözlem | Bugün çok fazla şaka var
Makine öğrenmez: ayrıntılı sinir ağı açıklaması, ileri yayılma ve geri yayılma
Bireysel vergi değişikliği taslağı açıklandı. 5.000 yuan "eşiğin" Ekim ayından itibaren uygulanması bekleniyor.
Trendleri takip etmek de moda, yolsuz bir bilgisayar kurun! On Bin Yuan AMD Ryzen Oyun Platformu
Odak noktası | Uçak bileti fiyatlarında% 10 artış! Bu şehirlere sık sık gelenler dikkat etmeli ...
Şu anda en uygun maliyetli ve güvenilir tüm modül güç kaynağıdır! Cooler Master V550 kutudan çıktı
Siviller için entegre su soğutma çağına girerken, Cooler Bingshen B120'yi kurma deneyimi
Eski parçaları yeni kutularla değiştirin, önce Marcel 1 kasasını takın ve üç yıl daha savaşın
Arsa tersine döndü! Lei Jun'un övdüğü 00 sonrası CEO, intihale maruz kaldı, tamamen aynı!
Makineler öğrenmez: Klasik CNN modelini gözetleyin; diğer dağların yeşim taşı taşa saldırabilir
On yıldan daha uzun bir süre önce yüksek fiyatlı malların hepsi artık e-atık haline geldi Onları hiç kullandınız mı?
Çoğu çevrimiçi oyunu sorunsuzca çalıştırabilir! 2500 yuan giriş seviyesi oyun platformu
To Top