Intel, Loihi nöromorfik işlemcisini tanıttı. NeuroMem'den NM500 örneğini kullanarak nöroişlemcilerin nasıl çalıştığı hakkında kısaca

  • 01.05.2019

Şu anda, nöroişlemciler hala elektronik geliştirmenin en umut verici alanlarından biri olmaya devam ediyor. Tabii ki hala mükemmel olmaktan çok uzaklar. Ancak teknoloji yerinde durmuyor ve modern nöroişlemcilerin yeteneklerinin çok etkileyici olduğu ortaya çıkıyor. Bu makale, nöroişlemcilerin tarihini kısaca anlatıyor, nöroişlemciler ile geleneksel mimariye sahip işlemciler arasındaki farkları ortaya koyuyor ve bir mikro devre örneğini kullanarak nöroişlemcilerin temel çalışma ve eğitim prensiplerini analiz ediyorN.M.500'den itibarenNöroMem.

Tüm başarılara rağmen modern teknolojiler, İnsan beyni en mükemmel olmaya devam ediyor bilgi işlem sistemi yerde. Elbette herhangi biri, en basit 8 bitlik mikrodenetleyici bile aritmetik yarışmalarında bir matematik profesörünü kolayca geride bırakacaktır, ancak biçimlendirilmemiş problemlerle başa çıkması pek mümkün değildir.

Beynin inanılmaz çok yönlülüğü uzun zamandır geliştiricilerin hayaliydi işlemci sistemleri. Geçen yüzyılın 60'lı yıllarında, nöronların bir makine analogunu yaratma girişimleri yapıldı. Bir örnek, Frank Rosenblatt tarafından geliştirilen Mark-1 algılayıcısıdır. Elektronik nöronların ilk versiyonları, yetenekleri açısından biyolojik orijinalinden çok uzaktı ve bu soruna olan ilgi çok yüksek değildi. Ancak 80'lerde entegre teknolojiler, milyonlarca transistörü birleştiren karmaşık işlemciler oluşturmayı mümkün kıldı ve bunların topolojik normlarının gerçek biyolojik nöronların boyutundan daha küçük olduğu ortaya çıktı. Aynı zamanda, bu işlemciler resmi olmayan sorunları çözme verimliliği açısından hâlâ beyinden önemli ölçüde düşüktü. Nöroişlemci teknolojilerinin gelişmesinin itici gücü bu çelişkiydi. Aynı zamanda hem özel mimarilerin yaratılmasını hem de mimarilerin geliştirilmesini tartıştık. teorik konular.

Nöral işlemci ile geleneksel işlemci arasındaki fark nedir?

Nöroişlemcilerin mikrodenetleyiciler (MK), işlemciler (CPU), dijital gibi geleneksel işlemci sistemlerinden farkı nedir? sinyal işlemcileri(DSP), GPU'lar(GP) vb. Temel fark mimaride yatmaktadır. Geleneksel işlemciler, farklı işlemleri gerçekleştiren ayrı birimlerden oluşur. farklı işlevler(bilgi işlem ve çevre birimleri, bellek). Nöroişlemciler, birçok nöronu içeren daha "homojen" bir yapıya sahiptir; yerleşik belleğe sahip özdeş ve nispeten basit hesaplama hücreleri. Bu fark fotoğrafta bile açıkça görülmektedir (Şekil 1).

Pirinç. 1. Geleneksel bir işlemci ve bir nöroişlemcinin yapısının büyütülmüş fotoğrafı

Böylece, bir nöroişlemcinin mimarisi, tanım gereği, çok çekirdeklidir, çünkü her nöron bağımsız bir bilgi işlem çekirdeğidir. Bunun sonucunda görüntü tanıma, filtreleme vb. birçok işlem çok hızlı bir şekilde gerçekleştirilir. Kesinlikle, modern işlemciler aynı zamanda çok çekirdekli bir yapıya da sahip olabilir (öncelikle grafik işlemciler), ancak onlar için resmileştirilmemiş sorunları çözmek hala zor. İşlemci yeteneklerindeki diğer önemli farklılıklar Tablo 1'de sunulmaktadır.

Tablo 1. İşlemcilerin geleneksel mimari ve sinir işlemcileriyle karşılaştırılması

MK/CPU/DSP/GP

Nöroişlemciler

Bilgi işlem çekirdeği ve belleğin ayrıldığı Harvard mimarisi veya von Neumann mimarisi

Kendi hafızasına sahip özdeş hesaplama hücrelerinin tekdüze yapısı

Çok işlemcili sistemlerde paralel işleme

Tanım gereği paralel işleme

Mantıksal/Sıralı/Doğrusal Problemleri Çözmek?

Standart olmayan/paralel/doğrusal olmayan problemleri mi çözüyorsunuz?

Görevlerin ayrıştırılması ve objektif değerlendirmelerin kullanılması

Önceki deneyimleri ve sürekli kendi kendine öğrenmeyi dikkate alarak sorunu "tamamen" çözmek

Zamanında kesin kararlılık, matematiksel aparat, veri tipi

Sorunları çözerken katı bir determinizm yoktur

Açıkça yapılandırılmış veri kümeleriyle çalışmak için idealdir

Yapılandırılmamış ve standart dışı veri kümeleriyle çalışmak için idealdir

Ölçeklendirme zorluğu

Göreceli ölçeklendirme kolaylığı

Nöroişlemcilerin gelişimi, geleneksel işlemcilerin gelişimi gibi, entegre teknolojilerin gelişmesiyle de yakından ilişkilidir. Topolojik normlar ne kadar küçük olursa, çipin üzerine o kadar çok nöron sığabilir. düşük seviye tüketimi (Şekil 2).

Pirinç. 2. Entegre teknolojilerin gelişimi nöroişlemcilerin gelişimini belirliyor

Şu anda, nöroişlemcilerin giderek daha az başarılı uygulamalarına ilişkin birçok örnek var. Önerilen çözümlerin çoğu, dar bir yelpazedeki sorunları çözmek için geliştirildi ve her zaman geniş bir geliştirici yelpazesinin kullanımına sunulamadı. Ancak görünen o ki uygun fiyatlı ve kullanıcı dostu sinir işlemcilerinin ortaya çıkması çok da uzak değil. Buna bir örnek NeuroMem'in CM1K ve NM500 işlemcileridir.

Sinir ağı bir nöroişlemcide nasıl yapılandırılmıştır?

NeuroMem'in CM1K ve NM500 örneğini kullanarak nöroişlemcilerin tasarımına ve çalışma prensibine bakalım. Bu işlemciler bir yandan nörobilgisayarın özünü çok iyi ortaya koyuyor, diğer yandan oldukça basit ve şeffaf bir mimariye sahipler.

