Xception ağ mimarisi hakkında biraz anlayış

Xception ağ mimarisi hakkında biraz anlayış

Python gelişmiş öğretici

Makine öğrenme

Derin öğrenme

Metni girin

Bazı xception için

açık

DL'ye Giriş: "Başlangıç" ve "Xception" hakkında şeyler

Başlangıç, sinir ağı yapısının bir başyapıtıdır ve "çok boyutlu evrişim" ve "büyük evrişim çekirdekleri yerine çok sayıda küçük evrişim çekirdeği" gibi kavramlar, günümüzün birçok mükemmel ağ mimarisinin temel taşlarıdır. Buna dayalı olarak Xception'ın ortaya çıktığı ve yazarın Extreme Inception adını verdiği ve Depthwise Separable Conv'nin önerdiği de etkileyici olduğu doğrudur.

Bu makale, makalenin içeriğini ayrıntılı olarak açıklamamakta, sadece önerilen temel kavram ve yapıları tartışmakta ve kronolojik sırayla tartışmaktadır. İlk tartışma, Inception'ın çok boyutlu evrişim çekirdeği ve evrişim çekirdeği değişimidir, ardından Darboğaz'a ve son olarak Xception'ın Derinlemesine Ayrılabilir Dönş.

içindekiler

Çok boyutlu bir evrişim çekirdeği

İki Noktasal Dönüşüm

Üç evrişimli çekirdek değişimi

Dört Darboğaz

Derinlikte Ayrılabilir Beş Dönş.

Altı Sunmary

Yedi Referans

01

Çok boyutlu evrişim çekirdeği

Inception'ın orijinal versiyonu, ana fikri, Giriş verilerini gözlemlemek için çok boyutlu evrişim çekirdeği .

Örneğin bir sahneye farklı mesafelerden bakarsak, aynı nesnenin boyutu farklı olacaktır, dolayısıyla farklı ölçeklerdeki evrişim çekirdeğinin gözlemlediği özellikler bu etkiye sahip olacaktır. Dolayısıyla aşağıdaki ağ yapısı şeması vardır:

Yani ağımız değişiyor Şişman , Ağın genişliğini artırın, aynı zamanda farklı ölçeklere uyum derecesini de iyileştirin.

02

Noktasal Dönüşüm

Ancak ağımız şiştikçe, hesaplama miktarı da arttı, bu nedenle hesaplama miktarını azaltmak için parametre miktarını azaltmanın bir yolunu bulmalıyız, bu nedenle Inception v1'deki son sürüm 1x1 evrişim çekirdeği ekledi.

Girdi özelliği haritasının boyutsallığını azaltmak için 1x1 evrişim çekirdeğini kullanın, bu, parametre miktarını büyük ölçüde azaltacak ve böylece hesaplamayı azaltacaktır.

Örneğin girdi verisinin boyutu 256 boyuttur. 1x1 evrişimden sonra çıktımızın boyutu 64 boyut ve parametre miktarı orijinal 1414'tür.

Bu, genellikle 1x1 evrişim olarak bilinen Noktasal Evrişim'dir, PW olarak kısaltılır, esas olarak kullanılır Veri boyutluluğunun azaltılması, parametre miktarının azaltılması .

Bazıları boyut yükseltmesi için PW kullanır. MobileNet v2'de PW, 3 özellik haritasını 6 özellik haritasına dönüştürmek için kullanılır. Giriş verilerinin özelliklerini zenginleştirin .

MobileNet v2 hakkında daha fazla bilgi edinmek istiyorsanız, orijinal MobileNet V2-arxiv.org metnini okuyabilir ve ardından bu MobileNet V2 kağıt-Michael Yuan'ın ilk okumasını okuyabilirsiniz.

03

Evrişim çekirdek değişimi

PW ile bile, çünkü 5x5 ve 7x7 evrişim çekirdekleri parametreyi doğrudan hesaplar Hala çok büyük , Eğitim süresi hala nispeten uzun, optimize etmemiz gerekiyor.

İnsan bilgeliği sonsuzdur, bu yüzden büyük evrişim çekirdekleri yerine çok sayıda küçük evrişim çekirdeği kullanma yöntemi buldum. Bu, şekilde gösterildiği gibi Başlangıç v3'tür:

5x5 evrişim yerine iki 3x3 evrişim çekirdeği kullanıldığında, etki benzerdir, ancak parametrelerin miktarı çok azaltılarak optimizasyon amacına ulaşılır. Sadece parametrelerin sayısı az olmakla kalmaz, katman sayısı da artar ve derinlik de daha derindir.

Normal kareye ek olarak, 3x3 = 3x1 + 1x3 ayrıştırılmış bir versiyonumuz da var.Bu etki, daha derin derinlik durumunda normal evrişim çekirdeğinden daha iyidir.

