Stanford ICLR 2018 Kabul Edilmiş Makale: Efficient Sparse Winograd Convolutional Neural Network | ICLR 2018

Leifeng.com AI Technology Review Press: ICLR 2018, Mayıs ayı başında Vancouver, Kanada'da düzenlendi. "Verimli Seyrek-Winograd Evrişimli Sinir Ağları" makalesi ICLR 2018 tarafından kabul edildi. Stanford Üniversitesi'nden ilk yazar ve doktora öğrencisi Liu Xingyu, Leifeng.com AI Technology Review için izinsiz çoğaltılamayan özel bir yorum yazısı yazdı.

Giriş

Evrişimli sinir ağları, birçok makine öğrenimi uygulamasında büyük avantajlar göstermiştir. Hesaplama performansı ve güç tüketimi, esas olarak evrişim sürecindeki çarpma işlemlerinin sayısı ile belirlenir. Bununla birlikte, evrişimli sinir ağlarının büyük miktarda hesaplanması, mobil cihazlardaki uygulamasını sınırlar.

Evrişimli sinir ağlarında çarpma sayısını azaltmak için şu anda iki ana yöntem vardır:

  • 1) Evrişimin doğrusal cebir özelliklerinden yararlanın: Örneğin, Winograd evrişim algoritması, nöronların ve evrişim çekirdeklerinin doğrusal dönüşümü yoluyla çarpma sayısını azaltabilir;

  • 2) Budamadan sonra ağırlıkların seyrekliği ve ReLU nedeniyle nöronların seyrekliği gibi sinir ağı sıkıştırması.

Bununla birlikte, yukarıdaki iki yön uyumlu değildir: nöronların doğrusal dönüşümü ve evrişim çekirdeklerinin orijinal seyrekliği artık mevcut olmayacaktır, bu nedenle seyreklik hızlanma için kullanılamaz. Seyrek evrişimli sinir ağında Winograd evrişim algoritmasını kullanmak, bunun yerine hesaplama miktarını artıracaktır.

Yukarıdaki sorunlara yanıt olarak, bu makale iki iyileştirme önermektedir.

  • İlk olarak, ReLU aktivasyon fonksiyonunu Winograd alanına taşıyoruz, böylece çarpma işlemi sırasında nöronlar seyrek oluyor;

  • İkinci olarak, Winograd dönüşümünden sonra ağırlıkları budayarak çarpma işlemi sırasında ağırlıkların seyrek olmasını sağladık.

Deneysel sonuçlar, doğruluk kaybı% 0,1 dahilinde olduğunda, önerdiğimiz yeni yöntemin CIFAR-10, CIFAR-100 ve ImageNet veri setlerinde çarpma sayısını sırasıyla 10,4 kat, 6,8 kat ve 10,8 kat azaltabileceğini ve çarpma azaltma oranının benzer olduğunu göstermektedir. Orijinal karşılaştırmaya göre 2,0-3,0 kat artış.

Seyrek Winograd evrişimi

Geleneksel Winograd evrişim algoritmasının temel birimi, bir pxp boyutunda girdi zaman etki alanı özellik eşlemine (d) uygulanır ve zaman etki alanı evrişim çekirdeği g, (p-2) x (p-2) Çıkış bloğu S. Çıktı özelliği haritasını elde etmek için tüm çıktı blokları bir araya getirilir.

Özel işlem: d ve g, Winograd etki alanının p x p boyutunda B ^ TdB ve GgG ^ T elde etmek için sırasıyla B ve G matrisleriyle dönüştürülür. İkisi Hadamard çarpımına tabi tutulduktan sonra, S elde etmek için A matrisi ile dönüştürülür. P 4'e eşit olduğunda, B ve A matrisleri yalnızca 0, 1 ve -1 öğeleri içerir, bu nedenle B ve A ile çarpma yalnızca toplama ve çıkarma gerektirir. Hesaplama süreci aşağıdaki formülde gösterilmektedir:

Zaman etki alanı budama ağı: Sıradan bir budanmış ağ kullanılırken (Han ve diğerleri, 2015), önceki katmanın ReLU aktivasyon fonksiyonu zaman alanı girişi d'ye uygulanır ve zaman alanı ağırlığı g budanır. Çıkış bloğu S, aşağıdaki formülle hesaplanır:

P = 4 olduğunda yapılan hesaplama aşağıdaki şekilde gösterilmektedir. D ve g sırasıyla ReLU ve budama nedeniyle seyrek olsa da, G () G ^ T ve B ^ T () B dönüşümleri zaman alanında 0'ı silecektir. Bu nedenle, seyreklik çarpma sayısını azaltamaz.

Winograd yerel budama ağı: Winograd yerel budama ağı (Liu ve diğerleri 2017, Li ve diğerleri 2017) kullanıldığında, önceki katmanın ReLU aktivasyon işlevi zaman alanı girişi d'ye uygulanır ve Winograd alan ağırlığı GgG ^ T budanır. Çıkış bloğu S aşağıdaki formülle hesaplanır

P = 4 olduğunda yapılan hesaplama aşağıdaki şekilde gösterilmektedir. Winograd etki alanı GgG ^ T'nin ağırlığı budama nedeniyle seyrek olsa da, B ^ T () B dönüşümü zaman etki alanı d içinde bulunan 0'ı silecektir. Bu nedenle, ReLU nedeniyle d zaman alanının seyrekliği, çarpımların sayısını hala azaltamaz.

Winograd-ReLU Evrişimli Sinir Ağı: Yukarıdaki sorunları çözmek için, Winograd-ReLU evrişimli sinir ağını önerdik. ReLU işlemlerini zaman alanı yerine Winograd alanına koyuyoruz. Bu şekilde, çarpma işlemi sırasında, Winograd etki alanı GgG ^ T'nin ağırlığı ve B ^ TdB girdisinin ağırlığı seyrektir ve çarpma sayısı daha da azaltılabilir. Çıkış bloğu S aşağıdaki formülle hesaplanır

P = 4 olduğunda yapılan hesaplama aşağıdaki şekilde gösterilmektedir.

Zaman alanında evrişim çekirdeğini tamamen terk ettiğimizi belirtmekte fayda var. ReLU, önceki katmanın evrişimli katmanına bağlı olduğundan, Winograd etki alanının ReLU işlemi aslında ikinci katmandan başlar. Yeni önerilen evrişimli sinir ağı mimarisinin ve sıradan evrişimli sinir ağının matematiksel olarak eşdeğer olmadığı belirtilmelidir. Bu nedenle, ağın eğitimi, budanması ve yeniden eğitiminin aşağıdaki şekilde değiştirilmesi gerekir.

Eğitim: Dönüştürülmüş evrişim çekirdeğini doğrudan Winograd etki alanında eğitiyoruz. Evrişim çekirdeği rastgele başlatıldıktan sonra, gradyan optimizasyon için geri yayılımla doğrudan hesaplanır.

Budama: Winograd etki alanı evrişim çekirdeğini budadık: mutlak değeri eşik t değerinden küçük olan tüm öğeler 0 olarak ayarlandı. Eşik t, belirli bir gerekli budama oranına r ulaşılarak hesaplanır. Deneylerimizde tüm katmanların budama oranı aynıdır.

Ağır eğitim: Yeniden eğitim için önceki adımda elde edilen budama maskesini kullanıyoruz. Yeniden eğitim sürecinde, budanmış ağırlık, maske aracılığıyla 0'a ayarlanmaya zorlanır. Ağ kaybı fonksiyonunun giriş nöronuna ve Winograd etki alanı ağırlığına gradyanı, zincir kuralı üzerinden yukarı akıştan geçen gradyan ile hesaplanabilir:

Deneyler ve sonuçlar