CM1K- 130 nm teknolojisi kullanılarak üretilen ve 1024 nörondan oluşan bir ağ içeren bir nöroişlemci (Tablo 2). CM1K'de yerleşik bir denetleyici (yerleşik kontrol yardımcı işlemcisi) yoktur - tüm hesaplamalar, paralel bir veriyoluna bağlı ve 27 MHz'e kadar frekansta çalışan paralel nöronlar tarafından gerçekleştirilir (Şekil 3). Aynı zamanda toplam sistem tüketimi oldukça düşük (0,5 W'tan) çıkıyor. CM1K, 16x16mm TQFP paketine sahiptir.

NM500- NeuroMem'den 110 nm teknolojisi kullanılarak yapılmış ve 576 nöronu birleştiren yeni bir nöroişlemci (Tablo 2). Tıpkı CM1K gibi NM500'de de yerleşik bir denetleyici yoktur (Şekil 3). Kasa boyutları bu işlemcinin 4x4 mm (WCSP64) ve aktif modda tüketim 153 mW'tan azdır.

Pirinç. 3. CM1K ve NM500 nöroişlemcilerinin yapısının oldukça basit olduğu ortaya çıktı

Tablo 2. C1MK, QuarkSE/Curie ve NM500 nöroişlemcilerinin özelliklerinin karşılaştırılması

Parametre

QuarkSE/Curie

Üretici firma

Nöron sayısı

Nöron hafızası

Mesafeler

"Ken yakın komşular» (K-En Yakın Komşu, KNN)

Radyal Temel Fonksiyon (RBF)

LSUP Mesafe Hesaplaması

Mesafe hesaplaması L1 (Manhattan)

Basamaklı

İşlemcileri basamaklandırırken frekans/frekans

Çerçeve

Teknoloji

Yerleşik bir denetleyicinin bulunmaması, CM1K ve NM500 ile çalışmanın, nöronlara veri sağlayacak harici bir kontrol işlemcisi gerektirdiği anlamına gelir. Bu durumda iletişim paralel çift yönlü 26 bitlik veri yolu üzerinden gerçekleştirilir. Temel olarak NM500, ortak bir paralel veri yoluna bağlanan ve birbirleriyle bağlantıları olan özdeş nöronlardan oluşan bir zincirdir (Şekil 4).

Pirinç. 4. NM500'ün basitleştirilmiş yapısı

Bir sinir ağı, bir nöroişlemcide nasıl çalışır?

CM1K ve NM500 iki ana modda çalışma kapasitesine sahiptir: eğitim ve tanıma (Şekil 5). Bu durumda doğası gereği tamamen farklı olan verilerden bahsedebiliriz: metinler, resimler, ses sinyalleri, video vb. Ayrıca (tamamen basitlik olsun diye!) nöroişlemcinin görüntü tanıma için kullanıldığını varsayacağız. Veri akışı harici bir kontrol işlemcisi tarafından oluşturulur ve işlem nöronlar tarafından gerçekleştirilir.

Pirinç. 5. CM1K ve NM500 iki ana modda çalışabilir: öğrenme ve tanıma

Her NM500 nöronunun kendi programlanabilir belleği vardır: ana 256 bayt (şablon), bağlam (8 bit), kategori (16 bit). Kategori, nesneleri sınıflandırmak için kullanılır ve bağlam, nöronları alt ağlara bölmek için kullanılır. Ayrıca her nöronun kendine ait 24 bitlik NID'si (nöron kimliği) vardır. Nöron hafızalarının programlanması, geleneksel işlemcilerin programlanmasından farklıdır. İÇİNDE normal işlemci Program çalışmaya başlamadan önce kaydedilir. Pek çok nöroişlemcide (ancak hepsinde değil!) programlama doğrudan operasyon sırasında gerçekleştirilebilir ve buna eğitim denir.

Şekil 6 NM500'ün eğitim sürecini göstermektedir. İlk adımda tüm nöronlar eğitilmemiştir ve “boş” durumdadır (ilk nöron hariç). Onların çıktısında var düşük sinyal"L". İlk nöron “öğrenmeye hazır” durumdadır. Kontrol işlemcisi doldurmayı tamamladıktan sonra Dahili bellek(paralel veri yolu aracılığıyla), ilk nöron "eğitimli" duruma girecek ve NID=1 tanımlayıcısını alacak, çıkışı ayarlanacak yüksek sinyal"H". Bu durumda ikinci nöron “öğrenmeye hazır” duruma geçecektir. Bu sayede tüm nöronlar (NID=2, NID=3...) sıralı olarak eğitilip otomatik olarak tanımlanabilir. Bu yaklaşım, NM500 işlemcilerinin basamaklandırılmasına olanak tanıyarak nöron sayısını neredeyse sonsuza kadar artırır.

Pirinç. 6. NM500 nöronları sırayla eğitilir

Örnek olarak NM500'ün ürün tanıma fonksiyonlu yazarkasa parçası olarak çalışmasını inceleyelim (Şekil 7). Eğitim sürecinde ürünlerin şablon görselleri nöronların ana hafızasına (256 byte) yazılmış ve kategori alanına (16 bit) türleri kodlanmıştır: salatalık, muz, havuç vb. Ayrıca, çalışma sırasında kamera şunları yapar: dijital Fotoğrafçılıkürün. Kontrol işlemcisi görüntüyü paralel bir veri yolu üzerinden aynı anda tüm nöronlara iletir. Nöronlar yerleşik tanıma algoritmalarını kullanarak hafızalarının içeriğini ve ortaya çıkan görüntüyü karşılaştırır. Daha sonra nöronlar, maçın sonuçları hakkında kontrol işlemcisine rapor verir. Bir eşleşme bulunursa görev başarıyla çözülmüştür. Değilse, kontrol kontrolörü bağımsız olarak veya bir operatörün yardımıyla yeni şablon ve onu serbest bir nörona yerleştirin.

Pirinç. 7. Ürünleri tanımak için NM500'ü kullanma

Nöronlar bir nesnenin şekil, renk vb. gibi çeşitli özelliklerini tanımak için kullanılabilir. Bu gibi durumlarda bağlam alanını kullanarak nöronları ayrı alt ağlara bölmek uygundur. Daha sonra tanıma işlemi sırasında yalnızca bağlamı kontrol işlemcisi tarafından belirlenen genel bağlamla örtüşen nöronlar aktif kalır.

Verilen örnek, nöroişlemcinin çalışmasının en karmaşık yönlerini dikkate almamaktadır. Spesifik olarak bir nöron karşılaştırmayı nasıl gerçekleştirir? Benzerlik nasıl değerlendirilir? Nasıl çözüldüler? tartışmalı konular? Örneğin, bu örnekte kamera salatalığa benzeyen yeşil, olgunlaşmamış bir muzu yakalasaydı ne olurdu? 1. ve 3. nöronlar arasında çarpışma olur mu? Bu soruları ayrı ayrı ele alalım.

Nöral işlemci neden mesafeyi bit cinsinden ölçüyor?

Benzerlik derecesinin nasıl değerlendirildiğini anlamak için NM500'deki nöronun yapısına bakmak gerekir (Şekil 8). Karşılaştırma sürecinde gerçek görüntüözel algoritmalar kullanılarak işlenir (onlar hakkında konuşacağız ayrıca) ve nöronun hafızasında saklanan bir şablon (256 bayt). Karşılaştırmanın sonucu, “Mesafe” kaydına yerleştirilen 16 bitlik bir sayıdır. Yani nöron, sonucu “eşleşti” – “eşleşti” şeklinde değil, “benzerlik” ölçüsü olan 16 bitlik sayı – mesafe şeklinde üretiyor. Mesafe ne kadar küçük olursa, incelenen görüntü şablona o kadar yakın olur.

Pirinç. 8. NM500 nöronundaki tanıma süreci

Mesafe hesaplandıktan sonra ilgi alanı kaydının (etki alanı, IF) değeriyle karşılaştırılır. Mesafe daha küçükse, nesnenin şablona benzerliği yüksektir. Bu durumda nöron uyarılmış duruma (ateş) geçer ve mesafe değerini ve ardından gerekirse kategoriyi (16 bit) ve nöron tanımlayıcısını (NID) kontrol işlemcisine iletmeye başlar.

İncelenen nesnenin, hem muza hem de salatalığa benzeyen yeşil bir muz gibi aynı anda birkaç nöronun ilgi alanına girme ihtimali var. Bu gibi durumlarda NM500, patentli, tahribatsız bir tahkim mekanizması uygular.

Tahkimi gerçekleştirmek için COMP karşılaştırma bloğu kullanılır. Girişlerinden biri nörondan veri alırken, ikincisi veri yolunun mevcut durumunu alır. Bu durumda karşılaştırma ünitesinin çıkış hatları D açık kollektör tipindedir ve aynı veri yoluna bağlanır. Böylece nöronların her biri yalnızca verileri veri yoluna iletmekle kalmaz, aynı zamanda durumunu da izler. Nöronlardan birinin daha küçük bir mesafe (daha fazla benzerlik) bildirdiği ortaya çıkarsa, daha az benzerliğe sahip olan nöron otomatik olarak kapanır ve maksimum benzerlik için "yarış"tan çıkar.

Kontrol işlemcisinin mesafeyi okuduktan sonra kategoriyi (16 bit) ve nöron tanımlayıcıyı (NID) okuması gerekiyorsa aynı tahkim mekanizması kullanılır. Bu nedenle, eğer iki nöron eşit mesafeye sahipse, ancak bunlardan biri daha düşük bir kategori değerine sahipse, o zaman tahkim "yarışını" kazanacak ve veri iletmeye devam edecek olan kişi o olacaktır.

Bu tahkim ilkesine "Kazanan Her Şeyi Alır" denir ve genellikle "kazanan her şeyi alır" olarak çevrilir.

Yukarıda açıklanan çalışma algoritması, radyal temel fonksiyonların mekanizmasına (Radyal Temel Fonksiyon, RBF) karşılık gelir. Ana avantajı maksimum zamansal determinizmdir - kontrol işlemcisi bir eşleşmeyi (veya yokluğunu) 19 saat döngüsünde (kategori çıkarmayla 37 saat döngüsü) öğrenir. NM500 ayrıca K-En Yakın Komşu (KNN) mekanizmasını da destekler.

K-En Yakın Komşu (KNN) mekanizmasını kullanırken ilgi alanı kaydının değeri göz ardı edilir ve tüm nöronlar zaten uyarılmış duruma geçer. Daha sonra kontrol işlemcisi tüm nöronların mesafe değerlerini okur ve bu çok daha fazla zaman alır. Yukarıda belirtildiği gibi, bir nöronun mesafesini okumak 19 saat döngüsü sürer; daha sonra örneğin 50 nöronun mesafesini okumak 950 saat döngüsü alacaktır.

Neden farklı işleme algoritmalarına ihtiyaç duyulur?

Karşılaştırma algoritmalarının kendisi hakkında da birkaç söz söylemek gerekiyor. Bu tür pek çok algoritma vardır, özellikle NM500, L1 (Manhattan) ve Lsup algoritmalarını destekler (Şekil 9). Algoritma seçimi spesifik göreve bağlıdır:

  • Lsup, kaynak verilerin şablondan maksimum sapmasını tespit etmenizi sağlar. Açıkçası, böyle bir algoritma, anormallik tespiti kadar filtreleme için de idealdir.
  • L1, veri dizisinin tüm bileşenlerinin şablonun karşılık gelen bileşenlerinden sapmasını belirlemenizi sağlar. Bu algoritma madencilik operasyonlarında talep görmektedir.

Pirinç. 9. Mesafeyi hesaplamak için NM500, L1 (Manhattan) ve Lsup algoritmalarını kullanır.

Nöroişlemcinin parmaklarda, resimlerde ve tablolarda çalışması

Şimdi Genel Konular dikkate alındığında, birkaç spesifik örneğe ayrıntılı olarak bakmanın zamanı geldi.

Örnek 1. İki sayıdan oluşan tek boyutlu dizileri tanıma

İÇİNDE bu örnekteüç nöronun kullanılması gerekiyor. Bunu yapmak için hafızaları şu şekilde doldurulur:

  • 1 nöron: şablon = (11, 11), ilgi alanı AIF = 16, CAT kategorisi = 55, NID = 1;
  • 2 nöron: şablon = (15, 15), ilgi alanı AIF = 16, CAT kategorisi = 33, NID = 2;
  • 3 nöron: desen = (30, 30), ilgi alanı AIF = 20, CAT kategorisi = 100, NID = 3.

Bu örnek rahatlıkla iki boyutlu olarak gösterilebilir. grafik modeli(Şekil 10). Her nöron, AIF ilgi alanına eşit yarıçaplı bir küre olarak temsil edilir. Aynı zamanda örtüşen ilgi alanlarının varlığını da fark etmek kolaydır.

Pirinç. 10. Örnek 1. Grafik gösterimi kaynak verileri

Sistemin girdi vektörlerine tepkisini ele alalım.

Vektör (12, 12). Nöron 1 ile vektör 1 arasındaki tahmini mesafe (L1 algoritmasına göre), vektör ile şablonun bileşenleri arasındaki farkların toplamı olarak hesaplanır: (12-11) + (12-11) = 2.

Aynı yol:

  • Nöron 2'ye uzaklık: (15-12) + (15-12) = 6.
  • Nöron 3'e uzaklık: (30-12) + (30-12) = 36.

Böylece vektör (12, 12), nöron 1 ve nöron 2'nin ilgi alanına girer (onları uyarır), ancak nöron 3'ün ilgi alanına girmez (Şekil 11).

Sonuç olarak “kazanan hepsini alır” mekanizmasını kullanarak sonucu okurken, nöron 1 minimum mesafeye yani maksimum eşleşmeye sahip olduğundan kontrol işlemcisi nöron 1'den eşleşme verilerini alacaktır.

Pirinç. 11. Örnek 1. Vektör konumu (12,12)

Vektör (13, 13). Vektöre tahmini mesafeler:

  • Nöron 1'e uzaklık: (13-11) + (13-11) = 4.
  • Nöron 2'ye uzaklık: (15-13) + (15-13) = 4.
  • Nöron 3'e uzaklık: (30-13) + (30-13) = 34.

Böylece vektör (13, 13), nöron 1 ve nöron 2'nin ilgi alanına girer (onları uyarır), ancak nöron 3'ün ilgi alanına girmez (Şekil 12). Aynı zamanda 1 ve 2 nörona olan mesafe aynıdır. Ancak nöron 2'nin kategorisi daha küçük olduğundan, kazanan her şeyi alır yarışını kazanacak. Kontrol işlemcisi, nöron 2'den eşleşme verilerini alacaktır.

Pirinç. 12. Örnek 1. Vektör konumu (13,13)

Vektör (14, 14). Vektöre tahmini mesafeler:

  • Nöron 1'e uzaklık: (14-11) + (14-11) = 6.
  • Nöron 2'ye uzaklık: (15-14) + (15-14) = 4.
  • Nöron 3'e uzaklık: (100-14) + (100-14) = 32.

Böylece vektör (14, 14), nöron 1 ve nöron 2'nin ilgi alanına girer (onları heyecanlandırır), ancak kontrol işlemcisi, kazanan nöron 2'den maçla ilgili verileri alacaktır (Şekil 13).

Pirinç. 13. Örnek 1. Vektör konumu (14,14)

Vektör (200, 200). Vektöre tahmini mesafeler:

  • Nöron 1'e olan mesafe: (200 - 11) + (200 - 11) = 378.
  • Nöron 2'ye olan mesafe: (200 - 15) + (200 - 15) = 370.
  • Nöron 3'e olan mesafe: (200 - 30) + (200 - 30) = 340.

Böylece vektör (200, 200) hiçbir nöronun ilgi alanına girmemektedir (Şekil 14). Böyle durumlarda işlemci bu vektörün boş bir nörona yazılmasını başlatabilir ve onu bağımsız olarak sınıflandırabilir.

Pirinç. 14. Örnek 1. Vektör konumu (200.200)

Yeni bir vektör öğrenme (13, 13). Diyelim ki kategorisi 100 olan yeni bir vektörü (13,13) “öğrenmemiz” gerekiyor. Yukarıda gösterildiği gibi nöron 1 ve nöron 2’ye eşit uzaklıkta. Bu nedenle bu vektörü yazarken nöronlar otomatik olarak ilgi alanlarını AIF = 8 değerine kadar daraltır. Böylece nöronların kendi kendine öğrenmesi gerçekleşir.

Pirinç. 15. Örnek 1. Yeni bir vektör eklerken nöronların kendi kendine öğrenmesi, ilgi alanını daraltmaktan ibarettir

Örnek 2. İki kişinin eğitimi ve çalışması sinir ağı 10 rakamdan oluşan bir dizi ile

Bu örnekte Örnek 1'deki hesaplamalara benzer hesaplamalar tekrarlanmaktadır.Temel fark, eğitimlerin tanımalar arasında yapılması ve sonuçları ciddi şekilde etkilemesidir.

Süreç Tablo 3'te sunulmaktadır.

Tablo 3. Örnek 2. Bir nöroişlemcinin 10 sayıdan oluşan bir diziyle çalışırken davranışı

Operasyon

En iyi eşleşme

En iyi ikinci maç

1 nöronun eğitimi

Vektör 1 = 0,1,2,3,4,5,6,7,8,9

Tanıma

KAT=1, DIST=0, NID=1

KAT=0xffff, MESAFE=0xffff

Vektör 2 = 0,1,2,6,4,5,6,7,8,9

Tanıma

KAT=1, DIST=3, NID=1

KAT=0xffff, MESAFE=0xffff

2 nöronun eğitimi

Vektör 3 = 0,1,4,3,8,5,12,7,16,9

Tanıma

KAT=2, DIST=0, NID=2

KAT=0xffff, MESAFE=0xffff

Vektör 4 = 0,1,2,3,4,5,12,7,16,9

Tanıma

KAT=2, DIST=6, NID=2

KAT=1, DIST=14, NID=1

Vektör 5 = 0,1,2,3,4,5,6,7,16,9

Tanıma

KAT=1, DIST=8, NID=1

KAT=2, DIST=12, NID=2

Yeterli nöron yoksa ne yapmalı?

Bir soru ortaya çıktı. 576 nöron ve 256 bayt bellek - çok mu yoksa az mı? Açıkçası cevap gereksinimlere bağlıdır özel uygulama. İçin basit görevler bu kadar yeter ama daha fazlası için karmaşık uygulamalar daha fazlası gerekli olabilir güçlü araç. Bununla birlikte, NM500 işlemcilerin çok basit ve geniş bir kullanıcı kitlesi için erişilebilir olduğu ortaya çıkıyor ki bu da şüphesiz onların en büyük avantajı.

Yukarıda da bahsettiğimiz gibi ihtiyaç halinde NM500 işlemci tabanlı sinir ağı genişletilebiliyor. Bu amaçla mikro devrelerin basamaklanması kullanılır (Şekil 16). Bu durumda bir işlemcinin DCO çıkışının bir sonraki işlemcinin DCI girişine bağlanması gerekir. Sıralı olarak bağlanan mikro devrelerin sayısı sınırlı değildir veya daha doğrusu yeteneklerle sınırlıdır baskılı devre kartı 20 MHz'e kadar frekanslarda çalışırken sinyal bütünlüğünü koruyun.

Pirinç. 16. NM500 işlemcilerin basamaklandırılmasıyla sinir ağının genişletilmesi

NM500'ün yetenekleriyle nasıl tanışabilirim?

NM500'ü yaratmanın hedeflerinden biri, nöroişlemcileri kitlelere tanıtmaktı. Bu strateji çerçevesinde hareket eden NeuroMem şirketi mantıksal yolu takip ederek nöroişlemciyi her iki taraf için de mümkün olduğunca erişilebilir hale getiren Arduino uyumlu NeuroTile hata ayıklama modülünü piyasaya sürdü. profesyonel geliştiriciler ve sıradan elektronik meraklıları için.

NeuroTile'da bir veya iki NM500 işlemci, ARM Cortex-M4 işlemci çekirdeğine sahip yüksek performanslı ve düşük güçlü bir STM32F476 mikro denetleyici, Lattice'ten XO3 FPGA, Bluetooth, 6 eksenli bir atalet modülü (jiroskop + ivmeölçer), 6 eksenli bir atalet modülü (jiroskop + ivmeölçer) bulunur. eksen atalet modülü (manyetometre + ivmeölçer), basınç sensörü, mikrofon, hafıza kartı yuvası, çip Li-ion'u şarj edin piller, USB, pin konnektörleri için Arduino uyumlu yığın (Şekil 17).

Pirinç. 17. Dış görünüş ve yapı geliştirme kurulu NöroTile

NM500'lü Arduino uyumlu hata ayıklama modülleri bulunmaktadır. üçüncü taraf üreticilerörneğin ProdigyBoard'dan Koreli şirket nepes (Şekil 18). ProdigyBoard'un ayırt edici özellikleri şunlardır: iki NM500 işlemci, 1 GB DDR3, FPGA önyüklenebilir flaş 20 Mbit, kamera, mikrofon, Mikro SD, USB.

Pirinç. 18. ProdigyBoard geliştirme kurulunun görünümü ve yapısı

Çözüm

Geleneksel işlemcilerin aksine, sinir işlemcileri karmaşık resmi olmayan görevleri gerçekleştirirken yüksek performans ve düşük tüketim sağlar. Ürün kalite kontrolünden görüntü ve ses işlemeye kadar geniş bir uygulama yelpazesinde kullanılabilirler.

Basit ve kullanıcı dostu NM500 nöroişlemcilerin ortaya çıkışı, nöroişlemci teknolojilerinin yaygınlaşması için büyük bir adım olabilir.

Nöroişlemcinin özellikleriNM500:

  • Nöron sayısı: 576;
  • Nöron hafıza kapasitesi: 256 bayt;
  • Çalışma modu: radyal simetrik fonksiyonlar (RadialBasisFunction, RBF) ve “K-NearestNeighbor” (KNN);
  • Çıkış durumları: belirlendi, tam eşleşme değil, bilinmiyor;
  • Mesafe hesaplaması: L1 (Manhattan), Lsup;
  • Çalışma frekansı: 37 MHz (tek işlemcili), 18 MHz (tek işlemcili) paralel bağlantı işlemciler);
  • İletişim arayüzleri: paralel veri yolu (26 hat);
  • Besleme gerilimleri: 3,3 V IO ve 1,2 V çekirdek;
  • Tüketim ( aktif çalışma): <153 мВт;
  • Kasa: CSP-64 4,5x4,5x0,5 mm.

