4D uzun makale sizi derin öğrenmedeki çeşitli evrişimli ağlara götürür (2. bölüm)

Lei Feng.com AI Teknolojisi Yorumu: Derin öğrenmedeki çeşitli evrişimli ağlar hakkında ne kadar bilginiz var? Bunları duymuş ancak hakkında net bir anlayışa sahip olmayanlar için Kunlun Bai'nin bu makalesi okumaya değer. Kunlun Bai yapay zeka, makine öğrenimi, fizik ve mühendislik alanlarında araştırma yapan bir bilim insanıdır.Bu yazıda ayrıntılı olarak 2D, 3D, 1x1, transpozisyon, boşluk (genişleme), boşluk ayrılabilirliği, derinlik Ondan fazla evrişimli ağ türü ayrılabilir, düzleştirilebilir, gruplandırılabilir vb. Leifeng.com AI Technology Review aşağıdaki gibi derlenmiştir.

(Bu bölüm ikinci bölümdür, önceki bölümün içeriğini kontrol edin)

7. İçi boş evrişim (genişletilmiş evrişim)

Aşağıdaki iki makale Dilate Evrişimi tanıtmaktadır:

  • "Derin Evrişimli Ağlar ve Tamamen Bağlı CRF'ler ile Anlamsal Görüntü Segmentasyonu, https://arxiv.org/abs/1412.7062)

  • "Genişletilmiş evrişimlerle çok ölçekli bağlam toplama, https://arxiv.org/abs/1511.07122)

İçi boş evrişime Atrous Convolution da denir.

Bu standart bir ayrık evrişimdir:

Standart evrişim

Delik evrişimi aşağıdaki gibidir:

L = 1 olduğunda, delik evrişimi standart bir evrişim haline gelir.

Sezgisel olarak, içi boş evrişim, evrişim çekirdeği parçaları arasına boşluk ekleyerek evrişim çekirdeğinin "şişmesine" izin verir. Bu artırılmış parametre l (delik oranı), evrişim çekirdeğini ne kadar büyük gevşetmek istediğimizi gösterir. Her uygulama farklı olsa da, l-1 alanı genellikle evrişim çekirdeğine eklenir. Aşağıdaki şekil, l-1,2,4 olduğunda evrişim çekirdeğinin boyutunu göstermektedir.

İçi boş evrişimin alıcı alanı. Esasen, alıcı alanı ek hesaplama maliyeti eklemeden gözlemlemektir.

Görüntüdeki 3 x 3 kırmızı noktalar, konvolüsyondan sonra çıktı görüntüsünün piksellerinin 3 x 3 olduğunu gösterir. Her üç delik kıvrımı aynı boyutlarda çıktı görüntüleri vermesine rağmen, model tarafından gözlemlenen alıcı alanlar oldukça farklıdır. L = 1 olduğunda alıcı alan 3 x 3'tür; l = 2 olduğunda alıcı alan 7 x 7'dir; l = 3 olduğunda alıcı alan 15x15'e çıkar. İlginç olan, bu işlemlere eşlik eden parametre sayısının esasen aynı olmasıdır ve geniş alıcı alan, parametre hesaplamalarının maliyetini artırmadan "gözlemlenebilir". Bu nedenle, delik evrişimi genellikle düşük maliyetle çıktı birimindeki alıcı alanı artırmak için kullanılır ve evrişim çekirdeğinin boyutunu artırmaya gerek yoktur. Birden fazla delik evrişimi birbiri ardına istiflendiğinde, bu yöntem Çok etkili.

"Delik Evrişimiyle Çok Ölçekli Bağlam Birleştirme" nin yazarı, her katmanda delik hızı l'nin üssel olarak arttığı çok katmanlı delik evrişime ek olarak bir ağ oluşturdu. Sonuç olarak, parametrelerin sayısı her katmanda yalnızca doğrusal olarak arttığında, etkin alıcı alan üssel bir büyüme sağlar.

Bu makalede, çok ölçekli bağlam bilgisini çözünürlük kaybı olmadan sistematik olarak toplamak için delik evrişim kullanılmıştır. Makale, önerilen modülün o dönemde (2016) en gelişmiş anlamsal bölümleme sisteminin doğruluğunu geliştirdiğini göstermektedir. Daha fazla bilgi için bu makaleyi okuyabilirsiniz.

8. Ayrılabilir evrişim