Girdinin 256 boyut ve çıktının 512 boyut olduğunu varsayıyoruz ve parametre miktarını hesaplıyoruz:

5x5 evrişimli çekirdek

256 5 5 512 = 3276800256 5 5 512 = 3276800

İki 3x3 evrişim çekirdeği

256 3 3 256 + 256 3 3 512 = 589824 + 1179648 = 1769472256 3 3 256 + 256 3 3 512 = 589824 + 1179648 = 1769472

Karşılaştırmalı Sonuçlar

17694723276800 = 0,5417694723276800 = 0,54

Parametre miktarı karşılaştırmasını görebiliriz, iki 3x3 evrişim çekirdeğinin parametre miktarı 5x5'in yarısıdır, bu da eğitim hızını büyük ölçüde hızlandırabilir.

04

Darboğaz

Yukarıdaki yapı ve yöntemle bile, parametre miktarımızın hala çok büyük olduğunu bulduk, bu nedenle parametre miktarını azaltmak için Darboğaz yapısını oluşturmak için yukarıdaki yöntemi birleştirdik.

Darboğazın üç aşamalı süreci, önce PW ile verilerin boyutluluğunu azaltmak, ardından geleneksel evrişim çekirdeğinin evrişimini gerçekleştirmek ve son olarak PW ile verilerin boyutluluğunu artırmaktır. Anlamamıza yardımcı olacak bir örnek verelim:

Yukarıdaki şekle göre bir karşılaştırma hesabı yapalım.Giriş özellik haritasının boyutunun 256 boyut olduğunu varsayarsak, çıktı boyutunun da 256 boyut olması gerekir. İki işlem vardır:

Doğrudan 3x3 evrişim çekirdeğini kullanın. 256 boyutlu girdi, 256 boyutlu bir özellik haritası çıkarmak için doğrudan 3 × 3 × 256 evrişimli katmandan geçer, ardından parametre miktarı: 256 × 3 × 3 × 256 = 589,824'tür.

Bir 1x1 evrişim çekirdeğinden, sonra bir 3x3 evrişim çekirdeğinden ve son olarak bir 1x1 evrişim çekirdeğinden geçer. 256 boyutlu girdi önce 1 × 1 × 64 evrişimli katmandan, ardından 3x3x64 evrişimli katmandan ve son olarak 1x1x256 evrişimli katmandan geçer, toplam parametre miktarı: 256 × 1 × 1 × 64 + 64 × 3 × 3 × 64 + 64 × 1 × 1 × 256 = 69.632.

İki yöntemi karşılaştırdıktan sonra, ikincisinin parametresinin öncekinden çok daha küçük olduğunu açıkça görebiliriz. Darboğaz'ın temel fikri Tek bir büyük evrişim çekirdeğini değiştirmek için birden çok küçük evrişim çekirdeği kullanın , Büyük evrişimli çekirdek çalışmasının bir kısmını değiştirmek için 1x1 evrişim çekirdeği kullanın.

05

Derinliğe Göre Ayrılabilir Dönş.

Hâlâ çok sayıda parametrenin olduğunu gördük, bu nedenle insanlar bunu tekrar düşündü ve Derinliğe Göre Ayrılabilir Dönş. Bu not orijinal olarak, daha sonra MobileNet ve Xception'da Google tarafından kullanılan Tek Kanal İçi Evrişim, Topolojik Alt Bölümleme ve Uzamsal "Darboğaz" Yapısı kullanılarak Verimli Evrişimli Katmanların Tasarımı adlı kağıttan türetilmiştir.

Bu evrişimin genel anlamı, her bir derinlik haritasını ayrı ayrı bükmek ve sonra birleştirmektir.Adımlar, önce Depthwise Conv ve sonra Pointwise Conv'dir, bu da parametrelerin miktarını büyük ölçüde azaltır. Aşağıdaki şekil Xception modülünün yapısını göstermektedir:

Genel adımlar aşağıdaki gibidir:

Farklı kanallara göre bir evrişim gerçekleştirin (giriş kanallarının Özellik Haritalarını oluşturun) -DW

Ardından bu Özellik Haritalarını ikinci kez bir araya getirin - PW

Metin biraz soyut görünüyor, onu anlamak için kestane kullanalım.

Giriş 2 boyutlu veridir, normal evrişime kıyasla 3x3 evrişim gerçekleştirmeli ve 3 boyutlu veri çıkarmalıyız:

Normal evrişim

2 3 3 3 = 542 3 3 3 = 54

DW evrişimi

2 3 3 + 2 1 1 3 = 18 + 6 = 242 3 3 + 2 1 1 3 = 18 + 6 = 24

Parametre karşılaştırması

2454 = 0,4442454 = 0,444

