Derin sinir ağlarının gelişiminin tam bir incelemesi: DNN operasyonları nasıl hızlandırılır?

Derin sinir ağları (DNN) şu anda birçok modern AI uygulamasının temelini oluşturmaktadır. DNN, konuşma tanıma ve görüntü tanıma görevlerinde çığır açan sonuçlar gösterdiğinden, DNN kullanan uygulamaların sayısı patladı. Bu DNN yöntemleri sürücüsüz arabalarda, kanser tespitinde, oyun yapay zekasında vb. Yaygın olarak kullanılmaktadır. Birçok alanda, DNN'nin mevcut doğruluğu, insanlarınkini aşmıştır. Özellikleri manuel olarak çıkaran veya kuralları formüle eden eski uzmanların aksine, DNN'nin üstün performansı, orijinal verilerden gelişmiş özellikleri çıkarmak için büyük miktarda veri üzerinde istatistiksel öğrenme yöntemlerini kullanma ve dolayısıyla girdi alanını etkin bir şekilde temsil etme becerisinden gelir.

Bununla birlikte, DNN'nin ultra yüksek doğruluğu, ultra yüksek hesaplama karmaşıklığı pahasına gelir. Her zamanki anlamdaki hesaplama motoru, özellikle GPU, DNN'nin temelidir. Bu nedenle, derin sinir ağlarının enerji verimliliğini ve iş hacmini, doğruluktan ödün vermeden ve donanım maliyetlerini artırmadan iyileştirebilen yöntemler, AI sistemlerinde DNN'nin daha geniş uygulaması için çok önemlidir. Araştırmacılar artık DNN hesaplamaları için özel hızlandırma yöntemlerinin geliştirilmesine daha fazla odaklandılar.

Lei Feng.com, "Derin Sinir Ağlarının Verimli İşlenmesi: Bir Eğitim ve Araştırma" başlıklı yeni bir makalenin ortaya çıktığını öğrendi.MIT'den gelen bu makale, verimli DNN operasyonlarındaki en son gelişmeleri ayrıntılı olarak tanıttı ve DNN'lere genel bir bakış sağladı. , Ve DNN hesaplamalarını hızlandırmak için yöntemler.

Alan göz önüne alındığında, Leifeng.com esas olarak aşağıdaki bölümleri ayrıntılı olarak kağıtta tanıtmaktadır:

  • DNN'nin arka planı, geçmişi ve uygulaması

  • DNN bileşenleri ve yaygın DNN modelleri

  • DNN işlemlerini hızlandırmak için donanımın nasıl kullanılacağına giriş

DNN arka planı

Yapay zeka ve derin sinir ağları

Derin öğrenme olarak da bilinen derin sinir ağları, yapay zeka alanının önemli bir dalıdır.McCarthy'ye (yapay zekanın babası) göre yapay zeka, insanlar gibi akıllı makineler yaratmanın bilimsel mühendisliğidir. Derin öğrenme ile yapay zeka arasındaki ilişki Şekil 1'de gösterilmektedir:

Şekil 1: Derin sinir ağları ile yapay zeka arasındaki ilişki

Yapay zeka alanında, büyük bir alt alan, 1959'da Arthur Samuel tarafından şu şekilde tanımlanan makine öğrenmesidir: bilgisayarların açık programlama olmadan öğrenme yeteneğine sahip olmasına izin vermek. Bu, bazı akıllı davranışların nasıl yapılacağını öğrenmek için eğitilebilecek bir program oluşturmak anlamına gelir ve ardından program görevleri kendi başına tamamlayabilir. Geleneksel yapay sezgisel yöntem, programı her yeni problem için yeniden tasarlamalıdır.

Etkili makine öğrenimi algoritmalarının avantajları açıktır. Bir makine öğrenimi algoritması, her yeni sorunu özel olarak programlamak yerine, belirli bir alandaki her yeni sorunu yalnızca eğitim yoluyla çözebilir.

Makine öğrenimi alanında beyinden ilham alan hesaplama adı verilen bir bölüm var. İnsan beyni şu anda problemleri öğrenmek ve çözmek için en iyi "makine" olduğundan, insanların ondan makine öğrenimi yöntemlerini aramaları doğaldır. Bilim adamları hala beynin çalışmasının ayrıntılarını araştırıyor olsalar da, bir şey kabul ediliyor: nöronlar, beynin ana hesaplama birimleridir. Ortalama bir insan beyninde 86 milyar nöron vardır. Nöronlar birbirlerine bağlanarak dendritler vasıtasıyla diğer nöronlardan sinyaller alırlar ve bu sinyalleri hesapladıktan sonra sinyalleri aksonlar vasıtasıyla bir sonraki nörona iletirler. Bir nöronun aksonu dallar ve diğer birçok nöronun dendritlerine bağlanır.Akson dalları ile dendritler arasındaki bağlantıya sinaps denir. İnsan beyninde ortalama 1014-1015 sinaps olduğu tahmin edilmektedir.