MobileNet gibi bazı sinir ağı mimarilerinde ayrı evrişim kullanılır (mimari kağıt adresi: https://arxiv.org/abs/1704.04861). Ayrılabilir evrişim, uzamsal olarak ayrılabilir evrişim ve derinlemesine ayrılabilir evrişimdir.

8.1 Uzamsal olarak ayrılabilir evrişim

Uzamsal olarak ayrılabilir evrişim, görüntünün yükseklik ve genişlik gibi 2B uzamsal boyutlarında gerçekleştirilir. Kavramsal bir bakış açısından, adından da anlaşılacağı gibi, mekansal olarak ayrılabilir evrişim, evrişimi iki ayrı işleme çözer. Aşağıda gösterilen durumda, 3x3 evrişimli çekirdeğe sahip bir Sobel evrişim çekirdeği, 3x1 evrişimli çekirdeğe ve 1x3 evrişimli çekirdeğe bölünmüştür.

3x3 evrişimli çekirdeğe sahip bir Sobel evrişim çekirdeği, 3x1 evrişim çekirdeğine ve 1x3 evrişimli çekirdeğe bölünür

Evrişimde, 3x3 evrişim çekirdeği görüntüyü doğrudan evirebilir. Uzamsal olarak ayrılabilir evrişimde, görüntü önce bir 3x1 evrişim çekirdeği ile kıvrılır ve ardından bir 1x3 evrişim çekirdeği uygulanır. Aynı işlemi gerçekleştirirken, bu 9 parametre yerine 6 parametre gerektirir.

Ek olarak, evrişime kıyasla, uzaysal olarak ayrılabilir evrişim daha az matris çarpım işlemi gerektirir. Spesifik bir durum vermek için, 3x3 evrişimli çekirdeğe sahip 5x5 görüntü üzerinde evrişim gerçekleştirmek için, evrişim çekirdeğinin 3 pozisyonda (ve dikey olarak 3 pozisyonda) yatay olarak taranması gerekir.Aşağıdaki simgede gösterildiği gibi toplam 9 pozisyon vardır. Puanlar gösterilir. Her pozisyonda, toplam 9 x 9 = 81 işlem için 9 eleman seviyesinde çarpma işlemi gerçekleştirilir.

Uzamsal olarak ayrılabilir evrişim için ise öncelikle 5x5 görüntü üzerine 3x1 filtre uygulayarak evrişim çekirdeğini yatay olarak 5 konumda ve evrişim çekirdeğini 3 konumda dikey olarak tarayabiliyoruz. x 3 = 15 konum, aşağıdaki şekilde işaretlenen noktalarda gösterildiği gibi. Bu durumda, toplam 15 x 3 = 45 çarpma gerekir. Şimdi elde ettiğiniz şey, matrisi yatay yönde 3 konumdan ve dikey yönde 5 konumdan 1 x 3 evrişimli çekirdek taramasıyla çevrilen 3 x 5 matristir. Bu 9 pozisyonun her biri için 3 element seviyesinde çarpma yapılır.Bu adım, toplam 9 x 3 = 27 çarpma gerektirir. Bu nedenle, genel olarak, uzamsal olarak ayrılabilir evrişim, 45 + 27 = 72 çarpma gerçekleştirmiştir, bu da standart evrişimden daha azdır.

1 kanallı mekansal olarak ayrılabilir evrişim

Yukarıdaki durumu kısaca özetleyelim. Şimdi m x m evrişim çekirdeği, evrişim adımı boyutu = 1 ve dolgu = 0 olan bir N x N görüntüsünde evrişim yaptığımızı varsayalım. Geleneksel evrişim (N-2) x (N-2) xmxm çarpma işlemlerini gerektirirken, uzaysal olarak ayrılabilir evrişim yalnızca N x (N-2) xm + (N-2) x (N-2 ) xm = (2N-2) x (N-2) xm çarpma işlemleri. Uzamsal olarak ayrılabilir evrişimin hesaplama maliyetinin standart evrişime oranı şöyledir:

Görüntü boyutu için N, filtre boyutundan büyüktür (N > > m), bu oran 2 / m olur, yani bu kademeli durumda (N > > m) 3x3 filtre için, uzamsal olarak ayrılabilir evrişim ile standart evrişim arasındaki hesaplama maliyeti oranı 2/3; 5x5 filtre için oran 2/5; 7x7 filtre için Örneğin, 2/7 vb.

Uzamsal olarak ayrılabilir evrişim hesaplama maliyetinden tasarruf etse de, derin öğrenmede nadiren kullanılır. Bunun temel nedenlerinden biri, tüm evrişim çekirdeklerinin 2 küçük evrişim çekirdeğine bölünememesidir. Bu uzamsal olarak ayrılabilir evrişimi tüm geleneksel evrişimleri değiştirmek için kullanırsak, eğitim sırasında tüm olası evrişim çekirdeklerini aramamızı kısıtlayacaktır, çünkü bu eğitim sonucu yetersiz olabilir.

8.2 Derinlik ayrılabilir evrişim

Şimdi, derin öğrenmede (örneğin, MobileNet ve Xception'da) çok daha yaygın olan derin ayrılabilir evrişime geçelim. Derin ayrılabilir evrişim iki adımdan oluşur: derin evrişim ve 1x1 evrişim.

Bu adımları tanıtmadan önce, önceki bölümde bahsedilen 2B evrişim çekirdeği 1x1 evrişimi incelemeye değer. Standart 2D evrişimi hızlı bir şekilde inceleyelim. Spesifik bir durum vermek için, girdi katmanının boyutunun 7 x 7 x 3 (yükseklik x genişlik x kanal), filtre boyutunun 3 x 3 x 3 olduğunu ve bir filtrenin 2D evrişiminden sonra çıktı katmanının boyutunun şu olduğunu varsayalım: 5 x 5 x 1 (yalnızca 1 kanal).

1 katmanlı bir çıktı oluşturmak için standart 2D evrişim yapmak için 1 filtre kullanın

Genel olarak konuşursak, iki sinir ağı katmanı arasına birden çok filtre uygulanır Şimdi filtre sayısının 128 olduğunu varsayalım. 1282D evrişim, 128 adet 5 x 5 x 1 çıktı haritası ile sonuçlandı. Ardından bu haritaları 5 x 5 x 128 boyutunda tek bir katman halinde istifleyin. Derinlik büyütülürken, yükseklik ve genişlik gibi mekansal boyutlar azaltılır.

128 katmanlı bir çıktı oluşturmak için standart 2D evrişim yapmak üzere 128 filtre kullanın

Derinlikle ayrılabilir evrişimi kullanarak aynı dönüşümü nasıl elde edeceğimizi görelim.

İlk olarak, girdi katmanına derin evrişim uygularız. Tek bir 3 x 3 x 3 filtre kullanmak yerine 2B evrişimde 3 evrişim çekirdeği (her filtre 3 x 3 x 1) kullanıyoruz. Her evrişim çekirdeği yalnızca giriş katmanının 1 kanalında evrişim gerçekleştirir. Bu evrişim, her seferinde 5 x 5 x 1 boyutunda bir harita ile sonuçlanır ve daha sonra bu haritaları bir araya yığarak 5 x 5 x 3 görüntü ve son olarak 5 x 5 x 3 boyutunda bir çıktı görüntüsü. Bu durumda, görüntünün uzamsal boyutu küçültülür, ancak derinlik orijinal ile aynı kalır.

Derinlik ayrılabilir evrişim - ilk adım: 3 x 3 x 3 tek bir filtre kullanmak yerine 2B evrişimde 3 evrişim çekirdeği (her filtre 3 x 3 x 1) kullanın Cihaz. Her evrişim çekirdeği yalnızca giriş katmanının 1 kanalında evrişim gerçekleştirir. Bu evrişim, her seferinde 5 x 5 x 1 boyutunda bir harita ile sonuçlanır ve daha sonra bu haritaları bir araya yığarak 5 x 5 x 3 görüntü ve son olarak 5 x 5 x 3 boyutunda bir çıktı görüntüsü.

Derinlik ayrılabilir evrişimin ikinci adımı derinliği genişletmektir.1x1 evrişim yapmak için 1x1x3 evrişim çekirdeği kullanıyoruz. 5 x 5 x 3 giriş görüntüsünde her 1x1x3 evrişim kontrolü evrişimden sonra, 5 x 5 x1 boyutunda bir eşleştirme elde edilir.

Bu durumda 128 adet 1x1 konvolüsyon yaptıktan sonra 5 x 5 x 128 boyutunda bir katman elde edilebilir.

Derinlikle ayrılabilir evrişim bu iki adımı tamamladıktan sonra, 7 x 7 x 3 giriş katmanı da 5 x 5 x 128 çıktı katmanına dönüştürülebilir.

Derinlemesine ayrılabilir evrişimin tam süreci aşağıdaki şekilde gösterilmektedir:

Derinlemesine ayrılabilir evrişimin eksiksiz süreci

Peki, derin ayrılabilir evrişim yapmanın avantajları nelerdir? Verimli! 2D evrişime kıyasla, derinlemesine ayrılabilir evrişimin yürütme sayısı çok daha azdır.

2B evrişim durumundaki hesaplama maliyetini hatırlayalım: 128 adet 3x3x3 evrişim çekirdeği 5x5 kez hareket ettirilir ve gereken toplam çarpma işlemi sayısı 128x3x3x3x3x5x5 = 86.400 katıdır.

Ayrılabilir evrişime ne dersiniz? Derin evrişim adımında 5x5 kez hareket ettirilen 3 adet 3x3x3 evrişim çekirdeği vardır ve gerekli toplam çarpma işlemi sayısı 3x3x3x1x5x5 = 675 katıdır; 1x1 evrişimin ikinci aşamasında 128 adet 3x3x3 evrişim çekirdeği vardır. 5x5 kez hareket ettirildiğinde, gereken toplam çarpma işlemi sayısı 128 x 1 x 1 x 3 x 5 x 5 = 9.600 katıdır. Bu nedenle, derinlemesine ayrılabilir evrişim için gereken toplam çarpma işlemi sayısı 675 + 9600 = 10,275 katıdır ve hesaplama maliyeti 2D evrişimin sadece% 12'sidir.

Öyleyse, herhangi bir boyuttaki bir görüntü için, derinlikle ayrılabilir evrişim uygulanarak kaç hesap kaydedilebilir? Yukarıdaki durumu kısaca özetleyelim. Girdi görüntü boyutunun Y x G x D, 2B evrişimin evrişim adım boyutunun 1, dolgunun 0, evrişim çekirdeğinin boyutunun h x h x D (iki h eşittir) ve sayının Nc olduğunu varsayalım. 2D evrişimden sonra, H x G x D boyutundaki giriş katmanı nihayet (H-h + 1) x (W-h + 1) x Nc boyutunda bir çıktı katmanına dönüştürülür. Gerekli toplam çarpma işlemi sayısı: Nc xhxhx D x (H-h + 1) x (W-h + 1).

Aynı dönüştürme için, derinlikle ayrılabilir evrişim için gereken toplam çarpma sayısı: D xhxhx 1 x (H-h + 1) x (W-h + 1) + Nc x 1 x 1 x D x (H- h + 1) x (W-h + 1) = (hxh + Nc) x D x (H-h + 1) x (W-h + 1).

Derinlikle ayrılabilir evrişim ile 2B evrişim arasındaki çarpma işlemlerinin sayısı şu şekildedir:

Çoğu modern çerçeve için çıktı katmanı genellikle yüzlerce hatta binlerce kanal gibi birçok kanala sahiptir. Nc için > > H katmanı için, yukarıdaki ifade 1 / h / h olarak kısaltılacaktır, bu, bu aşamalı ifade için, kullanılan filtre boyutu 3 x 3 ise, 2D evrişim için gerekli çarpma işlemi sayısı anlamına gelir. Derinlikte ayrılabilir evrişimden 9 kat daha fazladır; 5 x 5 filtre kullanıldığında 25 kat daha fazla zaman alır.

Derinlikle ayrılabilir evrişimi kullanmanın herhangi bir dezavantajı var mı? Elbette var. Derinlikle ayrılabilir evrişim, evrişimdeki parametre sayısını azaltacaktır Bu şekilde, küçük bir model için, derinlik ayrılabilir modeli 2D modeli tekmelemek için kullanılırsa, modelin yeteneği büyük ölçüde zayıflayacaktır. Sonuç olarak, model aynı zamanda yetersiz bir model haline gelecektir. Bununla birlikte, doğru kullanılırsa, derinlemesine ayrılabilir evrişim, modelin performansından önemli ölçüde ödün vermeden verimliliği artırabilir.

9. Düzleştirilmiş evrişim

"İleri beslemeli hızlanma için düzleştirilmiş evrişimli sinir ağları" (https://arxiv.org/abs/1412.5474) Bu makale Düzleştirilmiş evrişimleri tanıtmaktadır. . Sezgisel olarak, bu evrişimin fikri, giriş katmanını çıktı katmanıyla eşleştirmek için doğrudan standart bir evrişim filtresi uygulamak yerine, filtre ayırma uygulamak, yani standart ayırıcıyı üç 1B ayırıcıya bölmektir. Bu fikir, bir uzamsal filtrenin iki sıra-1 filtreye benzediği önceki bölümde bahsedilen uzaysal olarak ayrılabilir evrişime benzer.

Resim kaynağı: https://arxiv.org/abs/1412.5474

Unutulmaması gereken bir nokta, eğer standart evrişim filtresi bir sıra-1 filtre ise, böyle bir filtre 3 adet 1B filtrenin çapraz çarpımına bölünebilir, ancak bu bir önkoşuldur ve standart filtrenin doğasında var Derece genellikle gerçek uygulamalardan daha yüksektir. Makalede belirtildiği gibi: "Sınıflandırma probleminin zorluğu arttıkça, problemi çözmek için daha fazla anahtar parçaya ihtiyaç vardır ... Derin ağdaki öğrenme filtresi, özdeğerleri dağıtmıştır ve ayırma doğrudan filtreye uygulanır. Bariz bilgi kaybına yol açar. "

Bu tür sorunları hafifletmek için, kağıt alıcı alanların ilişkisini sınırlar, böylece model eğitime dayalı 1D ayırma filtrelerini öğrenebilir. Bu makale, modeli 3B uzayda tüm yönlerde eğitmek için sürekli 1B filtrelerden oluşan düzleştirilmiş bir ağ kullanarak, standart evrişimli ağlara eşdeğer performans sağlayabileceğini, ancak öğrenme parametrelerindeki önemli azalma nedeniyle, hesaplama maliyetini iddia etmektedir. Çok daha düşük.

10. Gruplanmış evrişim

2012'de bir AlexNet makalesi (ImageNet Classification with Deep Convolutional Neural Networks, https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf) evrişim (Gruplanmış evrişim) tanıtıldı. Bu evrişimi kullanmanın ana nedeni, ağın iki GPU üzerinde eğitim için sınırlı bellek (1,5 GB bellek / GPU) kullanmasına izin vermektir. Aşağıdaki şekilde gösterilen AlexNet, çoğu katmanda iki ayrı evrişimli yol gösterir ve iki GPU modelinin paralel hesaplaması devam etmektedir.

Resim kaynağı: https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

Burada gruplanmış evrişimin nasıl uygulandığını anlatıyorum. İlk olarak, geleneksel 2D evrişim adımları aşağıdaki şekilde gösterilmektedir. Bu durumda, 128 filtre (her biri 3 x 3 x 3 boyutunda) uygulanarak, 7 x 7 x 3 boyutunda bir giriş katmanı 5 x 5 x 128 boyutunda bir çıktı katmanına dönüştürülür. Genel durum için, şu şekilde özetlenebilir: Dout evrişim çekirdeklerini uygulayarak (her evrişim çekirdeğinin boyutu hxwx Din'dir), Hin x Win x Din boyutunun giriş katmanı Hout x Wout x Dout boyutuna dönüştürülebilir. Çıktı katmanı.

Standart 2D evrişim

Gruplandırılmış evrişimde, filtre farklı gruplara ayrılır ve her grup, belirli bir derinlikte geleneksel 2D evrişimin çalışmasından sorumludur. Aşağıdaki şekilde gösterilen durum daha nettir.

Gruplanmış evrişim 2 filtre grubuna bölünmüş

Yukarıdaki şekil, 2 filtre grubuna bölünmüş gruplanmış evrişimi göstermektedir. Her filtre grubunda, derinliği nominal 2D evrişimin (Din / 2) yalnızca yarısıdır ve her filtre grubu Dout / 2 filtrelerini içerir. Birinci filtre grubu (kırmızı), giriş katmanının () ilk yarısını ve ikinci filtre grubu (mavi), giriş katmanının () ikinci yarısını sarar. Son olarak, her filtre grubu Dout / 2 kanal çıkarır. Genel olarak, iki grup tarafından çıkan kanal sayısı 2 x Dout / 2 = Dout'tur. Bundan sonra, bu kanalları çıktı katmanına yığıyoruz ve çıktı katmanında Dout kanalları var.

10.1 Gruplanmış Evrişim - Derin Evrişim

Gruplanmış evrişimler ve derin ayrılabilir evrişimler arasında kullanılan derin evrişimler arasında bazı bağlantılar ve farklılıklar gözlemlemiş olabilirsiniz. Filtre gruplarının sayısı giriş katmanındaki kanalların sayısıyla aynıysa, her filtrenin derinliği Din / Din = 1'dir ve bu, derin evrişimdeki filtrenin derinliğiyle aynıdır.

Başka bir bakış açısından, her filtre grubu artık Dout / Din filtrelerini içerir. Genel olarak, çıktı katmanının derinliği, derin evrişimin çıktı katmanının derinliğinden farklı olan Dout'tur.Derin evrişim, katmanın derinliğini değiştirmez, ancak derinlikte ayrılabilir evrişimdeki 1 x 1 evrişim artacaktır. Katmanın derinliği.

Gruplandırılmış evrişimin gerçekleştirilmesi aşağıdaki avantajlara sahiptir:

İlk avantaj eğitimin verimliliğidir . Evrişim birkaç yola bölündüğünden, her yol farklı bir GPU tarafından ayrı ayrı işlenir. Bu süreç, modelin birden fazla GPU üzerinde paralel olarak eğitilmesine olanak tanır. Bir GPU üzerinde modelleri tek tek eğitmekle karşılaştırıldığında, birden fazla GPU üzerinde modellerin bu paralelleştirilmiş eğitim yöntemi, her adımda ağa daha fazla görüntü besleyebilir. Model paralelleştirme, veri kümesini bölen ve ardından her veri grubunu eğiten veri paralelleştirmeden daha iyi kabul edilir. Bununla birlikte, her bir veri grubunun boyutu çok küçük olduğunda, gerçekleştirdiğimiz iş temelde toplu gradyan inişinden ziyade rastgele olur. Bu, daha yavaş eğitim hızına veya zayıf toplama etkisine neden olacaktır.

Çok derin sinir ağlarını eğitmek için, aşağıdaki şekilde ResNeXt tarafından gösterildiği gibi gruplanmış evrişim çok önemli hale gelir.

Resim kaynağı: https://arxiv.org/abs/1611.05431

İkinci avantaj, modelin daha verimli olması, Örneğin filtre gruplarının sayısı arttığında model parametreleri azalacaktır. Önceki durumda, standart 2D evrişimde, filtre hxwx Din x Dout parametrelerine sahipken, gruplanmış evrişim 2 filtre grubuna bölünürken, filtrede yalnızca (hxwx Din / 2 x Dout / 2) x 2 parametreleri: Parametre sayısı yarı yarıya azaltılır.

Üçüncü avantaj Bazı sürprizler getirdi. Gruplanmış evrişim, standart 2D evrişimden daha iyi bir model sağlayabilir . Başka bir harika blog

"Filtre Grupları Üzerine Bir Eğitim (Gruplanmış Evrişim)" bu noktayı göstermektedir. Makalenin içeriğinin sadece bir kısmı buradan çıkarılmıştır. Tam metni okumak için https://blog.yani.io/filter-group-tutorial/ adresine gidebilirsiniz.

Nedeni seyrek filtre ile ilgilidir. Aşağıdaki resim, bitişik katmanlardaki filtreler arasındaki ilişkidir ve bu ilişki seyrektir.

CIFAR10 üzerinde eğitilmiş Ağda Ağ modelindeki bitişik katmanların filtreleri arasındaki korelasyon matrisi. Yüksek korelasyonlu filtre çiftleri daha parlaktır ve düşük korelasyonlu filtre çiftleri daha koyu renktedir. Resim kaynağı: https://blog.yani.io/filter-group-tutorial/

Gruplanmış evrişim için korelasyon haritalaması ne olacak?

1, 2, 4, 8 ve 16 filtre gruplarıyla eğitim alırken, CIFAR10'da eğitilen Ağda Ağ modelindeki bitişik katmanların filtreleri arasındaki korelasyon. Resim kaynağı: https://blog.yani.io/filter-group-tutorial/

Yukarıdaki şekil, model 1, 2, 4, 8 ve 16 filtre gruplarıyla eğitildiğinde bitişik katmanlardaki filtreler arasındaki ilişkiyi gösterir. Bu makale bir çıkarım ortaya koymaktadır: "Filtre grubunun rolü, blok diyagonal yapının kanal boyutundaki seyrekliğini öğrenmektir ... Filtrelerin gruplandırıldığı bir ağda, yüksek korelasyonlu filtreler daha yapılandırılmıştır. Sonuç olarak, öğrenmeyi gerektirmeyen filtre ilişkisinin parametrelerle temsil edilmesi gerekmez, bu da ağdaki parametre sayısını önemli ölçüde azaltır ve parametreleri azaltma sürecinde aşırı uyum sağlamak kolay değildir. Düzenlemeye benzer etki, optimize edicinin daha doğru ve etkili derin ağları öğrenmesine olanak tanır. "

Filtre ayırma: Makalenin yazarının işaret ettiği gibi, filtre grubu öğrenilen filtreleri iki farklı gruba ayırıyor gibi görünüyor: siyah beyaz filtreler ve renkli filtreler. Resim kaynağı: https://papers.nips.cc/paper/4824-imagenet-classification-with-deep-convolutional-neural-networks.pdf

Ek olarak, her filtre grubu, verilerin benzersiz bir temsilini öğrenir. AlexaNet makalesinin yazarının bahsettiği gibi, filtre grubu öğrenilen filtreleri iki farklı grupta organize ediyor gibi görünüyor: siyah beyaz filtreler ve renkli filtreler.

11. Karışık grup evrişimi

Megvii Araştırma Enstitüsü'nün ShuffleNet makalesi (ShuffleNet: Mobil Cihazlar için Son Derece Etkili Evrişimli Sinir Ağı, https://arxiv.org/abs/1707.01083) Shuffled gruplanmış evrişimi tanıtıyor. ShuffleNet, çok sınırlı bilgi işlem gücüne sahip mobil cihazlar (10-150 MFLOP gibi) için tasarlanmış, hesaplama açısından verimli bir evrişimli mimaridir.

Karışık grup evrişiminin arkasındaki fikir, grup evrişiminin (MobileNet, ResNeXt ve diğer ağlara uygulanan) ve derin ayrılabilir evrişimin (Xception'a uygulanmış) arkasındaki fikirle ilgilidir.

Genel olarak karıştırmalı gruplanmış evrişim, gruplanmış evrişimi ve kanal karıştırmayı (kanal karıştırma) içerir.

Gruplanmış evrişim bölümünde, filtrenin farklı gruplara ayrıldığını ve her grubun belirli bir derinlikte geleneksel 2D evrişimin çalışmasından sorumlu olduğunu öğrendik, bu da tüm işlem adımlarını önemli ölçüde azaltır. Aşağıdaki örnekte, filtrenin 3 gruba ayrıldığını varsayalım. İlk filtre grubu, giriş katmanının kırmızı kısmını döndürür; ikinci ve üçüncü filtre grupları, sırasıyla giriş katmanının yeşil ve mavi kısımlarını döndürür. Her filtre grubundaki evrişim çekirdeğinin derinliği, giriş katmanının tüm kanalının yalnızca 1 / 3'ü kadardır. Bu durumda, birinci gruplanmış evrişim GConv1'den sonra, giriş katmanı orta özellik haritasına eşlenir ve ardından özellik haritası, birinci gruplanmış evrişim GConv2 aracılığıyla çıktı katmanına eşlenir.

Gruplanmış evrişim hesaplama açısından verimli olmasına rağmen, aynı zamanda bir problemi de vardır, yani her filtre grubu yalnızca önceki katmanın sabit kısmından geriye doğru aktarılan bilgiyi işler. Yukarıdaki görüntü örneğinde, ilk filtre grubu (kırmızı) yalnızca giriş kanalının ilk 1 / 3'ünden geriye doğru aktarılan bilgileri işler; mavi filtre grubu yalnızca giriş kanalının son 1 / 3'ünü işler. Bilgi geriye doğru geçti. Bu durumda, her filtre grubu bazı belirli özellikleri öğrenmekle sınırlıdır.Bu özellik, eğitim sırasında kanal grupları arasındaki bilgi akışını engeller ve ayrıca özellik temsilini zayıflatır. Bu sorunun üstesinden gelmek için kanal karıştırma uygulayabiliriz.

Kanal karıştırma fikri, farklı filtre gruplarından gelen bilgileri karıştırmaktır. Aşağıdaki şekil, ilk gruplanmış evrişim GConv1'i 3 filtre grubu ile uyguladıktan sonra elde edilen özellik haritasını gösterir. Bu özellik haritalarını ikinci gruplanmış evrişime beslemeden önce, her gruptaki kanallar birkaç gruba ayrılır ve ardından bu gruplar karıştırılır.

Kanal karıştırma

Bu karıştırmadan sonra, ikinci gruplanmış evrişim GConv2'yi her zamanki gibi yapmaya devam ediyoruz. Ancak şimdi, karıştırılmış katmandaki bilgiler karıştırıldığından, temel olarak GConv2'deki her bir gruba özellik haritası katmanının farklı gruplarını besliyoruz. Sonuç olarak, yalnızca kanal grupları arasında bilgi akışı sağlamakla kalmaz, aynı zamanda özellik gösterimi de geliştirilir.

12. Noktadan noktaya gruplama evrişimi

ShuffleNet makalesi (ShuffleNet: Mobil Cihazlar için Son Derece Etkili Evrişimli Sinir Ağı, https://arxiv.org/abs/1707.01083) ayrıca Noktasal gruplanmış evrişimi tanıtır. Genel olarak MobileNet veya ResNeXt'de gruplanmış evrişim için, gruplama 1x1 evrişim yerine 3x3 uzaysal evrişim üzerinde gerçekleştirilir.

ShuffleNet makalesi, 1x1 evrişimin hesaplama maliyetinin de çok yüksek olduğuna inanıyor ve 1x1 evrişimi de gruplamak için öneriliyor. Noktadan noktaya gruplama evrişimi, adından da anlaşılacağı gibi, 1x1 evrişimler üzerinde gruplama işlemleri gerçekleştirmektir. Bu işlem, evrişimlerin gruplandırılmasıyla aynıdır, tek bir değişiklikle, yani NxN filtresi (NxN) yerine 1x1 filtre > 1) Uygulama.

Bu makalede yazar, hepimizin bildiği 3 tür evrişimi kullanır: (1) Karışık gruplanmış evrişim; (2) Noktasal gruplanmış evrişim; ve (3) Derinlik ayrılabilir evrişim. Bu mimari tasarım, doğruluğu korurken hesaplama miktarını önemli ölçüde azaltabilir. Gerçek mobil cihazlarda, ShuffleNet'in sınıflandırma hatası AlexNet'inkiyle karşılaştırılabilir. Ancak, AlexNe'nin 720 MFLOP'larını kullanmaktan ShuffleNet'in 40-140 MFLOP'larını kullanmaya kadar, hesaplama maliyeti önemli ölçüde azaldı. Mobil cihazlar için evrişimli sinir ağları alanında, ShuffleNe nispeten küçük hesaplama maliyeti ve iyi model performansı ile popülerdir.

Diğer referans blog gönderileri

  • "Derin Öğrenmede Farklı Dönüşüm Türlerine Giriş": https://towardsdatascience.com/types-of-convolutions-in-deep-learning-717013397f4d

  • "İnceleme: DilatedNet - Genişletilmiş Evrişim (Anlamsal Bölümleme)": https://towardsdatascience.com/review-dilated-convolution-semantic-segmentation-9d5a5bd768f5

  • "ShuffleNet: Mobil Cihazlar için Son Derece Verimli Evrişimli Sinir Ağı": https://medium.com/syncedreview/shufflenet-an-extremely-efficient-convolutional-neural-network-for-mobile-devices-72c6f5b01651

  • "Ayrılabilir evrişimler" Ayrılabilir Evrişimlere Temel Bir Giriş ": https://towardsdatascience.com/a-basic-introduction-to-separable-convolutions-b99ec3102728

  • Başlangıç ağı "Başlangıç Ağının Sürümlerine Basit Bir Kılavuz": https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202

  • "Filtre Grupları (Gruplanmış Evrişim) Hakkında Bir Eğitim": https://blog.yani.io/filter-group-tutorial/

  • "Evrişim aritmetik animasyon": https://github.com/vdumoulin/conv_arithmetic

  • "Transposed Convolution ile yukarı örnekleme": https://towardsdatascience.com/up-sampling-with-transposed-convolution-9ae4f2df52d0

  • "Derin Öğrenme için Dönüşümleri Sezgisel Olarak Anlamak": https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1

kağıt

  • Ağdaki Ağ: https://arxiv.org/abs/1312.4400

  • Genişletilmiş Evrişimlerle Çok Ölçekli Bağlam Birleştirme: https://arxiv.org/abs/1511.07122

  • Derin Evrişimli Ağlar ve Tamamen Bağlı CRF'ler ile Anlamsal Görüntü Segmentasyonu: https://arxiv.org/abs/1412.7062

  • ShuffleNet: Mobil Cihazlar için Son Derece Verimli Evrişimli Sinir Ağı: https://arxiv.org/abs/1707.01083

  • Derin öğrenme için evrişim aritmetiği kılavuzu https: //arxiv.org/abs/1603.07285

  • Konvolüsyonlarla daha derine inmek: https://arxiv.org/abs/1409.4842

  • Bilgisayarla Görü için Başlangıç Mimarisini Yeniden Düşünmek: https://arxiv.org/pdf/1512.00567v3.pdf

  • İleri beslemeli hızlandırma için düzleştirilmiş evrişimli sinir ağları: https://arxiv.org/abs/1412.5474

  • Xception: Derinlemesine Ayrılabilir Dönüşümlerle Derin Öğrenme: https://arxiv.org/abs/1610.02357

  • MobileNets: Mobil Görüntü Uygulamaları için Verimli Evrişimli Sinir Ağları: https://arxiv.org/abs/1704.04861

  • Deconvolution ve Dama Tahtası Eserleri: https://distill.pub/2016/deconv-checkerboard/

  • ResNeXt: Derin Sinir Ağları için Toplu Artık Dönüşümler: https://arxiv.org/abs/1611.05431

aracılığıyla: https://towardsdatascience.com/a-comprehensive-introduction-to-different-types-of-convolutions-in-deep-learning-669281e58215 Lei Feng.com AI Technology Review Compilation

Orta seviye bir araba satın almak için 200.000 konfigürasyon çok düşük mü? Bu SUV'leri düşünün
önceki
Apple, 2999 yuan'dan başlayan yeni iPad Air ve iPad mini'yi piyasaya sürdü
Sonraki
Önümüzdeki hafta özlem asla değişmeyecek, bu hayatta aşk değişmeyecek, 4 takımyıldız eski aşkla el ele tutuşacak ve hayatının geri kalanında seninle kalacaksın
Holding Yüksek Öğrenimde İnovasyon ve Girişimcilik Zirvesi Forumu Hakkında Duyuru
Görsel estetiği aşan OPPO R17 Pro, yeni gradyan renkleri getiriyor
Siping City'deki Yukun Guoxue Deney Okulunda başlayarak: karmanın ortadan kaldırılmasını teşvik etmek için kendi kendine yapılan sihirli ilaç "Atıştırmalık Tozu"
Wanzi Long Article | Birleşmiş Milletler Raporu: Gelişmekte olan ülkeler finansal denetimi nasıl yenileyebilir?
Orijinal OPPO markası Realme yeni bir makine piyasaya sürmek üzere, resmi web sitesi sızdırılan fotoğraflar
Coca-Cola yine bir şeyler mi yapıyor? ! Ètudes 2017 sonbahar ve kış serisi geliyor!
Huatai Santa Fe 7, üçüncü çeyrekte 1.5T / 2.0L ile listelenecek
Önümüzdeki hafta, eski aşkın takımyıldızı Akasya Kırmızı Fasulye, çelişkiyi küle çevirecek ve eskisini eski haline getirmek kolay olacak.
Mustang EC30 resmi olarak listelenmiş, sübvansiyonlardan önce 128.800 yuan fiyatına sahip
Çevrimiçi araç çağıran sürücü ve kadın yolcu WeChat aslında sordu: 1000 yuan bir kez X olabilir mi?
Sevdiğiniz retro dize etiketi yine burada! Kappa ve CHARMS sınırlı bir seri başlatıyor!
To Top