Parametrelerin miktarının normal evrişimin yarısı olduğunu görebiliriz, ancak aslında daha az olabilir. Ancak girdi ve çıktı boyutları çok farklı olmadığında, etki o kadar açık değildir .

Teorik hesaplama

PDW = I Dk Dk + I OPDW = I Dk Dk + I O

PNormal = I Dk Dk OPNormal = I Dk Dk O

PDWPNormal = 1O + 1D2k1D2k PDWPNormal = 1O + 1Dk21Dk2

II, giriş kanallarının sayısıdır, OO, çıkış kanallarının sayısıdır ve DkDk, standart evrişim çekirdeğinin boyutudur.

3x3 evrişim çekirdeğini kullandığımızda, parametre miktarının yaklaşık olarak standart evrişim çekirdeğinin 1919'una eşit olduğunu görebiliriz, bu da parametre miktarını büyük ölçüde azaltır ve eğitimi hızlandırır.

06

Özet

Başlangıçtan Xception'a kadar olan gelişim perspektifinden, her yenilik övülür ve mükemmel yapısal tasarım ve fikirler takdire şayan.

Farklı boyutlardaki çoklu evrişimli çekirdekler, farklı ölçeklerdeki özelliklere uyarlanabilirliği geliştirir.

PW evrişimi, boyutluluğu azaltırken veya yükseltirken, ağın ifade yeteneğini geliştirir.

Birden çok küçük boyutlu evrişim çekirdeği, parametre miktarını azaltırken ağı derinleştirmek için büyük evrişim çekirdeklerinin yerini alır.

Gelişmiş Darboğaz yapısı, ağ parametrelerinin miktarını büyük ölçüde azaltır.

Gelişmiş Derinliğe Göre Ayrılabilir Dönüşüm tasarımı, parametre miktarını yeniden azaltır.

Bu temel yapıların düşüncelerini bilerek, devlerin omuzlarında durabilir, ileriye daha iyi bakabilir ve daha iyi bir yöne gidebiliriz.

07

Referans

Başlangıç v1-Konvolüsyonlarla Daha Derine Gidiyor

Inception v3-Bilgisayarla Görü için Başlangıç Mimarisini Yeniden Düşünmek

Ters Artıklar ve Doğrusal Darboğazlar: Sınıflandırma, Tespit ve Segmentasyon için Mobil Ağlar

Hafif evrişimli sinir ağlarına genel bakış: SqueezeNet, MobileNet, ShuffleNet, Xception-Sütunu bilin

# Derin Öğrenme # Evrişimli Sinir Ağı

DL'ye Giriş: "Evrişim" sürecini tekrar anlamak

Derin öğrenmeye dayalı "hedef tespit" algoritmalarına genel bakış

Lemar, Morata kaçırılan fırsatı kazanmak için golü değiştirdi, Atletico Madrid 1-0 Evar
önceki
Oyunda kendini Li Yifeng'i korumaya adamıştır ve şimdi kaykaycı çocuk olmak için kapüşonlu ve kot pantolon giyiyor.
Sonraki
TensorBoard giriş anlayışını bilmelidir
İlk yarı-Evergrande 1-1 Luneng, Talisca ve Pele kafa vuruşlarıyla gol attı
Wang Junkai iyi bir mizaca sahip, rahat pantolonlu eklenmiş bir süveter giyiyor, asil bir çocuk gibi balıkçı şapkası takıyor
[Görüşme Sorusu] Newton'un yöntemi ile gradyan iniş yöntemi arasındaki fark nedir?
Bundesliga toplantısı: Ao Borg kan banyosu Stuttgart, Huo Köyü Kum Madeni'ni yendi Leipzig Moenchen'i ele geçirdi
Bir zamanlar otoriter olarak hareket eden Zhen Huan, şimdi metalik batı kesimli geniş paçalı pantolon giyiyor, aurası 1.8 metreye yükseldi.
Python'un ilk sezonunun 115 bölümünden sonra, iyileştirilmiş Python derinlemesine ve genişletilmiş video geliyor mu?
Jiuhua Dağı Yimeng Dağı Dünya Jeoparkı seçildi, Çin'in toplam seleksiyon sayısı 39'a yükseldi ve dünyada birinci sırada
İlk 4 yılında, kısa etekli Dumbo tişörtü giyen, 35 yaşında ve hassasiyetle dolu "Lagerstroemia" oyunculuğu ile popüler oldu.
Makine öğreniminde çeşitli [entropinin] anlamı ve özüne genel bakış
Yuan Xiangqin hala sevimli, Lin Yichen beyaz çoraplı çiçekli bir etek giyiyor ve elinde balonlar tutuyor, minyon ve sevimli
Çeşitli optimize edici algoritmalar Optimize Edici'nin derin öğrenme ayrıntılı açıklaması
To Top