Derin evrişimli sinir ağına dayalı budama optimizasyonu

Derin öğrenme, yapay sinir ağlarından kaynaklandı. Daha sonra, LECUN Y, el yazısıyla yazılmış rakam tanıma için evrişimli sinir ağı LeNet-5'i önerdi ve iyi sonuçlar elde etti, ancak o sırada yeterince dikkat çekmedi. Daha sonra, BP algoritması gradyanın ortadan kalktığına işaret edildi.Ağ geri yayıldığında, önceki ağ katmanına aktarılan hata gradyanı temelde 0'a yakındı ve bu da etkili öğrenmeyi imkansız hale getirdi. 2006 yılında, HINTON GE, çok sayıda gizli katmana sahip bir ağın, katman katman ön eğitim yoluyla derin sinir ağlarını eğitmedeki zorlukların üstesinden gelebileceğini ve ardından derin öğrenmenin hızlı bir gelişim dönemini başlattığını öne sürdü. Sürekli olarak bazı yeni ağ yapıları önerilmektedir (AlexNet, VGGNet, GoogleNet, ResNet, vb.) Ağ yapısı sürekli optimize edilir ve performans sürekli iyileştirilir Görüntü tanıma için iyi sonuçlar elde edebilir. Bununla birlikte, bu ağların çoğu, bilgisayarın görüntüleri işlemesini gerektiren ve daha fazla bilgi işlem kaynağı gerektiren daha fazla ağ katmanına sahiptir.Genel olarak, eğitim hızını artırmak için daha iyi GPU'lar kullanılır, bu da donanım kaynaklarına (bellek, işlemci, Depolama) Alt ekipmanın çalışmasının sınırlamaları vardır.

Derin öğrenme şu anki aşamaya kadar gelişmiştir ve araştırması kabaca iki yöne ayrılabilir: (1) Ağ performansını iyileştirmek için karmaşık ağ yapıları tasarlayın; (2) Hesaplama karmaşıklığını azaltmak için ağ modellerini sıkıştırın. Bu yazıda, modeldeki fazlalık parametrelerin kaldırılması, hesaplama miktarının azaltılması ve programın hızının arttırılması olan ikinci durumu ele alacağız.

Şu anda, birçok ağın daha karmaşık mimari tasarımları vardır, bu da ağ modelinde çok fazla parametre fazlalığına neden olur, hesaplama karmaşıklığını artırır ve hesaplama kaynaklarının gereksiz israfına neden olur. Model sıkıştırması genellikle aşağıdaki araştırma yönergelerine sahiptir: (1) MobileNet ağı gibi ağ performansını daha özlü ve verimli hale getirmek için daha rafine bir ağ yapısı tasarlayın; (2) Modeli uyarlayın, ağın yapısı ne kadar karmaşıksa, o kadar fazla olacaktır Çok sayıda parametre gereksizdir, bu nedenle eğitimli modeli uyarlamak için etkili bir değerlendirme yöntemi bulabilirsiniz; (3) Verilerin doğruluğunu korumak için, ortak ağ modelinin ağırlığı genellikle yüzen 32 bit uzunluk olarak kaydedilir. Veri depolama ve hesaplamanın karmaşıklığını büyük ölçüde artıran nokta türü. Bu nedenle, veriler ölçülebilir veya veriler ikilileştirilebilir ve verilerin nicelleştirilmesi veya ikilileştirilmesi yoluyla veri depolama büyük ölçüde azaltılabilir. Ek olarak, evrişim çekirdeğinin bir kısmını O olacak şekilde dağıtmak için evrişim çekirdeğini dağıtmak ve böylece hesaplama miktarını azaltmak da mümkündür.

Bu makale, ikinci yönteme odaklanmaktadır, modeli budamak, gereksiz ağırlık parametrelerini keserek hesaplama miktarını azaltmak.

1 CNN Evrişimli Sinir Ağı

Evrişimsel sinir ağı, ileri beslemeli bir ağdır Ağ yapısı, evrişimli bir katman, bir havuzlama katmanı ve tamamen bağlantılı bir katmandan oluşur. Evrişimli katmanın rolü, eğitim seti göz önüne alındığında giriş katmanından özellik haritalarını çıkarmaktır:

Bir havuzlama katmanı genellikle evrişimli katmandan sonra eklenir. Havuzlama aynı zamanda alt örnekleme olarak da adlandırılır. Havuzlama katmanı, önemli özellikleri kaydederken giriş matrisinin enlemini azaltmak için kullanılabilir. Havuzlama, maksimum havuzlama ve ortalama havuzlamaya bölünmüştür , Maksimum havuzlama, bitişik matris alanının maksimum değerini verir. Havuzlama katmanı, ağ ölçeğini ve parametre artıklığını azaltma etkisine sahiptir.

2 Evrişimli sinir ağı budama

2.1 Model sıkıştırma yöntemi