Yukarıdaki yöntemleri farklı veri kümelerindeki farklı ağ mimarilerine uyguluyoruz. Deneysel ağ mimarisindeki çoğu evrişim çekirdeğinin boyutunu 3x3 olarak seçiyoruz, bu da çoğu evrişim katmanının Winograd evrişim katmanlarına dönüştürülmesini sağlayabilir. Deneyler yapmak için CIFAR-10, CIFAR-100 ve ImageNet görüntü sınıflandırma veri setlerini kullanıyoruz. Her ağ mimarisi için, yukarıda bahsedilen üç tür ağı karşılaştırıyoruz. Üç tür ağın tümü, sıfırdan eğitilen ve yinelemeli olan budama-yeniden eğitim süreçleridir.

CIFAR-10:

Deneyler için VGG-nagadomi ağını kullanıyoruz. VGG-nagadomi, 8 kat 3x3 evrişimli katmana sahip hafif bir VGGNet olarak kabul edilebilir. İlk katmanın ağırlık yoğunluğunu% 80'e ayarladık ve kalan katmanları yinelemeli olarak% 80'den% 20'ye kadar budadık.

Yukarıdaki şekilden de görülebileceği gibi, doğruluk kaybı% 0.1'den az olduğunda, zaman etki alanı budama ağı ve Winograd yerel budama ağı yalnızca% 60'lık bir yoğunluğa budanabilirken, önerdiğimiz Winograd-ReLU ağı budanabilir. % 40 yoğunluk.

Yukarıdaki tablo, her bir budama ağının hesaplama miktarını ve ayrıca giriş nöronlarının ağırlığını ve yoğunluğunu karşılaştırır. Zaman etki alanı budama ağı ve Winograd yerel budama ağı, hesaplama miktarını sırasıyla 5,1 ve 3,7 kat azaltabilir. Önerdiğimiz Winograd-ReLU ağı, hesaplama miktarını 13,3 kat azaltabilir, bu da iki kıyaslama ağından sırasıyla 2,6 ve 3,6 kat daha yüksektir.

CIFAR-100:

Deneyler için ConvPool-CNN-C ağını kullanıyoruz. ConvPool-CNN-C, 7 adet 3x3 evrişimli katman bulunan 9 evrişimli katmana sahiptir. İlk katmanın ağırlık yoğunluğunu% 80'e ayarladık ve kalan katmanları yinelemeli olarak% 80'den% 20'ye kadar budadık.

Yukarıdaki şekilden de görülebileceği gibi, doğruluk kaybı% 0.1'den az olduğunda, Winograd'ın yerel budama ağı% 70 yoğunluğa budanabilirken, zaman alanı budama ağı ve önerdiğimiz Winograd-ReLU ağımız 60'a düşürülebilir. % Yoğunluk.

Yukarıdaki tablo, her bir budama ağının hesaplama miktarını ve ayrıca giriş nöronlarının ağırlığını ve yoğunluğunu karşılaştırır. Zaman etki alanı budama ağı ve Winograd yerel budama ağı, hesaplama miktarını sırasıyla 3,5 ve 3,2 kat azaltabilir. Önerdiğimiz Winograd-ReLU ağı, hesaplama miktarını 7.1 kat azaltabilir, bu da iki kıyaslama ağından sırasıyla 2.1 ve 2.2 kat daha yüksektir.

ImageNet:

Deneyler için ResNet-18 ağının bir varyantını kullanıyoruz. Bu varyant ile orijinal ResNet-18 arasındaki fark, 2x2 adım boyutlu 3x3 evrişimi değiştirmek için 1x1 adım boyutunda 3x3 evrişim ve 2x2 havuz katmanı kullanmamızdır. Aynı zamanda, son havuzlama katmanını da kaldırarak, son evrişimli katman grubunun boyutunu 14x14 yaptık. Evrişimli katmanın ağırlık yoğunluğunu% 80'den% 10'a kadar yinelemeli olarak budadık.