Bir sinapsın temel bir özelliği, içinden geçen sinyalin boyutunu ölçeklendirebilmesidir. Bu ölçek faktörüne ağırlık denilebilir Genelde beynin öğrenme şeklinin sinapsların ağırlığını değiştirerek elde edildiğine inanılmaktadır. Bu nedenle, farklı ağırlıklar, girdiye farklı yanıtlarla sonuçlanır. Öğrenme sürecinin, öğrenme uyaranının neden olduğu ağırlık ayarı olduğunu ve beyin organizasyonunun (bir program olarak düşünülebilecek) değişmediğini unutmayın. Beynin bu özelliği, makine öğrenimi algoritmaları için çok iyi bir ilham kaynağıdır.

Sinir ağı ve derin sinir ağı

Bir nöronun hesaplanması, girdi değerlerinin ağırlıklı toplamıdır.Bu kavram, sinir ağlarının araştırmalarına ilham verdi. Bu ağırlıklı toplamlar, sinaps ölçekleme değeri ile nöron tarafından alınan değerin kombinasyonuna karşılık gelir. Ek olarak, nöronlar yalnızca giriş sinyallerinin ağırlıklı bir toplamı değildir, bu durumda, kademeli nöronların hesaplanması basit bir doğrusal cebir işlemi olacaktır. Aksine, girdileri birleştiren nöronun çalışması doğrusal olmayan bir işlev gibi görünmektedir ve nöron, yalnızca girdi belirli bir eşiğe ulaştığında çıktı üretecektir. Bu nedenle, analoji yoluyla, sinir ağının, girdi değerlerinin ağırlıklı toplamına dayalı olarak doğrusal olmayan bir fonksiyon uyguladığını bilebiliriz.

Şekil 2 (a), hesaplamalı sinir ağının şematik bir diyagramını göstermektedir Şeklin en solunda, değerleri kabul eden "giriş katmanı" bulunmaktadır. Bu değerler, genellikle ağın "gizli katmanı" olarak adlandırılan orta nöron katmanına yayılır. Bir veya daha fazla gizli katmanın ağırlıklı toplamı nihayet "çıktı katmanına" yayılır ve sinir ağının nihai sonucu kullanıcıya çıktı olarak verilir.

Şekil 2: Sinir ağının şematik diyagramı

Sinir ağları alanında, bir alt alan derin öğrenme olarak adlandırılır. İlk sinir ağında genellikle yalnızca birkaç katman bulunur. Derin ağlar genellikle daha fazla katmana sahiptir. Günümüz ağları genellikle beşten fazla, hatta 1.000'den fazla katmana sahiptir.

Görme uygulamalarında derin sinir ağlarını kullanmanın şu anki yorumu şöyledir: Görüntünün tüm pikselleri ağın ilk katmanına girildikten sonra, bu katmanın ağırlıklı toplamı görüntünün farklı düşük düzey özelliklerini temsil ettiği şeklinde yorumlanabilir. Katman sayısı arttıkça, bu özellikler birleştirilerek üst düzey görüntü özelliklerini temsil eder. Örneğin, çizgiler şekiller halinde birleştirilebilir ve ayrıca bir dizi şekil halinde birleştirilebilir. Son olarak, bilgi eğitiminden sonra, her görüntü kategorisi için ağ, bu üst düzey özelliklerden oluşan her nesnenin olasılığını, yani sınıflandırma sonucunu verir.

Çıkarım ve Eğitim

DNN, makine öğrenimi algoritmalarının bir üyesi olduğu için, temel programlama fikri hala öğreniyor. DNN'nin öğrenilmesi, ağın ağırlık değerini belirlemektir. Genellikle öğrenme sürecine eğitim ağı (eğitim) denir. Eğitim tamamlandıktan sonra, program hesaplamaları yapmak için eğitim tarafından belirlenen ağırlıkları kullanabilir. Görevi tamamlamak için ağı kullanma işlemine çıkarım denir.