Temelde yeni bilgi işlem sistemi mimarilerinin geliştirilmesi için en umut verici alanlardan biri, yerleşik bilgi işleme ilkelerine dayanan yeni nesil bilgisayarların oluşturulmasıyla yakından ilgilidir. yapay sinir ağları(NS). Yapay sinir ağları ve nörobilgisayarlar üzerine ilk pratik çalışma 40'lı ve 50'li yıllarda başladı. Bir sinir ağı genellikle, bilgi alışveriş kanalları "sinaptik bağlantılar" aracılığıyla birbirlerine belirli bir şekilde bağlanan, "nöronlar" adı verilen bir dizi temel bilgi dönüştürücüsü olarak anlaşılır.

Nöronözünde, giriş ve çıkış durumları, bir aktarım işlevi (aktivasyon işlevi) ve yerel bellek ile karakterize edilen temel bir işlemcidir. Nöronların durumları çalışma sırasında değişir ve sinir ağının kısa süreli hafızasını oluşturur. Her nöron, sinapslar aracılığıyla kendisine gelen sinyallerin ağırlıklı toplamını hesaplar ve üzerinde doğrusal olmayan bir dönüşüm gerçekleştirir. Sinapslar üzerinden gönderildiğinde sinyaller belirli bir ağırlık faktörüyle çarpılır. Ağırlık katsayılarının dağılımı, sinir ağının ilişkisel hafızasında saklanan bilgileri içerir. Ağ tasarımının ana unsuru eğitimidir. Bir sinir ağını eğitirken ve yeniden eğitirken ağırlık katsayıları değişir. Ancak sinir ağının işleyişi sırasında sabit kalarak uzun süreli hafızayı oluştururlar.

