Huawei Noah ve Peking Üniversitesi, MobileNet v3'ten daha doğru olan özellik haritalarını oluşturmak için doğrusal dönüşümü kullanan GhostNet'i öneriyor | CVPR 2020

Yazar | Kai Han, Yunhe Wang, vb.

Derleme | Conv, sorumlu editör | Xi Yan

Üretildi | AI Teknolojisi Ana Kampı (rgznai100)

Bellek alanı ve bilgi işlem kaynakları ile sınırlı olduğundan, evrişimli sinir ağlarını gömülü cihazlara yerleştirmek zordur. CNN'lerdeki özellik haritalarının fazlalığı başarısının anahtarıdır, ancak sinir ağlarının yapısal tasarımında çok az çalışma vardır.

Bu makale, son derece küçük maliyetli işlemlerle daha fazla ve daha zengin özellik haritaları oluşturmayı amaçlayan yepyeni bir Ghost modülü önermektedir. Yazar, bir dizi doğal özellik haritasına dayanarak, küçük bir maliyetle doğal özellik bilgisini tam olarak ortaya çıkarabilen birçok hayalet özellik haritası (Hayalet özellik haritası) oluşturmak için bir dizi doğrusal dönüşüm uygular.

Yeni önerilen Ghost modülü, mevcut evrişimli sinir ağını yükseltmek için bir tak ve çalıştır bileşeni olarak kullanılabilir.Galet modülünü Ghost darboğazlarını elde etmek için istifleyerek, hafif bir Ghost ağı-GhostNet kolayca kurulabilir. Deneyler, geleneksel evrişimli katmanlar yerine Ghost'un etkinliğini kanıtlamıştır .. ImageNet sınıflandırma veri setinde, MobileNet v3 ile karşılaştırıldığında GhostNet, benzer hesaplama karmaşıklığı ile% 75.7'lik ilk 1 doğruluğa sahiptir.

Giriş

Derin evrişimli sinir ağları, hedef tanıma, hedef algılama ve örnek bölümleme gibi görevlerde büyük ilerleme kaydetmiştir. Daha iyi doğruluk performansı elde etmek için, geleneksel evrişimli sinir ağları çok sayıda parametre ve kayan nokta işlemleri gerektirir. ResNet-50'de yaklaşık 25.6M parametre vardır. 224x224 görüntüyü işlemeniz gerekiyorsa, kayan nokta sayılarına ihtiyacınız vardır. Hesaplama 4.1B'dir. Bu talep, büyük depolama alanı ve bilgi işlem gücü gereksinimleri gerektirir. Gömülü cihazlar ve mobil bilgi işlem için temelde imkansızdır.

Bu nedenle, mobil bilgi işlemin ihtiyaçlarını karşılamak için hem hafif hem de verimli bir ağ yapısını keşfetmek gereklidir. Geçtiğimiz birkaç yıl içinde, hafif ağları keşfetmek için birçok yöntem önerilmiştir Temsili örnekler arasında ağ budama, bilgi damıtma vb. Yer alır. Ayrıca, verimli sinir ağı yapısı tasarımı, yüksek verimlilik, parametreler ve hesaplamaların oluşturulmasına dayanır. Çok az sayıda derin ağ yüksek potansiyele sahiptir ve son zamanlarda önemli başarılar elde etmiştir. Bu yöntem ayrıca, temsilcisi MobileNet serisi olan ve geleneksel evrişim yöntemini derin evrişime ve nokta evrişime bölen otomatik arama yöntemi için yeni bir arama birimi sağlayabilir.

ShuffleNet'in ana fikri, ResNet'i iyileştirmek için Grup evrişimi ve Kanal karıştırmayı kullanmaktır; bu, ResNet'in sıkıştırılmış bir sürümü olarak kabul edilebilir ve hafif modellerin performansını daha da artırır. İyi eğitilmiş bir derin sinir ağı özellik haritasında, giriş verilerinin kapsamlı bir şekilde anlaşılmasını sağlamak için genellikle zengin ve hatta gereksiz bilgiler içerir. Aşağıdaki şekilde gösterildiği gibi, ResNet-50'de, ilk kalıntı blok işlemeden sonraki özellik haritası çıkarılır ve üç benzer özellik haritası aynı renk çerçevesiyle daire içine alınır. Özellik haritalarından biri, diğer özellik haritasında basit bir dönüşümle (bir anahtarla gösterilir) yaklaşık olarak tahmin edilebilir. Bu benzer özellik eşleme çiftleri, birbirlerinin sanal görüntülerine benzerler.Yazar bunu ifade etmek için Ghost'u kullanır ki bu çok canlıdır.