Daha sonra, Şekil 3'te gösterildiği gibi, derin bir sinir ağını nasıl eğiteceğimizi göstermek için örnek olarak görüntü sınıflandırmasını kullanıyoruz. Bir DNN kullandığımızda, bir resim gireriz ve DNN bir puan vektörü verir ve her puan bir nesne sınıflandırmasına karşılık gelir; en yüksek puana sahip sınıflandırma, resmin büyük olasılıkla bu sınıflandırmaya ait olduğu anlamına gelir. DNN eğitiminin birincil amacı, doğru sınıflandırma puanının en yüksek olması (resme karşılık gelen doğru sınıflandırma eğitim veri setinde işaretlenmiştir) ve diğer yanlış sınıflandırmaların puanlarının olabildiğince düşük olması için ağırlıkların nasıl ayarlanacağını belirlemektir. İdeal doğru sınıflandırma puanı ile mevcut ağırlığa göre hesaplanan puan arasındaki farka kayıp fonksiyonu (kayıp) denir. Bu nedenle, DNN eğitiminin amacı, daha büyük ölçekli bir veri kümesinin kaybını en aza indiren bir dizi ağırlık bulmaktır.

Şekil 3: Görüntü sınıflandırması

Ağırlık optimizasyon süreci bir dağa tırmanma sürecine benzer.Bu yönteme gradyan iniş (gradyan azaltma) denir. Kayıp fonksiyonunun her ağırlığa gradyanı, yani kayıp fonksiyonu her ağırlığın kısmi türevini alır ve ağırlığı güncellemek için kullanılır (örneğin: t'den t + 1'e yinelemeler:

, 'ya öğrenme oranı (Öğrenme oranı) denir. Gradyan değeri, kaybın azaltılması için ağırlığın nasıl değiştirilmesi gerektiğini gösterir. Bu kayıp değerini azaltma işlemi yinelemeli olarak tekrarlanır.

Gradyan, Geri Yayılma süreci ile çok verimli bir şekilde hesaplanabilir ve kaybın etkisi, her ağırlıktan nasıl etkilendiğini hesaplamak için ağ üzerinden tersine çevrilir.

Ağırlıkları çalıştırmanın birçok yolu vardır. Yukarıda belirtilen, tüm eğitim örneklerinin etiketlendiği, denetimli öğrenme adı verilen en yaygın yöntemdir. Denetimsiz öğrenme, tüm eğitim örneklerinin etiketinin olmadığı başka bir yöntemdir ve nihai amaç, verilerdeki yapı veya kümeleri bulmaktır. Yarı denetimli öğrenme, iki yöntemi birleştirir ve eğitim verilerinin yalnızca küçük bir kısmı etiketlenir (örneğin, küme sınırlarını tanımlamak için etiketlenmemiş veriler ve kümeleri etiketlemek için az miktarda etiketlenmiş veri kullanılarak). Son olarak, pekiştirmeli öğrenme, bir DNN'yi bir politika ağı olarak eğitmek için kullanılabilir ve politika ağına bir girdi verildiğinde, bir sonraki eylemin buna göre ödüllendirilmesi için bir karar verebilir; bu ağın eğitim süreci, ağın bunu yapmasını sağlamaktır. Ödülleri en üst düzeye çıkaran kararlar verin (yani ödül işlevi) ve eğitim süreci yeni davranışları denemeyi (Keşif) ve yüksek ödüller verdiği bilinen davranışları (Sömürü) kullanmayı dengelemelidir. Ağırlıkların belirlenmesine yönelik diğer bir yaygın yöntem, başlangıç olarak önceden eğitilmiş bir modelin ağırlıklarını kullanan ve ardından yeni veri kümelerini (örneğin, aktarım öğrenimi) veya yeni kısıtlamaları (örneğin, azaltılmış doğruluk) hedefleyen ince ayardır. Ağırlığı ayarlayın. Rastgele başlatmadan başlamakla karşılaştırıldığında, daha hızlı çalışabilir ve bazen daha iyi doğruluğa sahiptir.

DNN gelişiminin kısa bir geçmişi

  • 1940'lar Sinir ağı önerildi

  • 1960'lar Derin sinir ağı önerildi

  • 1989 El Yazısı Basamakları Tanımak için Sinir Ağı (LeNet)

  • 1990'lar Sığ ağlar için özel donanım geliştirildi (Intel ETANN)

  • 2011 DNN (Microsoft) tabanlı konuşma tanıma buluşu

  • 2012 Vizyon açısından DNN, geleneksel manuel özellik çıkarma yönteminin (AlexNet) yerini aldı

  • 2014+ DNN hızlandırma için donanımın yükselişi (Neuflow, DianNao)

Sinir ağları 1940'larda önerilmiş olmasına rağmen, 1980'lerin sonlarına kadar ilk pratik uygulama, el yazısı rakamları tanıyan LeNet değildi. Bu sistem, çeklerin dijital olarak tanınmasında yaygın olarak kullanılmaktadır. 2010'dan beri DNN tabanlı uygulamalar patladı.

2010 yılı civarında derin öğrenmenin büyük başarısı esas olarak üç faktörden kaynaklanmaktadır. Birincisi, ağı eğitmek için gereken büyük miktarda bilgidir. Etkili bir temsilin öğrenilmesi çok sayıda eğitim verisi gerektirir. Şu anda, Facebook her gün 350 milyondan fazla resim alıyor, Wal-Mart saatte 2.5Pb kullanıcı verisi oluşturuyor ve YouTube'da her dakika 300 saatlik video yükleniyor. Bu nedenle, bulut hizmeti sağlayıcıları ve birçok şirket, algoritmaları eğitmek için muazzam miktarda veriye sahiptir. İkincisi, yeterli bilgi işlem kaynaklarıdır. Yarı iletken ve bilgisayar mimarisindeki gelişmeler, algoritmaları makul bir sürede eğitmeyi mümkün kılmak için yeterli bilgi işlem gücü sağlamıştır. Son olarak, algoritma teknolojisinin gelişimi, DNN'nin doğruluğunu büyük ölçüde geliştirdi ve uygulama aralığını genişletti. Erken DNN uygulamaları, algoritma geliştirmenin kapısını açtı. Birçok araştırmacı ve uygulayıcının DNN ağlarını kullanmasını kolaylaştıran birçok derin öğrenme çerçevesinin (çoğu açık kaynak kodlu) geliştirilmesine ilham verdi. ImageNet sorunu, makine öğreniminin başarısına iyi bir örnektir. Bu meydan okuma, birkaç farklı yönü içeren bir yarışmadır. İlk yön, belirli bir görüntü için algoritmanın aşağıdaki şekilde gösterildiği gibi görüntüdeki içeriği tanıması gereken görüntü sınıflandırmasıdır. Eğitim seti 1,2 milyon görselden oluşuyor ve her görsel, görselde bulunan 1000 nesne kategorisinden biriyle işaretleniyor. Daha sonra algoritma, test setindeki görüntüleri doğru bir şekilde tanımlamalıdır.

Şekil 4, yıllar içinde ImageNet Challenge'da her yıl en iyi yarışmacıların performansını göstermektedir. Algoritmanın doğruluğunun başlangıçta% 25'in üzerinde bir hata oranına sahip olduğu görülebilir. 2012'de Toronto Üniversitesi'ndeki bir ekip, hata oranını yaklaşık% 10 düşürmek için grafik GPU'ların yüksek hesaplama gücünü ve AlexNet adlı derin bir sinir ağı yöntemini kullandı. Başarıları, derin öğrenme stili algoritmalarının popülaritesine ve sürekli gelişmesine yol açtı.

Şekil 4: Imagenet doğruluk oranı yıllar içinde değişir

ImageNet yarışmasında derin öğrenme yöntemlerini kullanan ekiplerin sayısı ve GPU hesaplamayı kullanan katılımcıların sayısı buna göre artıyor. 2012'de sadece dört takım GPU kullanıyordu. 2014 yılına kadar yarışmacıların neredeyse tamamı GPU kullanıyordu. Bu, geleneksel bilgisayarla görme yöntemlerinden derin öğrenme araştırma yöntemlerine tam dönüşümü yansıtır.

2015 yılında, ImageNet'in ödüllü çalışması ResNet, insan düzeyindeki doğruluğu aşarak hata oranını% 3'ün altına düşürdü (ilk 5 hata oranı% 5'ten azdır). Ve şu anki odak noktası, doğruluğun iyileştirilmesine çok fazla değil, nesne algılama ve yerelleştirme gibi diğer daha zorlu yönlere odaklanıyor. Bu başarılar, DNN'lerin geniş uygulama yelpazesinin bir nedenidir.

DNN uygulaması

Şu anda, DNN çeşitli alanlarda yaygın olarak kullanılmaktadır Burada, DNN'nin geniş kapsamlı etkiye sahip olduğu bazı alanlar ve gelecekte büyük bir etkisi olabilecek bazı alanlar.

  • Resimler ve videolar Video, büyük veri çağında en çok kaynak olabilir. Bugün internet trafiğinin% 70'ini kaplıyor. Örneğin, dünya çapında her gün 8 milyar saat gözetim videosu üretiliyor. Bilgisayar vizyonunun videodan anlamlı bilgiler çıkarması gerekir. DNN, görüntü sınıflandırma, nesne konumu ve algılama, görüntü bölümleme ve eylem tanıma gibi birçok bilgisayarla görme görevinin doğruluğunu büyük ölçüde geliştirdi.

  • Ses ve dil DNN ayrıca konuşma tanımanın doğruluğunu ve makine çevirisi, doğal dil işleme ve ses oluşturma gibi diğer birçok ilgili görevi büyük ölçüde geliştirdi.

  • ilaç DNN genetikte önemli bir rol oynar ve otizm, kanser ve spinal musküler atrofi gibi birçok hastalığın genetik nedenlerini araştırır. Ayrıca cilt kanseri, beyin kanseri, meme kanseri vb. Tespit etmek için tıbbi görüntü tespitinde kullanılır.

  • oyun Son zamanlarda, oyunlar dahil olmak üzere birçok zorlu AI sorunu DNN yöntemleri kullanılarak çözüldü. Bu başarılar, eğitim teknolojisinde yeniliklerin yanı sıra pekiştirmeli öğrenmeyi de gerektirir (ağ, geri bildirim eğitimi için kendi çıktı sonuçlarını kullanır). DNN, Atari (popüler bir ev oyun konsolu) ve Go'da insan doğruluğunu aştı.

  • robot DNN ayrıca robotik kol kavrama, hareket planlama, görsel navigasyon, dört rotorlu stabilite kontrolü ve sürücüsüz araba sürüş stratejileri gibi bazı robotik görevlerde de başarı elde etti.

DNN zaten yaygın olarak kullanılmaktadır. Geleceğe bakacağız, DNN tıp ve robotik alanında daha önemli bir rol oynayacak. Aynı zamanda, finans (ticaret, enerji tahmini ve risk değerlendirmesi gibi), altyapı inşaatı (yapısal güvenlik, trafik kontrolü gibi), hava durumu tahmini ve olay tespitinde daha fazla uygulama olacaktır.

Gömülü ve Bulut

Farklı DNN uygulamaları ve süreçlerinin (eğitim ve çıkarım) farklı hesaplama gereksinimleri vardır. Özellikle eğitim süreci, büyük bir veri kümesi ve yinelemek için büyük miktarda bilgi işlem kaynağı gerektirir, bu nedenle bulutta hesaplanması gerekir. Muhakeme süreci bulutta veya bir terminalde (örneğin, IoT cihazları veya mobil terminaller) gerçekleştirilebilir.

DNN'nin birçok uygulamasında, muhakeme sürecinin sensöre yakın olması gerekir. Örneğin, insansız araçlar veya drone navigasyonu veya robotlar için işlemlerin yerel olarak yapılması gerekir, çünkü gecikmelerden ve iletim kararsızlığından kaynaklanan güvenlik riskleri çok yüksektir. Ancak, videoyu işlemek ve hesaplamak oldukça karmaşıktır. Bu nedenle, videoyu verimli bir şekilde analiz edebilen düşük maliyetli donanım, DNN'nin uygulanmasını kısıtlayan önemli bir faktördür. DNN çıkarım süreçlerini gerçekleştirebilen yerleşik platformlar, katı enerji tüketimi, hesaplama ve depolama maliyeti kısıtlamalarına sahip olmalıdır. Bu makale, çıkarım sürecindeki hesaplama gereksinimlerine ayrıntılı bir giriş sağlar İlgilenen okuyucular, daha derinlemesine anlayış için makalenin sonundaki bağlantıya başvurabilirler.

DNN bileşenleri ve ortak modeller

DNN, farklı uygulamalar için birçok forma sahiptir ve popüler formlar, doğruluğu ve verimliliği artırmak için hızla gelişmektedir. Leifeng.com'a göre, tüm DNN girişleri ağ tarafından analiz edilmesi gereken bir dizi değerdir. Bu değerler, bir resmin pikselleri, ses dalga formunun genlik örnekleme değeri veya sistemin veya oyunun durumunu temsil eden bazı değerler olabilir.

Giriş işleme ağının iki ana biçimi vardır: Şekil 2 (c) 'de gösterildiği gibi İleri Besleme veya Tekrarlı. İleri besleme ağında, tüm hesaplamalar, önceki katmanın çıktısı üzerinde yapılan bir dizi işlemdir. Son işlem, ağın çıktısını üretir Örneğin, bir resim, belirli bir nesnenin olasılık değerini içerir ve bir ses dizisi, belirli bir kelimenin olasılık değerini içerir. Böyle bir DNN'de, ağ hafızasızdır Aynı girdi segmenti için, ağın önceki girişine bakılmaksızın çıktı her zaman aynıdır.

Buna karşılık, dahili belleğe sahip Tekrarlayan Sinir Ağları (RNN), çıktıyı etkilemek için uzun vadeli bağımlılığa izin verir. Bunlar arasında, LSTM (Uzun Kısa Süreli Bellek ağı), RNN'nin çok popüler bir çeşididir. Bu ağlarda, bazı dahili ara işlemler tarafından üretilen değerler ağda depolanacak ve sonraki işlemlerde girdi olarak diğer girdilerle birleştirilecektir.

Ağın sol tarafındaki Şekil 2 (d) 'de gösterildiği gibi, DNN tamamen bağlı bir katmandan (Tam Bağlı Katman, aynı zamanda çok katmanlı algılayıcı olarak da adlandırılır) oluşabilir. Tamamen bağlı katmanda çıkış aktivasyonu, tüm giriş aktivasyonlarının ağırlıklı toplamıdır (önceki ve sonraki iki katmandaki nöronların tümü birbirine bağlıdır). Bitişik iki katmandaki tüm nöronlar birbirine bağlı olduğundan, bu çok fazla ağırlık parametresine neden olur ve çok fazla depolama alanı ve hesaplama kaynağı gerektirir. Neyse ki, birçok uygulamada, doğruluğu etkilemeden etkinleştirmeler arasındaki belirli bağlantıların ağırlığını 0'a ayarlayarak parametre sayısını azaltabiliriz. Şekil 2 (d) 'de ağın sağ kısmında gösterildiği gibi buna Seyrek Bağlantılı Katman adı verilir.

Ağırlık parametrelerini azaltmak ve hesaplama verimliliğini artırmak için bir adım daha ileri gidebilir ve çıktıya katkıda bulunan ağırlıkların sayısını sınırlayabiliriz. Çıktı değeri, girdideki sabit bir pencere boyutunun bir fonksiyonuysa, yapısal seyreklik elde edilebilir. Her bir çıktının ağırlığı her hesaplama için aynıysa, verimlilik daha da iyileştirilebilir. Ağırlık paylaşımı, ağırlıkların depolama alanı gereksinimlerini büyük ölçüde azaltabilir.

En popüler pencereli, ağırlık paylaşım ağlarından biri evrişim sinir ağıdır. Şekil 5 (a) 'da gösterildiği gibi, her çıktı yalnızca küçük bir mahalledeki ağırlıklı aktivasyon toplamından hesaplanır. Her filtrenin sonlu bir alıcı alanı vardır ve girişteki belirli bir mesafenin ötesindeki değerlerin ağırlıkları sıfıra ayarlanır. Aynı zamanda, her çıktı için aynı ağırlık paylaşılır, bu da filtrenin uzamsal değişmezliği olduğu anlamına gelir.

Şekil 5: Evrişim

DNN bileşenleri

Evrişimli sinir ağı: Şekil 6'da gösterildiği gibi, birden çok evrişimli katmandan (CONV) oluşur.Her evrişimli katman, kendi girdisi üzerinde yüksek düzeyde soyutlama gerçekleştirir.Bu yüksek düzeyli soyutlamaya, özellik haritası (özellik haritası, fmap). CNN, çok derin katmanlarla son derece yüksek performans elde edebilir. Evrişimli sinir ağları, görüntü anlama, konuşma tanıma, oyunlar ve robotikte yaygın olarak kullanılmaktadır. Şekil 5 (b) CNN evrişim sürecini tanıtmaktadır.CNN'deki her bir evrişim katmanı esas olarak yüksek boyutlu evrişimden oluşmaktadır. Giriş, bir dizi iki boyutlu özellik haritasıdır (giriş özelliği haritaları), özellik haritalarının sayısı kanal olarak adlandırılır, burada C kanalları vardır. Evrişimli katman tarafından çıkarılan her nokta, tüm kanal evrişimlerinin toplamıdır. Evrişimli katman tarafından çıkarılan kanalların sayısı filtre sayısına bağlıdır Bu örnekte, M filtreleri vardır, bu nedenle çıktı özelliği haritası M kanaldır.

Şekil 6: Evrişimli Sinir Ağı

Doğrusal olmayan işlev: Her evrişimden veya tam bağlantılı hesaplamadan sonra doğrusal olmayan bir etkinleştirme işlevi kullanılır. Şekil 7'de gösterildiği gibi, farklı türde doğrusal olmayan fonksiyonlar, doğrusal olmamayı DNN'ye sokar. İlk başta, DNN genellikle Sigmoid veya tanh işlevlerini kullandı.Şu anda, ReLU ve bazı değişken işlevlerinin daha basit, eğitilmesi daha kolay ve aynı zamanda daha yüksek doğruluk elde ettiği kanıtlandı, bu nedenle giderek daha popüler hale geldi.

Şekil 7: Yaygın olarak kullanılan doğrusal olmayan aktivasyon fonksiyonları

Havuzlama: Havuzlama, ağı daha sağlam hale getirebilir. Genellikle havuzlama üst üste binmez, bu da sunumun boyutluluğunu ve parametre miktarını azaltabilir.

Şekil 8: Havuzlama

Normalleştirme: Her katmandaki girdilerin dağılımını kontrol etmek, eğitim sürecini büyük ölçüde hızlandırabilir ve doğruluğu artırabilir. Genellikle, ve eğitim sırasında öğrenilmesi gereken parametreler olduğunda, daha da ölçeklendiren ve çeviren toplu normalleştirme (aşağıdaki formül) vardır.

Yaygın DNN modelleri

LeNet: El yazısı rakam tanımayı çözmek için tasarlanmış, 1989'daki ilk CNN yöntemi.

AlexNet: 2012'de ImageNet yarışmasını kazandı ve CNN yöntemini kullanarak ImageNet'i kazanan ilk ağ oldu. 5 evrişimli katmana ve 3 tamamen bağlı katmana sahiptir.

Overfeat: AlexNet yapısına çok benzer.Ayrıca 5 evrişimli katmana ve 3 tam bağlantılı katmana sahiptir.Farkı, Overfeat'ın daha fazla filtreye sahip olmasıdır, bu nedenle doğruluk biraz artar.

VGG-16: Ağ derinliği, 13 evrişimli katman ve 3 tam bağlantılı katman dahil olmak üzere 16 katmana ulaşarak büyük ölçüde derinleştirildi. Ağ katmanlarının sayısının derinleşmesinin neden olduğu maliyet artışını dengelemek için, büyük bir filtre, parametre sayısını azaltmak ve aynı algısal alana sahip olmak için birden çok küçük filtreye ayrıştırılır. VGG'nin iki modeli vardır ve VGG-16'nın İlk 5 hata oranından% 0.1 daha düşük olan bir VGG-19 modeli vardır.

Şekil 9: Algısal alanın boyutunu değiştirmeden korumak için parametreleri küçültmek için büyük filtreler yerine iki küçük filtre kullanılır.

GoogLeNet: Ağ derinliği 22 katmana ulaşır ve Şekil 10'da gösterildiği gibi Başlangıç modeli tanıtılmıştır. Başlangıç modeli paralel olarak bağlanırken, önceki model genellikle kademelidir. Gördüğünüz gibi, girişi farklı ölçeklerde işleyebilmek için girişi işlemek için çeşitli boyutlarda filtreler kullanır. 22 katmanlı ağ, üç evrişimli katman, ardından 9 inceptioin katmanı (her katman iki evrişimli katmana eşdeğerdir) ve tamamen bağlantılı bir katman içerir.

Şekil 10: Başlangıç modeli

ResNet: Residual Net olarak da adlandırılır. Artık bağlantıların kullanılması ağı daha derin hale getirir (34 katman veya daha fazla veya hatta bin katman). ImageNet mücadelesinde insandan daha düşük olan ilk 5 hata oranıdır. Ağ seviyesi derinleştiğinde, eğitimdeki zorluklardan biri Kaybolan Gradyandır. Ağ boyunca geri yayılırken gradyan küçüldükçe, ağın ilk birkaç katmanının ağırlıkları temelde çok derin ağlar için güncellenmez. Kalan ağ, uyumlu bağlantılar içeren bir "kısa devre" modeli sunar, böylece gradyan yayılması evrişimli katmanı atlayabilir ve ağ katmanlarının sayısı 1.000'e ulaşsa bile eğitilebilir.

Şekil 11: Artık hata modeli

DNN işleme donanımı

DNN'nin popülaritesi nedeniyle, birçok donanım platformu DNN işlemenin özellikleri için geliştirmeyi hedeflemiştir. Hem sunucu düzeyinde hem de gömülü SoC donanımı hızla gelişiyor. Bu nedenle, çeşitli platformların bilgi işlemi nasıl hızlandırdığını anlamak çok önemlidir.

CONV ve FC katmanlarının temel bileşenleri, kolayca paralelleştirilebilen Çarp ve Biriktir (MAC) 'dir. Şekil 12'de gösterildiği gibi yüksek performansa ulaşmak için, zaman ve mekanı içeren klasik bir mimari model sıklıkla kullanılır. Zaman mimarisi (SIMD veya SIMT olarak da adlandırılır) esas olarak CPU veya GPU'da görünür. Çok sayıda ALU için merkezi kontrol kullanır. Bu ALU'lar, verileri bellek hiyerarşisinden akıllıca alır ve verileri birbirleriyle iletişim kuramaz. Buna karşılık, uzamsal mimari veri akışı işlemeyi kullanır, yani ALU'lar verileri birinden diğerine doğrudan aktarabilmeleri için bir işleme zinciri oluşturur. Her ALU'nun kendi kontrol mantığı ve çalışma alanı veya kayıt dosyası adı verilen yerel belleği vardır. Uzay mimarisi esas olarak DNN için özel olarak tasarlanmış ASIC'de kullanılır.

Şekil 12: Zaman ve uzay mimarisi

Zaman mimarisi için, çekirdekteki Hesaplamalı Dönüşüm çarpma sayısını azaltmak ve verimi (Aktarım Hızı) artırmak için kullanılabilir.

Hızlandırma donanımında kullanılan alan mimarisi için, verilerin yeniden kullanımını artırmak ve enerji tüketimini azaltmak için bellek hiyerarşisindeki düşük maliyetli bellek kullanılır.

Makale, DNN işlemlerini hızlandırmak için zaman ve mekan mimarisini iyileştirmek için bu iki yöntemin nasıl kullanılacağını ayrıntılı olarak açıklamaktadır.İlgili okuyucular, derinlemesine anlayış için orijinal makaleyi okuyabilirler: Derin Sinir Ağlarının Etkili İşlenmesi: Bir Eğitim ve Anket

WeChat hala böyle oynayabilir mi? Size bir arkadaş çevresi göndermeyi öğretin
önceki
Xu Xiyan diss Cao Xiwen? Sıkıntılı Zhao Liying? Çok kavun var
Sonraki
Girişten uzmanlığa kadar, 32 resmi Apple öğreticisi sizi Apple cihazlarına götürecek
World Wide Web'in babası Tim Berners-Lee Turing Ödülü'nü kazandı; Üç yıldır güncellenmeyen Mac Pro yeni modellerden çıkıyor | Lei Feng Morning Post
Dünyanın en sessiz yeri, kimse 1 saatten fazla kalamaz ...
"Huang Bo'nun kadın versiyonu" popüler oldu, tanrı cevap verdi: gözlerini çevirin
Heyecan verici! Milyonlarca vatandaş "Örümcek Adam" ın Wushan Tanrıça Merdiveni'ne meydan okumasını izledi
Bu hafta oyun zamanı sıcak: Hadi birlikte avlanmaya gidelim
Aşırı indirilen Xcode: Bu zarif renk yönetimi aracı herkes tarafından kullanılmalıdır
Yang Zi, sorular karşısında Zhang Yishan'ın bir baba gibi olduğunu açıkça itiraf etti.
Yapay zeka yetenek havuzu gizlice savaşıyor, Çin'in kazanma şansı nedir?
Doğu'nun İncisi Kulesi, Hong Kong-Zhuhai-Makao Köprüsü, Kuala Lumpur Petronas İkiz Kuleleri ... İlkokul ve ortaokul öğrencilerinin "Kuşak ve Yol" boyunca doğal noktalar inşa etmek için yapı taşlarını
Yabancı "Deformasyon Ölçer": Fakir aile ve zengin aile hayatlarını değiştirdikten sonra ne oldu?
Evrim mi, kontrol dışı mı? Gelip seninle "Digimon" hakkında konuş
To Top