N C bir katmandan, iki katmandan, üç veya daha fazla katmandan oluşabilir, ancak kural olarak bir YSA'da pratik problemleri çözmek için üçten fazla katmana gerek yoktur.

NN girişlerinin sayısı hiper uzayın boyutunu belirler, burada giriş sinyalleri noktalarla veya yakın aralıklı noktaların hiper bölgeleriyle temsil edilebilir. Bir ağ katmanındaki nöronların sayısı, hiperuzaydaki hiperdüzlemlerin sayısını belirler. Ağırlıklı toplamların hesaplanması ve doğrusal olmayan bir dönüşümün gerçekleştirilmesi, belirli bir hiperdüzlemin hangi tarafında giriş sinyali noktasının hiperuzayda bulunduğunu belirlemeyi mümkün kılar.

Klasik örüntü tanıma problemini ele alalım: bir noktanın iki sınıftan birine ait olup olmadığının belirlenmesi. Bu sorun doğal olarak tek bir nöron kullanılarak çözülür. Hiper uzayın kesişmeyen ve iç içe olmayan iki hiper bölgeye bölünmesine izin verecektir. Gerçekte, sinir ağları kullanılarak çözülen problemlerdeki giriş sinyalleri, hiperuzayda tek bir nöron kullanılarak ayrılamayan, oldukça iç içe geçmiş veya kesişen alanlar oluşturur. Bu ancak bölgeler arasında doğrusal olmayan bir hiperyüzey çizilerek yapılabilir. N'inci dereceden bir polinom kullanılarak tanımlanabilir. Ancak güç fonksiyonu çok yavaş hesaplanır ve bu nedenle hesaplama için çok elverişsizdir. Alternatif bir seçenek, hiper yüzeye doğrusal hiper düzlemlerle yaklaşmaktır. Yaklaşımın doğruluğunun kullanılan hiperdüzlem sayısına bağlı olduğu ve bunun da ağdaki nöron sayısına bağlı olduğu açıktır. Bu nedenle ağda mümkün olduğu kadar çok sayıda nöronun donanım uygulamasına ihtiyaç duyulmaktadır. Ağın bir katmanındaki nöronların sayısı çözünürlüğünü belirler. Tek katmanlı bir sinir ağı, doğrusal olarak bağımlı görüntüleri ayıramaz. Bu nedenle çok katmanlı sinir ağlarının donanımda uygulanabilmesi önemlidir.