Özellik haritasındaki fazlalığın derin sinir ağının başarısı için önemli bir garanti olduğu görülebilir. Yazar, kasıtlı olarak gereksiz özellik haritalarından kaçınmadı, ancak bunları kullanmayı tercih etti, ancak düşük maliyetli bir şekilde.

Bu makalede yazar, daha az parametre ile daha fazla ve daha zengin özellikler oluşturmayı amaçlayan yeni bir Ghost modülünü tanıtmaktadır. Özellikle, Ghost modülü geleneksel evrişimli katmanı iki kısma ayırır. İlk bölüm geleneksel evrişimdir ancak sayıları kesinlikle sınırlı olacaktır. İlk bölümde elde edilen özellik haritasını doğal bir evrişim olarak alın ve daha fazla özellik haritası oluşturmak için bir dizi doğrusal dönüşüm uygulayın. Çıktı özelliği haritasının boyutunu değiştirmeden, sıradan evrişimli sinir ağları ile karşılaştırıldığında, Ghost modülünün toplam parametre gereksinimleri ve hesaplama karmaşıklığı azaltılır. GhostNet, Ghost modülü temelinde oluşturulmuştur.

Yazar, Ghost modülünün etkinliğini kanıtlamak için önce karşılaştırmalı sinir mimarisindeki orijinal evrişimli katmanı değiştirir ve ardından GhostNets'in birden çok veri kümesindeki performansını doğrular. Deneysel sonuçlar, önerilen Ghost modülünün benzer tanıma performansını korurken hesaplama maliyetini etkili bir şekilde azaltabildiğini ve GhostNets'in en gelişmiş derin model olan MobileNetV3'ü geçebileceğini ve mobil bilgi işlem için uygun olduğunu göstermektedir.

Alakalı iş

Şu anda, hafif sinir ağlarının tasarımı için iki ana yöntem vardır: model sıkıştırma ve kompakt model tasarımı.

  • Model sıkıştırma

Belirli bir sinir ağı için model sıkıştırmanın amacı, hesaplama ve depolama maliyetlerini düşürmektir. Bağlantı budama, bu önemsiz nöron bağlantılarını keser ve kanal budama, hesaplamaları hızlandırmak için gereksiz kanalları ortadan kaldırır. Model niceleme, sıkıştırma ve hızlanma elde etmek için sinir ağındaki ağırlıkları temsil etmek için ayrı değerler kullanır. Bilgi dağıtımı, ağı bir öğretmen ağına ve bir öğrenci ağına böler ve güçlü bir öğretmen ağı aracılığıyla hem doğru hem de hafif bir öğrenci ağı elde etmeyi amaçlar.

  • Kompakt model tasarımı

Sinir ağlarını mobil cihazlara yerleştirmek için son yıllarda birçok kompakt ağ önerildi. SqueezeNet, AlexNet'ten 50 kat daha az parametre temelinde benzer doğruluk elde etmek için darboğaz yapısını kullanır. MobileNets, derinlemesine ayrılabilir evrişimlere dayalı bir dizi hafif derin sinir ağıdır. Evrimsel yinelemelerin üç versiyonundan sonra, yüksek doğruluk elde edilir. ShuffleNet, kanal grupları arasında bilgi akışı alışverişini geliştiren karıştırma mekanizmasını sunar. Bu modeller iyi bir performans elde etmesine rağmen, özellik haritaları arasındaki korelasyon ve fazlalık iyi bir şekilde kullanılmamıştır.

yöntem

  • Hayalet modülü

Derin evrişimli sinir ağları genellikle çok sayıda evrişim hesaplaması içerir ve bu da büyük miktarda hesaplama maliyetiyle sonuçlanır, bu da mobil bilgi işlem ve gömülü cihazlar için çok gerçekçi değildir. Aslında, ana akım CNN'lerin ara özellik haritalarının geniş bir yedekliliği vardır. Yazar, CNN'ler gibi evrişimli çekirdeklerin sayısını azaltarak gerekli kaynak gereksinimlerini azaltmayı önermektedir. Girdi verisi X verildiğinde, şu şekilde ifade edilir:

Bunlar arasında, c kanal sayısıdır, h ve w sırasıyla giriş verilerinin yüksekliğini ve genişliğini temsil eder. Herhangi bir evrişimli katmandan n özellik haritası oluşturma işlemi şu şekilde ifade edilebilir:

Bunlar arasında * bir evrişim işlemini temsil eder, b bir önyargı terimidir, bu zamanda elde edilen özellik haritasının Y boyut bilgisi ve gerekli evrişim çekirdeği f boyut bilgisi 'dir.

Ardından, bu evrişim işlemi için gereken kayan nokta sayılarını (FLOP'lar) hesaplayın:

Veri miktarı yüzbinler kadar yüksektir, çünkü evrişim çekirdeği sayısı n ve kanal sayısı c genellikle çok büyüktür (örneğin, 256 veya 512)

Geleneksel evrişim hesaplama sürecine geri dönüp baktığımızda, optimize edilecek parametre sayısının (f ve b cinsinden) giriş ve çıkış özelliği haritalarının boyutları tarafından açıkça belirlendiğini ve evrişimli katmanın çıktı özelliği haritalarının genellikle çok sayıda Fazlalık, bazıları benzer olabilir. Yazar, bu fazlalık özellik haritalarını çok sayıda FLOP ve parametre ile tek tek oluşturmanın gerekli olmadığına inanmaktadır. Çıktı karakteristik haritasının, sadece içsel karakteristik haritayı dönüştürerek elde edilen "Hayalet" karakteristik haritası olduğunu varsayalım. Bu doğal özellik haritaları, geleneksel evrişimlerle oluşturulur ve küçük bir boyuta sahiptir. Mevcut içsel özellik haritasının Y 'boyut bilgisinin, ortak bir evrişim işlemi yoluyla oluşturulabileceğini varsayalım:

Bunların arasında f'is boyutu. Yukarıdaki sıradan evrişimin evrişim çekirdeği f ile karşılaştırıldığında, m n'den küçük veya n'ye eşittir. Evrişim çekirdeğinin boyutu, doldurma yöntemi ve adım boyutu gibi diğer hiperparametreler, çıktı özelliği harita uzayının sıradan evrişim ile aynı olmasını sağlamak için sıradan evrişim ile tutarlıdır. Aynı uzamsal ölçeği sağlama durumunda, şimdi n-boyutlu özellik haritaları almamız gerekiyor ve şimdi doğal özellik haritaları sadece m-boyutlu. Yazar, bu amaçla, bu doğal özellik haritaları üzerinde bir dizi basit doğrusal dönüşüm gerçekleştirir. Spesifik formül şudur:

Bunlar arasında, içsel özellik haritalarında i'inci özellik haritasını temsil eder ve i'inci özellik haritasında gerçekleştirilen j'inci doğrusal dönüşümü temsil eder, yani belirli bir özellik haritası katmanı birden fazla doğrusal dönüşüme karşılık gelebilir ve birden fazla dönüşüm sonucu elde edebilir. . Dönüşümün sonunda, eşdeğer bir eşlemenin eklenmesi gerekir, yani, içsel özellik haritaları, içsel özelliklerdeki bilgileri muhafaza etmek için, dönüştürülmüş özellik haritalarına dokunulmadan bindirilir. Yukarıdaki formül sayesinde Ghost modülünden sonra n boyutlu özellik haritası Y =, n = mxs elde edebiliriz, şematik diyagram aşağıdaki gibidir:

Doğrusal işlem Her kanalı çalıştırmanın hesaplama maliyeti, sıradan evrişime göre çok daha azdır.Gerçek işlemde, bir Ghost modülünde birkaç farklı doğrusal işlem olabilir. Bunlar deneysel bölümde analiz edilecektir.

Mevcut yöntemlerden farklılıklar:

  • 1x1 nokta evrişimi kullanan yöntemlerle karşılaştırıldığında Ghost modülü, içsel evrişim işlemleri için evrişim çekirdeğinin boyutunu sınırlamaz.

  • Mevcut yöntemler> kanallar arasında özellikleri işlemek için nokta nokta evrişimi kullanın ve ardından uzamsal bilgileri işlemek için derin evrişimi kullanın. Bunun tersine, Ghost modülü ilk önce sıradan evrişim işlemleriyle az sayıda içsel özellik haritası oluşturur.Bu zamanda, uzamsal boyut bilgisi sabitlenmiştir ve yalnızca basit doğrusal değişiklikler yoluyla uzamsal kanalları genişletmesi ve zenginleştirmesi gerekir.

  • Geçmiş yapıda, her özellik haritasının işlenmesi için işlemler derin evrişim veya kaydırma işlemleriyle sınırlıyken, Ghost modülündeki doğrusal işlemler daha fazla çeşitlilik gösterebilir.

  • Ghost modülünde, eşdeğer eşleme, orijinal özellik eşlemesini korumak için doğrusal dönüşüme paraleldir.

    • GhostNets İnşaatı

    Hayalet Darboğazlar

    ResNet'teki darboğaz yapısını herkes çok iyi bilir.Yazar, Ghost modülü için küçük kıvrımlar için özel olarak darboğazlar oluşturdu. Aşağıdaki şekilde gösterildiği gibi, ResNet'teki yapıya çok benzer.Hayalet'te darboğazlar esas olarak iki yığılmış Ghost modülünden oluşur.İlk Ghost modülünün işlevi, özellik haritasının kanal sayısını arttırmaktır.Çıktı kanallarının sayısını girişle böleriz. Kanal sayısının oranına genişleme oranı denir. İkinci Ghost modülünün rolü, kanal sayısını kısayol yoluna uyacak şekilde azaltmaktır. Ardından, iki Ghost modülünün giriş ve çıkışını bağlayın .. MobileNetV2 tarafından önerildiği gibi ikinci Ghost modülünden sonra ReLU kullanılmamasına ek olarak, her katmandan sonra doğrusal olmayan aktivasyon için toplu normalizasyon (BN) ve ReLU kullanılır. . Aşağıdaki şekil, adım uzunluğunun 1 ve 2 olduğu yapı içindir. Adım boyutu 2 olduğunda, kısayol altörnekleme ile uygulanır ve adım boyutu 2 olan derin bir evrişim iki Ghost modülü arasına yerleştirilir.

    Ghost darboğazları ile bir sonraki adım GhostNetler oluşturmaktır. Yazar, MobileNetV3'ün temel mimarisine atıfta bulunuyor ve MobileNetV3'teki darboğazları değiştirmek için Ghost darboğazlarını kullanıyor. GhostNets'te, ilk katman 16 evrişimli çekirdeğe sahip sıradan bir evrişim ve ardından artan sayıda kanal içeren bir dizi Ghost darboğazıdır. Bu Ghost darboğazları, giriş özelliği haritalarının boyutlarına göre farklı aşamalarda gruplandırılır. Sonuncusu olan 2 hariç tüm darboğaz adımları 1'dir. Son olarak, genel ortalama havuzlama ve evrişimli katmanlar, özellik haritasını nihai sınıflandırma için 1280 boyutlu bir özellik vektörüne dönüştürmek için kullanılır. SENet'teki sıkma uyarma modülü (SE), bazı darboğaz katmanlarına da uygulanabilir. MobileNetsV3'ün aksine GhostNets, yüksek gecikme süresi nedeniyle hard-swish etkinleştirme işlevini kullanmaz.

    Genişlik faktörü

    Belirli bir mimari halihazırda düşük gecikme süresi ve garantili doğruluk sağlayabilse de, bazı senaryolarda belirli görevler için daha küçük, daha hızlı modellere veya daha yüksek doğruluğa ihtiyacımız olabilir. Özelleştirme için gereken ağ gereksinimleri, ağı genişletmek için her katmanda bir katsayı ile basitçe çarpılabilir. Bu faktör , tüm ağın genişliğini değiştirebildiği için genişlik çarpanı olarak adlandırılır. Genişlik çarpanı model boyutunu kontrol edebilir ve hesaplama maliyeti yaklaşık karedir.

    Deney

    veri seti: CIFAR10, ImageNet, MS COCO

    • Hayalet modülü etkililik deneyi

    Evrişim işlemi sırasında oluşturulan özellik haritalarında bazı benzer özellik haritası çiftlerinin olduğunu zaten biliyoruz ve bunlar bazı doğrusal işlemlerle etkili bir şekilde oluşturulabilir. Yazar ilk olarak, orijinal özellik haritası ile oluşturulan Hayalet özellik haritası arasındaki yeniden yapılandırma hatasını gözlemlemek için deneyler yapar.

    Örnek olarak yukarıdaki şekildeki üç çift özellik haritasını alın, soldaki özelliği giriş, diğerini çıktı olarak alın ve aralarındaki doğrusal işlemi temsil eden eşlemeyi öğrenmek için küçük bir derin evrişim filtresi kullanın. Ortalama kare hatası MSE'yi değerlendirme kriteri olarak kullanarak, sonuçlar aşağıdaki şekilde gösterilmektedir: MSE değerinin çok küçük olduğu görülebilmektedir.Derin sinir ağında, özellik haritaları arasında güçlü bir korelasyon vardır.Bu fazlalık özellik haritaları birden çok parçadan oluşabilir. Doğal özellik haritası oluşturma.

    Yukarıdaki deneylerde kullanılan kıvrımlara ek olarak, hayalet modülleri oluşturmak için afin dönüşümü ve dalgacık dönüşümü gibi diğer düşük maliyetli doğrusal işlemleri de keşfedebiliriz. Bununla birlikte, evrişim, mevcut donanım tarafından iyi desteklenen verimli bir işlemdir.Pürüzsüzleştirme, bulanıklaştırma ve hareket gibi yaygın olarak kullanılan birçok doğrusal işlemi kapsayabilir. Ghost'da iki hiper-parametre vardır, bunlar evrişim çekirdeğinin boyutu d ve doğrusal dönüşümdeki adım boyutu s Sonuçlar aşağıda gösterilmiştir. D = 3 ile önerilen Ghost modülünün daha küçük veya daha büyük olduğu görülebilir. daha iyi. Bunun nedeni, 1 × 1 boyutundaki bir evrişim çekirdeğinin özellik haritalarında uzamsal bilgi sağlayamaması ve d = 5 veya d = 7 gibi daha büyük bir evrişim çekirdeğinin aşırı uyuma neden olacağı ve hesaplama miktarını artıracağıdır.

    Bu nedenle, bir sonraki deneyde d = 3 kullanıyoruz. s, elde edilen ağın hesaplama maliyeti ile doğrudan ilişkilidir. s ne kadar büyükse, sıkıştırma oranı o kadar büyük olur. S'yi artırdığımızda, FLOP'lar önemli ölçüde azalır ve doğruluk oranı kademeli olarak azalır, bu da beklentilerle tutarlıdır. Özellikle s = 2, VGG-16'nın iki kez sıkıştırıldığı anlamına geldiğinde, bu makaledeki yöntemin performansı, önerilen Ghost modülünün üstünlüğünü gösteren orijinal modelden biraz daha iyidir.

    • CIFAR-10 deneysel sonuçlar

    Yazar, Ghost-VGG-16 ve Ghost-ResNet-56 adlı yeni ağ yapıları elde etmek için Ghost modülünü VGG-16 ve ResNet-56'ya yerleştirir ve Ghost modülünü CIFAR-10 veri setini kullanarak değerlendirir. Yapı aşağıdaki şekilde gösterilmektedir. GhostNet'i VGG-16 ve ResNet-56 mimarilerindeki en son temsili modellerle karşılaştırıyoruz. VGG-16 için bu modelin doğruluğu orijinal modelden biraz daha yüksek ve hızı 2 kat daha hızlı. Yukarıdakiler, VGG modelinin büyük yedekliliğe sahip olduğunu göstermektedir

    • Özellik haritası görselleştirme

    Aşağıdaki şekilde gösterildiği gibi, hayalet modül tarafından elde edilen özellik haritaları doğal özellik haritalarından türetilse de, önemli farklılıkları vardır, bu da üretilen özelliklerin belirli görevlerin ihtiyaçlarını karşılayacak kadar esnek olduğu anlamına gelir. Sol üst köşedeki görüntü girdidir, soldaki kırmızı kutudaki özellik haritaları doğal evrişimden ve sağdaki yeşil kutudaki özellik haritaları Ghost modülünden sonraki özellik çıktısındandır.

    • ImageNet deney sonuçları

    Ghost modülünü standart ResNet-50'ye yerleştirin ve ImageNet veri setini deneyin. Sonuçlar aşağıdaki tabloda gösterilmektedir: İki kattan fazla ivmeyle, bu makaledeki yöntem önemli ölçüde daha iyi performans sağlayabilir. S 4'e yükseldiğinde, modelin doğruluğu% 0,3 azalır ve hesaplama hızı yaklaşık 4 kat artar. Bunun aksine, benzer ağırlıklar veya FLOP'lar kullanan karşılaştırma yöntemlerinin performansı çok daha kötüdür.

    • GhostNet deney sonuçları

    Aşağıdaki tablo ImageNet üzerindeki en gelişmiş küçük ağın deneysel sonuçlarıdır GhostNet'in hız ve doğruluğu hesaba katarak SOTA'yı geçtiği görülebilmektedir.

    sonuç olarak

    Mevcut derin sinir ağlarının hesaplama maliyetini azaltmak için, mobil bilgi işlemin ihtiyaçlarına uyum sağlayın. Bu makale, verimli bir sinir ağı yapısı oluşturmak için yeni bir Ghost modülü önermektedir. Temel Ghost modülü, orijinal evrişimi iki bölüme ayırır. Birincisi, birkaç doğal özellik haritası oluşturmak için daha az evrişim çekirdeği kullanır.Bu temelde, zengin özellik haritalarını etkin bir şekilde oluşturmak için belirli sayıda doğrusal dönüşüm işlemi daha da uygulanır.

    Kıyaslama modelleri ve veri kümeleri üzerindeki deneyler, bu yöntemin, karşılaştırılabilir performansı korurken orijinal modeli kompakt bir modele dönüştürebilen bir tak-çalıştır model sıkıştırma yöntemi olduğunu göstermektedir. Ek olarak, yeni Ghost modülüyle oluşturulan GhostNet, verimlilik ve doğruluk açısından en gelişmiş hafif sinir ağı mimarisinden daha üstündür.

    Kağıt bağlantısı:

    https://arxiv.org/abs/1911.11907

    GitHub bağlantısı (pytorch sürümü):

    https://github.com/iamhankai/ghostnet.pytorch

    Meslektaşımın kimlik numarasını hesaplamak için Python kullandım! | Güç Projesi
    önceki
    Onay Tedavi Plazma Bağışı İşe Dönüş | Salgınla savaşan Wuhanlı bir hemşirenin 39 günü
    Sonraki
    Kuang 120 milyar kazandı, neredeyse Apple'ı satın aldı ve on milyonlarca programcıyı etkiledi, ancak güneş denen şirket düştü
    Engelli ekibin salgın önleme ön saflarına katılmasına yardımcı olmak
    Dubbo, heterojen mikro hizmet sistemlerini bağlamak için en iyi hizmet geliştirme çerçevesi haline nasıl geliyor?
    Bu "insanların geçim kaynağı çılgınlığı", lütfen kontrol edin
    Harika! En İyi 50 Çinli AI Şirketi! Çalışanların muamelesini okuduktan sonra netizenler: Ekşiyorum
    Herkes daha güzel bir eve katkıda bulunur
    Huawei Mate Xs'in 16.999 yuan fiyatla 530.000'in üzerinde randevusu var; Eski bir Microsoft mühendisi dijital para çalmaktan 20 yıl hapis cezasına çarptırıldı; FSF bir kod barındırma platformu başlat
    Lei Jun'un söylediği WiFi 6 tam olarak nedir?
    Kütüphaneyi sil sadece kaçabilir mi? Programcılar kendilerini kurtarır! | Güç Projesi
    İlkbaharın başlarında "Lhasa'nın Akciğerleri"
    Yapay zekanın geniş ölçekli uygulanmasındaki tehlikeler nelerdir? Alibaba başkan yardımcısı Hua Xiansheng Lianmai açıkladı
    5G standartlarının oluşturulması neden "yaşamak ve ölmek" zorunda?
    To Top