Yukarıdaki şekilden de görülebileceği gibi, doğruluk kaybı% 0,1'den az olduğunda, zaman etki alanı budama ağı ve Winograd yerel budama ağı sırasıyla yalnızca% 60 ve% 50 yoğunluğa budanabilirken, önerdiğimiz Winograd-ReLU ağı % 30 /% 35 yoğunluğa kadar budanmıştır.

Yukarıdaki tablo, her bir budama ağının hesaplama miktarını ve ayrıca giriş nöronlarının ağırlığını ve yoğunluğunu karşılaştırır. Zaman etki alanı budama ağı ve Winograd yerel budama ağı, hesaplama miktarını sırasıyla 5,1 ve 4,5 kat azaltabilir. Önerdiğimiz Winograd-ReLU ağı, hesaplama miktarını 13,2 kat azaltabilir, bu da iki kıyaslama ağından sırasıyla 2,6 ve 2,9 kat daha yüksektir.

tartışmak

Önerilen Winograd-ReLU ağının evrişim çekirdeğini görselleştiriyoruz. Res2a_2a katmanının ilk 6 giriş ve çıkış kanalını seçtik. Winograd-ReLU ağının evrişim çekirdeğinin bariz fiziksel anlam göstermediği görülebilir. Ancak, (2,2) öğesinin (soldan sağa ve yukarıdan aşağıya, başlangıç indeksi 1 olan) genellikle diğer öğelerden daha önemli olduğunu gördük. Olası nedenlerden biri, (2,2) öğesinin Winograd alanı giriş nöronunda özel olmasıdır: B ^ TdB'deki doğrusal dönüşümü yalnızca çıkarma olmadan toplama ile gerçekleştiren tek nörondur. Düzgün bir giriş özelliği haritasında bu, (2,2) öğesinin sıfır olmayan ortalamaya sahip tek öğe olduğu anlamına gelir.

Bağımsız mı yoksa ortak girişim mi? CR-V, ix35 ve X-Trail'den vazgeçmek, Haval H7'yi satın almak uygun maliyetli mi?
önceki
Hong Kong filmleri yeniden mi yükseliyor? "Genç ve Tehlikeli" den oluşan "Altın Kardeşler" eski ihtişamını yeniden şekillendirebilir mi?
Sonraki
"Star Wars Jedi: Fallen Order" ilk fragmanı yayınlandı: Sadece Güce inan
KNX veriyoluna dayalı akıllı ev kontrol sisteminin tasarım şeması
Alipay "Ant Card" cep telefonu kartının lansmanı yapıldı: ilk ay aktivasyonu aylık kira bedelsiz
Ağızdan ağza bir çalışma olan "Yol Alınmadı" bugün yayınlandı, Ma Yili Wang Xuebing'in imajı altüst oldu!
Öğlen Yıldızları | "Prenses Yunus" gece gökyüzüne uçuyor! Zhang Liangying, 70 metre yükseklikte şarkı söyledi; "Küçük Futbolcu" dan Wan Xiang, Chongqing takımına katılacak, Dong Lu şüphelere cevaben
AR gözlükleri Cook'un Jobs'un etkisini kırmasına izin verebilir mi?
"Zombie World War" sürüm önizlemesi: zombi orduları, şiddetli savaş
Kayıplı bir araba yaparken Tesla Model 3'ün "üretim cehenneminde" kaç katman vardır?
15 yıl süren ve 400'den fazla patent yaratan Hong Kong-Zhuhai-Makao Köprüsü yarın trafiğe açılacak!
Ön satış başladı! Mutlu twist filmi "Lee Cha'nın Teyzesi" "Oh Auntie" klibini ifşa ediyor
"Güvenlik, temizlik ve zeka" üzerine odaklanarak, otomobil tedarikçisi Çin Anakarası'nın teknolojisi ve seyahat yolu nedir?
Bu hafta oyun zamanı sıcak: daha iyi bir isim değiştirmeniz gerekiyor
To Top