Bu makale, modeli kırpmak için aşağıdaki yöntemleri kullanır: (1) Önce ağı eğitmek için aktarım öğrenme yöntemini kullanın ve ardından ağın yakınlaşması ve optimuma ulaşması için ağda ince ayar yapın, modeli kaydedin; (2) Kaydedilen modeli budayın ve yeniden eğitin , Kırpılan model parametrelerinin ince ayarı eğitim yoluyla yapılır ve bu, kırpma için mevcut evrişim çekirdeği tespit edilinceye kadar tekrarlanır; (3) Eğitim sayısı belirlenen standarda ulaşana kadar önceki adımda kırpılan modeli yeniden eğitin a kadar. Spesifik süreç Şekil 2'de gösterilmektedir.

Yukarıdaki işleme akışı nispeten basittir ve odak noktası, ağ modelindeki nöronların öneminin nasıl değerlendirileceğidir. Bu makale, önemi değerlendirmek için bir araç olarak C (W) değer fonksiyonunu kullanır. Veri kümesi D için, ağ modeli Modeli eğitimden sonra elde edilir ve ağırlık parametreleri şunlardır:

2.2 Parametre değerlendirmesi

Ağ parametrelerinin değerlendirilmesi, model sıkıştırmada çok önemli bir rol oynar. Genel olarak, aşağıdaki yöntem, ağırlık parametresinin l2 normunun boyutunu karşılaştırarak daha küçük bir l2 normlu evrişim çekirdeğini silmek için kullanılır. Ek olarak, parametreler, aktivasyon doğrulama yöntemi ile de değerlendirilebilir ve veri seti, ağ üzerinden ileriye doğru yayılabilir.Bir ağ düğümü için, aktivasyon fonksiyonu aracılığıyla çok sayıda değer 0 veya belirli bir eşiğin altındaysa, o zaman Bırak.

2.2.1 l2 normunu en aza indirin

3 Deneysel sonuçlar

3.1 Eğitim ve budama sonuçları

Bu tasarım, bir Ubuntu16.04 sisteminde 1080Ti grafik kartı ile donatılmış yüksek performanslı bir sunucuda test edilmiştir ve eğitim ve test için Pytorch derin öğrenme çerçevesini kullanır. Bu tasarım, 16 tür yaygın yol engeli resmini eğitmek için VGG16 ağını kullanır Veri setindeki eğitim setinde 24.000 resim ve eğitim setinde 12.000 resim bulunmaktadır. VGG16 ağında toplam 4224 evrişimli çekirdek olmak üzere 16 evrişimli ağ katmanı vardır. Eğitmek için transfer öğrenme yöntemini kullanın, dönemi 30'a ayarlayın ve eğitim sonucu Şekil 3'te gösterilmektedir.

Şekil 3'te, dikey eksen eğitimin doğruluğunu, yatay eksen ise yineleme sayısını temsil etmektedir. Nihai eğitim doğruluğu% 97.97'dir.

Yukarıdaki eğitim parametrelerini model olarak kaydedin, budayın ve 5 kez budayın.İlk olarak budanacak ağ katmanındaki evrişim çekirdeği l2 normunun minimum değerine göre filtrelenecek ve her seferinde 512 evriç kaldırılacaktır. Kırpma sonrası modelde kalan evrişim çekirdek sayısı Şekil 4'te gösterilmektedir.

Şekil 4'teki dikey eksen, modelde tutulan, ilk 4224'ten 1664'e düşen ve kırpma oranı% 60,6'ya ulaşan evrişim çekirdeği sayısını temsil etmektedir. 5 yinelemeden sonra kırpmanın doğruluğu Şekil 5'te gösterilmektedir.

Nihai budama modelini elde etmek için budanmış ağı yeniden eğitin Eğitim süreci Şekil 6'da gösterilmektedir.

Sonunda% 98,7'lik bir doğruluk oranına ulaştı. Budamadan önceki model boyutu 512 MB'dir ve model, budama işleminden sonra 162 MB'ye düşürülebilir, bu da modelin bellek kullanımını% 68,35 oranında azaltır.

3.2 Gömülü platform altında taşıma testi

Pytorch çerçevesi, gömülü Raspberry Pi 3. Nesil Tip B platformuna aktarılır. Raspberry Pi 3b, 1.2 GHz dört çekirdekli BCM283764-bit ARM A53 işlemciye, 1 GB çalışan belleğe ve yerleşik BCM43143 WiFi'ye sahiptir. Raspberry Pi'nin sınırlı çalışan belleği nedeniyle, Pytorch çerçeve kaynak kodunu derlemek için 2 GB'lık takas sanal bellek eklendi. GPU sunucusu üzerinde eğitilmiş ağ modelini gömülü platforma aktarın ve test edin. 123 test resmini tespit edip sınıflandırın ve kırpmadan önce orijinal modeli yükleyin. 109.47 s sürer ve doğruluk% 95.08'dir. Budanmış modeli yükleyin ve 123 resmi test edin 41.85 saniye sürdü ve doğruluk% 96.72'ye ulaştı. Sonuç Şekil 7'de gösterilmektedir. Modelin kesilmesinden sonraki sürenin% 61 oranında azaldığı ve hızın büyük ölçüde iyileştirildiği görülmektedir.