VE yapay sinir ağları muhteşem özelliklere sahip. Ayrıntılı yazılım geliştirme gerektirmezler ve çözüm algoritmasını belirleyen teorik modellerin veya sezgisel kuralların bulunmadığı problemlerin çözümüne olanak tanırlar. Bu tür ağlar, daha önce öngörülemeyen faktörlerin ortaya çıkması da dahil olmak üzere, çalışma koşullarındaki değişikliklere uyum sağlama yeteneğine sahiptir. YSA'lar doğası gereği paralelliği çok yüksek olan sistemlerdir.

İÇİNDE nörobilgisayarlar Gerçek sinir ağlarında gerçekleştirilen bilgi işleme prensipleri kullanılır. Alışılmadık bir mimariye sahip bu temelde yeni bilgi işlem araçları, büyük ölçekli bilgi dizilerinin yüksek performanslı işlenmesine olanak tanır. Geleneksel bilgi işlem sistemlerinden farklı olarak, sinir ağlarına benzeyen sinir ağı bilgisayarları, ayrık ve sürekli sinyallerin bilgi akışlarını daha hızlı işlemeyi mümkün kılar, basit hesaplama öğeleri içerir ve yüksek derecede güvenilirlikle veri işlemedeki bilgi sorunlarının çözülmesine olanak tanır. Elde edilen çözümlere bağlı olarak bilgi işlem ortamının kendi kendini yeniden yapılandırma modunun sağlanması.

Genel olarak konuşursak, “Nörobilgisayar” terimi şu anda oldukça geniş bir bilgisayar sınıfı anlamına gelmektedir. Bunun basit nedeni, resmi olarak, bir sinir ağı algoritmasının herhangi bir donanım uygulamasının, basit bir biyolojik nöron modelinden, bir karakter tanıma sistemine veya hareketli hedeflere kadar bir nörobilgisayar olarak kabul edilebilmesidir. Nörobilgisayarlar kelimenin geleneksel anlamında bilgisayarlar değildir. Şu anda teknoloji, genel amaçlı bir nörobilgisayardan (aynı zamanda yapay zeka da olabilir) söz edilebilecek bir gelişme düzeyine henüz ulaşmadı. Ağırlık katsayılarının sabit değerlerine sahip sistemler genellikle sinir ağı ailesinin en uzmanlaşmış olanıdır. Öğrenme ağları çözdüğü problemlerin çeşitliliğine göre daha esnektir. Bu nedenle, bir nörobilgisayarın yapımı, sinir ağının hemen hemen tüm unsurlarının donanım uygulaması alanındaki araştırma faaliyetleri için her zaman en geniş alandır.