4. Sonuç

Şu anda, derin öğrenme sıcak bir araştırma yönüdür.Görüntü algılama, sınıflandırma ve konuşma tanımada benzeri görülmemiş bir başarı elde etmiştir. Bununla birlikte, bunlar yüksek performanslı ve yüksek konfigürasyonlu bilgisayarlara dayanmaktadır ve çeşitli derin öğrenme çerçeveleri ve ağ modelleri ortaya çıkmıştır. Derin öğrenmenin yavaş bir gelişim dönemine gireceği öngörülebilir, geniş bir uygulama alanı yoksa derin öğrenmenin gelişimi yakında kesintiye uğrayacaktır. Gömülü platformlara uygulamanın çok iyi bir geliştirme yönü olacağı doğrudur. Derin öğrenmenin gelecekte gömülü alanda daha büyük bir atılım yapacağına ve mobil platformlarda dağıtımın artık bir sorun olmayacağına inanıyorum.

Referanslar

LECUN Y, BOTTOU L, BENGIO Y, vd. Doküman tanımaya uygulanan gradyan tabanlı öğrenme.IEEE'nin Bildirileri, 1998, 86 (11): 2278-2324.

HINTON GE, SALAKHUTDINOV R R. Sinir ağları ile verinin boyutluluğunun azaltılması. Science, 2006, 313 (5786): 504-507.

HOWARD A G, ZHU M, CHEN B, ve diğerleri.Mobil Ağlar: mobil görüntü uygulamaları için verimli evrişimli sinir ağları. ArXiv ön baskı arXiv: 1704.04861, 2017.

HAN S, MAO H, DALLY W J.Derin sıkıştırma: budama, eğitimli nicemleme ve Huffman kodlaması ile derin sinir ağlarını sıkıştırma. Fiber, 2015, 56 (4): 3-7.

Zhou Feiyan, Jin Linpeng, Dong Jun. Evrişimli sinir ağları üzerine bir araştırma. Chinese Journal of Computers, 2017, 40 (6): 1229-1251.

ANWAR S, HWANG K, SUNG W, ve diğerleri.Derin evrişimli sinir ağlarının yapısal budaması.JETC, 2017, 13 (3): 1-18.

AYINDE BO, ZURADA J M.Yedekli özellikli budama kullanarak verimli Konvnetler oluşturma arXiv preprint arXiv: 1802.07653, 2018.

LI H, KADAV A, DURDANOVIC I, ve diğerleri.Etkili ConvNets için budama filtreleri. ICLR 2017, 2017.

yazar bilgileri:

Ma Zhinan 1, Han Yunjie 2, Peng Linyu 1, Zhou Jinfan 1, Lin Fuchun 1, Liu Yuhong 1

(1. Büyük Veri ve Bilgi Mühendisliği Okulu, Guizhou Üniversitesi, Guiyang 550025, Guizhou; 2. Guiyang Bilgi Teknolojisi Enstitüsü, Guiyang 550081, Guizhou)

Çin markalı otomobil pazarının performansı pek iyi değil, Roewe i6 moral artırabilir mi?
önceki
Arabanızı kokutmak istiyorsanız, ona uyan bir takım elbise giyin!
Sonraki
Ormanın Düşüşü "Cesur Oyun" Fragmanı
FPGA'ya Dayalı Havayolu Veri Toplama Sisteminin Tasarımı
"Luigi'nin Perili Evi" nin AR versiyonunu yapmak için Labo kullanan bu Japon oyuncuya bakın
Yeni bir özerklik yüksekliğini tazeleyin! Changan CS ailesinin neden milyonlarca iyiliği var?
Piyasa mantıklıyken, neden bu Batı Yakası gayrimenkulü piyasaya karşı iyi satıyor?
"First Lady" filmi, Beyaz Saray'ın perde arkasındaki krizi göstermek için nihai fragman olan "Kennedy Suikastı" nı ifşa ediyor.
Dürüst olmak gerekirse: Roewe i60.25Cd'nin ultra düşük rüzgar direnci aslında "patlama" dır!
Yedao, "E-sporların Efsanesi" adlı yeni çalışmasını duyurdu: Dünya size bir şampiyonluk borçlu
"Industry Hotspot" Meizu kararlı! Zhuhai hükümeti desteklemek için sermaye enjekte edecek
"Antarktika Sevgisi" perde arkası kütüğü, eksi 90 derece, Zhao Youting'in teknesi buz kütlelerini aştı ve 4 günde indi
Savaş dostluğuna tutkuyla değer verin ve kahramanca emellerinizi tazeleyin Changsha Demiryolu Kamu Güvenliği Ofisi, kahraman şehitler için bir anma töreni başlattı
Bu arabaları satın aldıktan sonra annemin artık numarayı sallayamama konusunda endişelenmesine gerek yok.
To Top