21. yüzyılın başında, geçen yüzyılın 40-50'li yıllarının aksine, nörobilgisayarların nasıl yapılacağını öğrenmeye yönelik nesnel ve pratik bir ihtiyaç var; Donanımda, milyonlarca sabit veya paralel uyarlanabilir şekilde değiştirilmiş bağlantı-sinaps ve tamamen birbirine bağlı birkaç nöron katmanıyla oldukça fazla sayıda paralel çalışan nöronun uygulanması gerekir. Aynı zamanda, entegre elektronik teknolojisi fiziksel yeteneklerini tüketmek üzeredir. Transistörlerin geometrik boyutları artık fiziksel olarak azaltılamaz: 1 mikron veya daha küçük teknolojik olarak ulaşılabilir boyutlarla, büyük boyutlardaki aktif elementlerle görünmez olan fiziksel olaylar ortaya çıkar - kuantum boyutu etkileri güçlü bir etkiye sahip olmaya başlar. Transistörler transistör olarak çalışmayı bırakır.

NN'nin donanım uygulaması için yeni bir depolama ortamı gereklidir. Böyle yeni bir bilgi taşıyıcısı olabilir ışık Bu, hesaplama performansını birkaç kat büyük ölçüde artıracaktır.

Gelecekte optik ve optoelektroniğin yerini alabilecek sinir ağlarının donanım uygulamasına yönelik tek teknoloji nanoteknoloji Molekül altı kuantum elemanlarının fiziksel olarak mümkün olan maksimum hızla yalnızca fiziksel olarak mümkün olan maksimum entegrasyon derecesini sağlamakla kalmayıp, aynı zamanda sinir ağının donanım uygulaması için gerekli olan üç boyutlu mimariyi de sağlayabilmektedir.

Uzun bir süre boyunca, nörobilgisayarların, gerçek deneysel materyali kullanarak öğrenme sürecini problem çözme algoritmasına dahil etme ihtiyacıyla ilişkili, resmileştirilemeyen ve zayıf şekilde resmileştirilebilen problemleri çözmede etkili olduğuna inanılıyordu. Her şeyden önce, bu tür problemler, ayrı bir değerler kümesi alan belirli bir fonksiyon biçimine yaklaşma görevini içeriyordu; örüntü tanıma sorunu.

Şu anda, bu problem sınıfına, bazen deneysel materyal üzerinde eğitim gerektirmeyen, ancak sinir ağı mantıksal temelinde iyi bir şekilde temsil edilen bir problem sınıfı eklenmektedir. Bunlar şunları içerir: sinyal işleme, görüntü işleme vb.nin belirgin doğal paralelliğine sahip görevler.. Gelecekte nörobilgisayarların diğer mimarilerden daha verimli olacağı görüşü, özellikle sinir ağı mantıksal temelinde çözülen genel matematik problemleri sınıfının son yıllarda keskin bir şekilde genişlemesiyle doğrulanabilir. Bunlar, yukarıda sıralananlara ek olarak, doğrusal ve doğrusal olmayan cebirsel denklemlerin ve yüksek boyutlu eşitsizliklerin çözümüne ilişkin problemleri; doğrusal olmayan diferansiyel denklem sistemleri; kısmi diferansiyel denklemler; optimizasyon problemleri ve diğer problemler.

Kimsenin Habré hakkında yazmaması oldukça tuhaf ama bence bugün önemli bir olay yaşandı. IBM, sinir ağı uygulayan yeni ve tamamen tamamlanmış bir çipi tanıttı. Geliştirilmesine yönelik program uzun süredir mevcuttu ve oldukça başarılıydı. Zaten Habré hakkında geniş çaplı bir makale vardı.

Çipte 1 milyon nöron ve 256 milyon sinaps bulunuyor. Görünüşe göre çip, simülasyonda olduğu gibi neokortekse benzer bir mimariye sahip.

Bu neden bu kadar havalı? Çünkü günümüzün tüm sinir ağlarının, özellikle eğitim sırasında astronomik sayıda işlem gerçekleştirmesi gerekiyor. Çoğu zaman bu performansa bağlıdır. Gerçek zamanlı olarak tek bir cihazda yalnızca basit görevler çözülebilir. Kümelerdeki ve video kartlarındaki paralelleştirme, işlemeyi önemli ölçüde hızlandırır (muazzam bilgi işlem gücü ve yüksek enerji tüketimi nedeniyle). Ancak bunların hepsi von Neumann mimarisinin ana sorununa geliyor: bellek, işlem birimlerinden ayrı. Gerçek nöronlarda her şey farklıdır: İşlemi belleğin kendisi gerçekleştirir (Habré'de bununla ilgili bir dizi harika makale vardır).

IBM bu tür işlemcileri üretmeye başlarsa birçok video analitiği görevi doğrudan bunların üzerinde çözülebilir. Akla gelen en basit şey, bir video akışındaki nesnelerin (insanlar, arabalar, hayvanlar) sınıflandırılmasıdır. IBM'in bir çalışma örneği olarak gösterdiği bu görevdi. 400*240 30 fps video akışında insanları, bisikletlileri, arabaları, kamyonları ve otobüsleri belirlediler.

Her şey bu kadar güzelse, robotik arabalar yakında lidarlara, böyle bir çipe sahip video kamera topuklarına ve ilerisine ihtiyaç duymayacak.

Bu arada, böyle bir çipin performansını teraflop cinsinden sayarsanız astronomik bir sayı elde edersiniz. Sonuçta, aslında böyle bir çip, her biri 256 giriş kanalından (yaklaşık olarak) gelen bilgileri işleyen bir saat döngüsünde 1 milyon işlemciden oluşur.

IBM Research web sitesinde biraz daha bilgi var.

Z.Yu.Alizar tarzında herhangi bir özel ayrıntıya yer vermeyen yazı için özür dilerim ama böylesine önemli bir olayın Habr'dan geçmesine gerçekten şaşırdım.

IBM Corporation, geleceğin süper bilgisayarları için bir çip oluşturma konusunda bir sonraki adımın üstesinden geldi; insan beyninin çalışma prensibine göre çalışan bir sinir çipi. Böyle bir çipin özelliği, kendi kendine öğrenebilmesi ve aynı zamanda geleneksel mikroişlemcilerden yüzbinlerce kat daha az enerji tüketmesidir. Yeni çip, test sonuçlarıyla da doğrulanan görsel bilgileri zaten analiz edebiliyor.

Modern bilgisayarların çoğu von Neumann mimarisine dayanmaktadır. Veri ve komutların ortak depolanmasına dayanır, ancak dışarıdan bakıldığında bunlar birbirinden ayırt edilemez: aynı bilgiler, nasıl erişildiğine bağlı olarak veri, komut veya adres haline gelebilir. Von Neumann mimarisinin önemli dezavantajını yaratan tam da bu çalışma prensibidir - sözde darboğaz (işlemci ile bellek arasındaki sınırlı bant genişliği). Program belleği ve veri belleğine aynı anda erişilemediği için işlemci sürekli olarak gerekli verileri beklemek zorunda kalır: sonuçta bunlar aynı veri yolunda depolanır.

Bu sorun, Harvard mimarisinin yazarı Amerikalı programcı Howard Aiken tarafından çözüldü. Veri ve talimat hatlarının fiziksel olarak ayrılması, işlemcinin aynı anda talimatları okumasına ve verilere erişmesine izin vererek bilgisayarın hızını artırması nedeniyle von Neumann mimarisinden farklıdır. Buna rağmen 1930'ların sonunda ABD hükümeti tarafından açıklanan deniz topçuları için bir bilgisayar geliştirme yarışmasını uygulama kolaylığı nedeniyle von Neumann mimarisi kazandı.

Daha sonra her iki mimarinin avantajlarını birleştiren hibrit sistemler oluşturmak mümkün hale geldi. Bununla birlikte, programlamanın gelişmesiyle birlikte bilim adamlarının zihni, yapay sinir sistemleri oluşturma fikriyle meşgul olmaya başladı: birbirleriyle bağlantılı ve etkileşime giren, canlının sinir hücrelerinin işleyişi prensibine göre çalışan işlemciler. organizma. Bu tür sistemlerin özelliği programlanmamaları, eğitilmeleridir.

Yapay sinir ağı kavramı, biyolojik sinir ağlarının (sinir sistemine bağlı, belirli fizyolojik işlevleri yerine getiren bir dizi nöron) işleyişinin incelenmesinden ortaya çıkmıştır. Nöronların her biri çok sayıda diğerine bağlıdır; nöronların birbirleriyle temas ettiği yere sinaps denir ve bu, hücreler arasında sinir uyarılarının iletilmesine hizmet eder.

Yapay sinir ağlarının yaratılmasındaki öncüler Amerikalı Warren McCulloch ve Walter Pitts'ti. 1940'ların başında bilim insanları, nöronları basitçe ikili sayılarla çalışan cihazlar olarak gören bir beyin modeli icat ettiler. İcat ettikleri elektronik "nöronlar" ağı, teorik olarak her türlü karmaşıklıkta sayısal veya mantıksal işlemleri gerçekleştirebilir. Böyle bir beyin modelinin temelde yeni teorik temelleri, nöroteknolojilerin daha sonraki gelişiminin temelini oluşturdu ve bir sonraki adımın gelmesi uzun sürmedi.

Zaten 1949'da Donald Hebb, yapay sinir sistemlerini eğitmek için ilk çalışma algoritmasını önerdi ve 1958'de Frank Rosenblatt, ilk nörobilgisayar "Mark-1"i yarattı. Bu bilgisayar, Rosenblatt tarafından üç yıl önce geliştirilen bir sinir ağı olan algılayıcı temel alınarak inşa edildi.

Okurlarımızı iCover blogunun sayfalarına bekliyoruz! Şubat ayı başında San Francisco'da düzenlenen Uluslararası Katı Hal Devreleri Konferansı'nda (ISSCC-2016), MIT'den (Massachusetts Teknoloji Enstitüsü) bir grup geliştirici, kavramsal olarak oluşturulan yeni nesil Eyeriss çipinin çalışan bir prototipini gösterdi. Sinir ağı algoritmalarının yeteneklerinin çok çeşitli düşük güçlü cihazlarda yeniden oluşturulmasına olanak tanıyan çözüm.


Yapay sinir ağlarının akıllı telefonlarımızda veya tabletlerimizde yeterince gelişmemiş olmasının nesnel nedenlerinden biri, yeterli güce sahip kompakt bir güç kaynağının bulunmamasıdır. Sonuçta, sözde beyin benzeri, "beyin benzeri" yapay zeka sistemleri, en azından modern teknolojilerle temsil edildikleri biçimde, operasyonları, inanılmaz miktarda tüketen güçlü çok çekirdekli işlemcilere bağlıdır. beynimizle karşılaştırıldığında enerji. En azından yakın zamana kadar bu tür çözümleri kullanıcı sınıfı cihazlar düzeyinde hayal etmek mümkün değildi. Aynı zamanda, yapay zekanın "minyatürleştirilmesi" fikri, geliştiricilerin zihinlerini uzun süredir heyecanlandırıyor ve ortaya çıktığı üzere, halihazırda oldukça somut meyveler veriyor.

Sinir ağları, yapay zeka araştırmalarının ilk günlerinden bu yana bilimsel ilginin odağı olmuştur, ancak 1970'lerde bir şekilde unutulmuştur. Son on yılda sinir ağlarının kullanımına ilişkin teknolojiler “derin öğrenme” programları düzeyinde incelenmektedir.

Grubu yeni çip geliştiren MIT elektrik mühendisliği ve bilgisayar bilimleri yardımcı doçenti Vivienne Sze ve Emanuel E. Landsman, "Derin öğrenmenin nesne tanıma, konuşma tanıma veya yüz tanıma gibi birçok uygulamaya sahip olduğunu" belirtiyor. “Artık sinir ağları oldukça karmaşık ve çoğunlukla güçlü çipler üzerinde çalışıyor. Bu işlevselliği cep telefonunuza veya yerleşik cihazınıza getirebildiğinizi ve ardından muazzam miktarda bilgiyi Wi-Fi bağlantısı kullanmadan işleyebildiğinizi hayal edin. Akıllı telefonunuzda büyük miktarda verinin işlenmesi, ağ ile veri alışverişinden kaynaklanan gecikmeyi önleyecek ve bu da birçok uygulamanın çok daha verimli çalışmasına olanak sağlayacaktır. Ayrıca önerilen çözüm, gizli bilgiler için yeni bir koruma kalitesi sağlayacak."

Sinir ağları genellikle çok çekirdekli grafik işleme birimlerinde (GPU'lar) uygulanır. San Francisco'daki Uluslararası Konferansta MIT araştırmacıları, sinir ağlarına dayalı yapay zeka algoritmalarını uygulamak için tasarlanmış 168 çekirdekli yeni bir çip sundular. Mobil GPU ile karşılaştırıldığında (hangisi olduğu belirtilmedi), işlemci 10 kat daha fazla verimlilik göstererek kullanıcının mobil cihazının, işlenmek üzere buluta veri göndermeye gerek kalmadan güçlü yapay zeka algoritmalarını yerel olarak çalıştırmak için kullanılmasına olanak tanıdı. Gelişmenin ana noktaları MIT'nin 3 Şubat 2016 tarihli basın açıklamasına yansıyor.

Geliştiriciler tarafından "Eyeriss" olarak adlandırılan yeni çip, Nesnelerin İnterneti, giyilebilir elektronikler, sürücüsüz araçlar, üretim ekipmanları ve hatta tarımda geniş uygulama alanı bulabilir ve mevcut sorunların çözülmesine ve koordine edilmesine yardımcı olabilir. Yapay zeka algoritmaları ile mobil cihazlar, yerel düzeyde kararlar alabilecek ve kullanıcıya internetten gelen bir dizi "ham" veri yerine eylem kılavuzu olarak hazır sonuçlar sunabilecek. Ve elbette, yerel sinir ağlarının uygulamalarından biri de çok çeşitli amaçlar için otonom robotların yaratılmasında kullanılmasıdır.

Böl ve yönet

Sinir ağları genellikle çok katmanlı bir yapıya sahiptir ve her katman çok sayıda işlem düğümü içerir. İşlemenin ilk aşamasında veriler gelir ve alt katmanın düğümleri arasında dağıtılır. Alınan veriler her düğüm tarafından işlendikten sonra sonuç, işlenmek üzere bir sonraki katmanın düğümlerine aktarılır. Son katmanın çıktısında problemin çözümünün sonucu oluşur. Buna göre, açıklanan algoritmayı kullanarak büyük ölçekli problemleri çözmek, önemli hesaplama kaynakları gerektirecektir.

Çip için başlangıçta geliştiricilerin kendileri tarafından belirlenen gereksinimler, onları oldukça katı bir çerçeveye yerleştirdi: Bir yandan çözümün enerji açısından verimli olması, diğer yandan basit bilgi bloklarıyla çalışması gerekiyor. Son olarak çipin, kendisine atanan mevcut görevleri dikkate alarak farklı türdeki sinir ağlarını simüle edebilmesi gerekiyor. Tüm bu gereksinimler Eyeriss işlemcisinde başarıyla uygulandı.

MIT laboratuvarında geliştirilen çip, gelecekte mobil cihazlara yerleştirilebilecek, 168 çekirdekli işlemci düzeyinde yerelleştirilmiş, halihazırda oluşturulmuş bir sinir ağıdır.

Eyeriss'in verimliliğinin anahtarı, yüksek güç tüketimi ve zaman maliyetleriyle ilişkili bir işlem olan, çekirdekler ve harici bellek bankaları arasındaki iletişim sıklığını en aza indirmektir. Geleneksel GPU çekirdekleri ortak bir bellek bankasını paylaşırken, her Eyeriss çekirdeğinin kendi belleği vardır. Ayrıca veriler komşu çekirdeklere gönderilmeden önce bir sıkıştırma işlemine tabi tutulur.

Uygulanan algoritmanın bir diğer avantajı, çekirdeklerin sistem bellek veri yolu biçimindeki "aracıyı" atlayarak birbirleriyle doğrudan "iletişim kurma" yeteneğidir. Bu, Evrişimli Sinir Ağının (CNN) çalışmasını simüle etmek için kritik bir özelliktir. Görüntü ve konuşma tanıma için gereken tüm hesaplama çalışmaları, ağ kaynaklarına erişime gerek kalmadan Eyeriss'te yerel olarak gerçekleştirilir; bu, cihazın harici bir ağ olmadığında bile verimli bir şekilde çalışmasına olanak tanır.

Son olarak Eyeriss'in bir diğer avantajı da çözülmesi gereken tek bir problem çerçevesinde bireysel bilgi işlem görevlerinin çekirdekler arasında "akıllı" dağıtılması ilkesidir. Çekirdek, yerel belleğinde yalnızca düğümler tarafından işlenen verileri değil, aynı zamanda düğümlerin kendisini tanımlayan verileri de depolamalıdır. Veri işleme sürecinin maksimum performansını sağlamak ve Eyeriss'i ana bellekten maksimum miktarda veri ile yüklemek için, her iki veri türünü dağıtmaya yönelik algoritma, bu amaç için özel olarak tasarlanmış bir çip tarafından gerçek zamanlı olarak optimize edilmiştir. , mevcut sinir ağının özelliklerini dikkate alarak.

San Francisco'daki Uluslararası Katı Hal Devreleri Konferansı'nda geliştirme ekibi, "kullanıcı" düzeyindeki Eyeriss çipinin yeteneklerini kullanarak, yerel bir sinir ağı içinde bir model tanıma algoritmasının uygulanmasını gösterdi. Basın bülteninde belirtilen benzer bir görev daha önce de uygulanmıştı, ancak oluşturulan en modern sinir ağlarına ilişkin hükümet projeleri düzeyinde.

Samsung'un Mobil İşlemci İnovasyon Laboratuvarı kıdemli başkan yardımcısı Mike Polley, "Bu çalışma önemli çünkü gömülü derin öğrenme işlemcilerinin gereken gücü ve optimizasyon performansını ne kadar sağlayabildiğini ve karmaşık bilişimi buluttan mobil cihazlara taşıyabildiğini gösteriyor" dedi ve şunları ekledi: "MIT araştırması, yenilikçi donanım çözümlerine ek olarak, yerleşik çekirdeğin, AlexNet ve Caffe'nin standart ağ mimarisini kullanan uygulama geliştiricileri için nasıl faydalı hale getirilebileceğini açıkça gösteriyor."

MIT laboratuvarında bir birimin oluşturulmasıyla başlayan Eyeriss projesinin finansmanı kısmen Amerikan savunma ajansı DARPA tarafından sağlandı. İşlemcinin duyurusuna etkileyici editoryal materyalle yanıt veren ilk kişinin ünlü askeri analist Patrick Tucker olması şaşırtıcı değil. Ona göre, ABD askerlerinin mobil cihazlarına kurulan yeni Eyeriss işlemciler, ortak bir ağa bağlanmadan muazzam miktarda bilginin işlenmesiyle ilişkili karmaşık bilgi işlem sorunlarını çözebilecek.

Böylece, ABD Hava Kuvvetleri şu anda Afganistan üzerinde uçan dronlardan her gün 1.500 saate kadar HD video ve 1.500'e kadar ultra yüksek çözünürlüklü fotoğraf alıyor. Dahası, tüm bu sonsuz bilgi akışının operatörler tarafından eski yöntemlerle görsel olarak analiz edilmesi gerekiyor, çünkü mevcut bilgisayar yazılımı, bir dağ yolunda elinde bir sopayla yürüyen bir köylüyü, güdümlü füze fırlatıcısı olan bir teröristten ayırt edemiyor. . Bu tür sorunları çözmek için başlangıçta temsili öğrenmeye dayalı makine öğrenmesi yöntemleri oluşturulmaya başlandı.

Eyeriss işlemcileri, doğrudan uçakta derin öğrenme teknolojilerini kullanarak bir dizi görüntü ve videonun akıllı bir şekilde işlenmesine olanak sağlayacağından, insansız askeri dronlara kurulum için idealdir. Bu durumda, elenen yararlı veriler, operasyonel bilgilerin analiz merkezini atlayarak doğrudan belirtilen bölgede faaliyet gösteren muharebe birimlerine gönderilebilir.

Kısa özet

Deneyler sırasında Eyeriss çipi, modern mobil grafik çiplerinden on kat daha yüksek bir enerji verimliliği seviyesi gösterdi. Aynı zamanda, akıllı telefonlardan ve tabletlerden giyilebilir elektroniklere kadar kompakt boyutlardaki cihazlarda yapay zeka algoritmalarının çalışmasını sağlamanın teknolojik olarak mümkün olduğu ortaya çıkıyor. Böyle bir işlemci için veri alışverişi sırasında ağların yarattığı gecikmeler en aza indirilir, çünkü çip hesaplamaların çoğunu yerel olarak gerçekleştirebilir. Eyeriss'i temel alarak, yalnızca her türden "akıllı cihaz" değil, aynı zamanda karar vermede belirli bir dereceye kadar bağımsızlığa sahip robotlar da yaratmak mümkün olacak.

MIT geliştiricileri, Eyeriss'in ticari bir ürüne dönüşebileceği ve yeteneklerini tüketici düzeyinde tam olarak ortaya çıkarabileceği belirli zaman aralıklarını henüz belirtmedi. Önde gelen NVIDIA uzmanlarının geliştirme sürecine katılımı ve Samsung'un sorumlu araştırmacılarının yoğun ilgisi, bazı iyimserliklere ilham veriyor.