• Sinir ağları matematiksel bir aparattır. Sinir ağları: bunlar nelerdir ve markalar bunları nasıl kullanır?

    2016'nın ilk yarısında, dünya sinir ağları alanındaki pek çok gelişmeyi duydu - Google (AlphaGo'da bir ağ oyuncusu), Microsoft (görüntü tanımlama için bir dizi hizmet), yeni kurulan MSQRD, Prisma ve diğerleri gösterdi onların algoritmaları.

    yer imlerine

    Sitenin editörleri, sinir ağlarının ne olduğunu, ne işe yaradıklarını, gezegeni neden yıllar önce veya sonra değil, şimdi ele geçirdiklerini, onlardan ne kadar kazanabileceğinizi ve ana pazar oyuncularının kimler olduğunu anlatıyor. Moskova Fizik ve Teknoloji Enstitüsü, Yandex, Mail.Ru Group ve Microsoft'tan uzmanlar da görüşlerini paylaştı.

    Sinir ağları nedir ve hangi görevleri çözebilirler?

    Sinir ağları, yapay zeka sistemlerinin geliştirilmesindeki yönlerden biridir. Buradaki fikir, insan sinir sisteminin nasıl çalıştığını, yani öğrenme ve hataları düzeltme yeteneğini olabildiğince yakından modellemektir. Bu, herhangi bir sinir ağının ana özelliğidir - bağımsız olarak öğrenebilir ve önceki deneyimlere dayanarak hareket edebilir, her seferinde daha az hata yapar.

    Sinir ağı, sadece aktiviteyi değil, aynı zamanda insan sinir sisteminin yapısını da taklit eder. Böyle bir ağ, çok sayıda bireysel hesaplama öğesinden (“nöronlar”) oluşur. Çoğu durumda, her "nöron", ağın belirli bir katmanını ifade eder. Giriş verileri, ağın tüm katmanlarında sıralı olarak işlenir. Her bir "nöronun" parametreleri, önceki girdi veri setlerinden elde edilen sonuçlara bağlı olarak değişebilir, böylece tüm sistemin çalışma sırasını değiştirir.

    Mail.Ru Group'ta Mail.ru Arama başkanı Andrey Kalinin, sinir ağlarının diğer makine öğrenimi algoritmalarıyla aynı görevleri çözme yeteneğine sahip olduğunu, farkın yalnızca öğrenme yaklaşımında yattığını belirtiyor.

    Sinir ağlarının çözebileceği tüm görevler bir şekilde öğrenme ile ilgilidir. Sinir ağlarının ana uygulama alanları arasında tahmin, karar verme, örüntü tanıma, optimizasyon, veri analizi sayılabilir.

    Rusya'daki Microsoft Teknoloji İşbirliği Programları Direktörü Vlad Shershulsky, sinir ağlarının artık her yerde kullanıldığını belirtiyor: “Örneğin, birçok büyük İnternet sitesi, bunları kullanıcı davranışına verilen tepkiyi izleyicileri için daha doğal ve faydalı hale getirmek için kullanıyor. Sinir ağları, en modern konuşma tanıma ve sentez sistemlerinin yanı sıra görüntü tanıma ve işlemenin temelini oluşturur. İster endüstriyel robotlar ister insansız araçlar olsun, bazı navigasyon sistemlerinde kullanılmaktadırlar. Sinir ağlarına dayalı algoritmalar, bilgi sistemlerini izinsiz giriş yapanların saldırılarına karşı koruyor ve ağdaki yasa dışı içeriği belirlemeye yardımcı oluyor.”

    Kısa vadede (5-10 yıl), Shershulsky, sinir ağlarının daha yaygın olarak kullanılacağına inanıyor:

    Aktüatörlerinde birden fazla video kamera bulunan bir tarım hasat makinesini hayal edin. Yörünge şeridindeki her bitkinin dakikada beş bin fotoğrafını çekiyor ve bir sinir ağı kullanarak yabani ot olup olmadığını, hastalık veya zararlılardan etkilenip etkilenmediğini analiz ediyor. Ve her bitkiye ayrı ayrı davranır. Fantastik? Artık değil. Ve beş yıl içinde norm haline gelebilir. - Vlad Shershulsky, Microsoft

    MIPT Canlı Sistemler Merkezi'nde Sinir Sistemleri ve Derin Öğrenme Laboratuvarı Başkanı Mikhail Burtsev, 2016-2018 için sinir ağlarının gelişiminin geçici bir haritasını veriyor:

    • görüntülerdeki nesnelerin tanınması ve sınıflandırılması için sistemler;
    • nesnelerin interneti için sesli etkileşim arayüzleri;
    • çağrı merkezlerinde hizmet kalitesini izlemek için sistemler;
    • sorunları (bakım zamanını tahmin etmek dahil), anormallikleri, siber-fiziksel tehditleri tespit etmeye yönelik sistemler;
    • entelektüel güvenlik ve izleme sistemleri;
    • çağrı merkezi operatörlerinin işlevlerinin bir kısmının botlarla değiştirilmesi;
    • video analiz sistemleri;
    • malzeme akışlarının yönetimini veya nesnelerin konumunu (depolarda, nakliyede) optimize eden kendi kendine öğrenen sistemler;
    • üretim süreçleri ve cihazları (robot olanlar dahil) için akıllı, kendi kendine öğrenen kontrol sistemleri;
    • konferanslar ve kişisel kullanım için "anında" evrensel çeviri sistemlerinin ortaya çıkışı;
    • bir kişiye yakın işlevler açısından bot-teknik danışman danışmanlarının veya kişisel asistanların ortaya çıkışı.

    Yandex'de teknoloji yayma direktörü Grigory Bakunov, bu tür sistemlerin çeşitli kararlar alma yeteneğinin, önümüzdeki beş yıl içinde sinir ağlarının yayılmasının temeli olacağına inanıyor: “Sinir ağlarının şu anda bir kişi için yaptığı en önemli şey, onu aşırı karar vermekten kurtarmak için. Böylece, yaşayan bir insan tarafından çok akıllı olmayan kararların verildiği hemen hemen her yerde kullanılabilirler. Önümüzdeki beş yıl içinde, insanın karar verme sürecini basit bir makineyle değiştirecek olan, bu beceriden yararlanılacak.”

    Nöral ağlar şu anda neden bu kadar popüler hale geldi?

    Bilim adamları 70 yılı aşkın bir süredir yapay sinir ağları geliştiriyorlar. Bir sinir ağını resmileştirmeye yönelik ilk girişim, iki Amerikalı bilim adamının (Warren McCulloch ve Walter Pitts) insan fikirlerinin ve sinirsel aktivitenin mantıksal hesabı üzerine bir makale sunduğu 1943 yılına kadar uzanıyor.

    Ancak, yakın zamana kadar Mail.Ru Group'tan Andrey Kalinin, sinir ağlarının hızının yaygın olarak kullanılamayacak kadar düşük olduğunu ve bu nedenle bu tür sistemlerin ağırlıklı olarak bilgisayarla görme ile ilgili geliştirmelerde kullanıldığını ve diğer algoritmaların diğer alanlarda kullanıldığını söylüyor. alanlar. makine öğrenimi.

    Bir sinir ağı geliştirme sürecinin zahmetli ve zaman alan bir kısmı, eğitimidir. Sinir ağının görev kümesini doğru bir şekilde çözebilmesi için çalışmasını on milyonlarca girdi verisi üzerinde “çalıştırması” gerekir. Andrey Kalinin ve Grigory Bakunov, sinir ağlarının yayılmasını çeşitli hızlandırılmış öğrenme teknolojilerinin ortaya çıkışıyla ilişkilendirir.

    Şu anda olan en önemli şey, sinir ağlarını fazla takmaya çok daha az eğilimli hale getirmenize izin veren çeşitli hilelerin ortaya çıkmasıdır - Grigory Bakunov, Yandex

    “İlk olarak, hakkında bilgi edinebileceğiniz geniş ve halka açık bir dizi işaretlenmiş resim (ImageNet) ortaya çıktı. İkincisi, modern video kartları, sinir ağlarını yüzlerce kat daha hızlı eğitmeyi ve kullanmayı mümkün kılar. Üçüncüsü, sinir ağını iş için uzun vadeli hazırlamadan kendi uygulamalarınızı oluşturabileceğiniz, görüntüleri tanıyan hazır, önceden eğitilmiş sinir ağları ortaya çıktı. Tüm bunlar, örüntü tanıma alanında sinir ağlarının çok güçlü bir şekilde gelişmesini sağlıyor,” diye belirtiyor Kalinin.

    Sinir ağlarının pazar boyutları nelerdir?

    “Hesaplaması çok kolay. Düşük vasıflı işgücü kullanan herhangi bir alanı - örneğin çağrı merkezi operatörlerini - alıp tüm insan kaynaklarını çıkarabilirsiniz. Tek bir ülke içinde bile milyarlarca dolarlık bir pazardan bahsediyoruz diyebilirim. Dünyada kaç kişinin düşük vasıflı işlerle uğraştığı kolayca anlaşılabilir. Yandex'in teknoloji dağıtım direktörü Grigory Bakunov, çok soyut bir şekilde konuşursak bile, tüm dünyada yüz milyar dolarlık bir pazardan bahsettiğimizi düşünüyorum” diyor.

    Bazı tahminlere göre, mesleklerin yarısından fazlası otomatikleştirilecek - bu, makine öğrenimi algoritmaları (ve özellikle sinir ağları) pazarının artırılabileceği maksimum miktardır.- Andrey Kalinin, Mail.Ru Grubu

    “Makine öğrenimi algoritmaları, herhangi bir yazılımın geliştirilmesinde, herhangi bir sürecin otomasyonunda bir sonraki adımdır. Bu nedenle, pazar en azından tüm yazılım pazarıyla örtüşüyor, ancak onu aşıyor, çünkü eski yazılımların erişemeyeceği yeni akıllı çözümler yapmak mümkün hale geliyor, ”diye devam ediyor Mail.Ru Group'ta Mail.ru Arama başkanı Andrey Kalinin. .

    Yapay Sinir Ağı Geliştiricileri Neden Kitle Pazarı İçin Mobil Uygulamalar Oluşturuyor?

    Son birkaç ayda, sinir ağlarını kullanan birkaç yüksek profilli eğlence projesi aynı anda piyasada ortaya çıktı - bu, Facebook sosyal ağı olan popüler video hizmeti ve görüntü işleme için Rus uygulamaları (Haziran ayında Mail'den yatırımlar) .Ru Grubu) ve diğerleri.

    Kendi sinir ağlarının yetenekleri Google tarafından da gösterildi (AlphaGo teknolojisi Go'da şampiyon oldu; Mart 2016'da şirket, sinir ağları tarafından çizilen 29 tablo vb.'yi açık artırmada sattı) ve Microsoft (CaptionBot projesi) tarafından da gösterildi. resimlerdeki görüntüleri ve onlar için otomatik olarak başlıklar oluşturur; bir fotoğraftan bir köpeğin cinsini belirleyen WhatDog projesi; bir resimdeki bir kişinin yaşını belirleyen HowOld hizmeti vb.) ve Yandex (Haziran ayında) , ekip Avto.ru uygulamasında resimlerdeki arabaları tanımak için bir hizmet oluşturdu; bir müzik albümü sundu; Mayıs ayında ünlü sanatçıların tarzında çizim yapmak için LikeMo.net projesini yarattı).

    Bu tür eğlence hizmetleri, sinir ağlarının hedeflediği küresel sorunları çözmek yerine bir sinir ağının yeteneklerini göstermek ve eğitimini yürütmek için oluşturulur.

    “Oyunlar, biyolojik bir tür olarak davranışlarımızın karakteristik bir özelliğidir. Bir yandan, insan davranışının neredeyse tüm tipik senaryoları oyun durumları üzerinde modellenebilir ve diğer yandan oyun yaratıcıları ve özellikle oyuncular süreçten büyük zevk alabilirler. Tamamen faydacı bir yönü de var. İyi tasarlanmış bir oyun sadece oyunculara tatmin sağlamakla kalmaz, aynı zamanda sinir ağı algoritmasını oynadıkça eğitirler. Ne de olsa, sinir ağları örneklerle öğrenmeye dayanıyor ”diyor Microsoft'tan Vlad Shershulsky.

    “Öncelikle teknolojinin imkanlarını göstermek için yapılıyor bu. Gerçekten başka bir sebep yok. Prisma'dan bahsediyorsak, bunu neden yaptıkları açıktır. Adamlar, resimlerle çalışmalarına izin veren bir boru hattı inşa ettiler. Bunu göstermek için stilizasyonlar yaratmanın oldukça basit bir yolunu seçtiler. Neden? Bu sadece algoritmaların nasıl çalıştığının bir gösterimi," diyor Yandex'den Grigory Bakunov.

    Mail.Ru Group'tan Andrey Kalinin'in farklı bir görüşü var: “Tabii ki bu, halk açısından muhteşem. Öte yandan eğlence ürünlerinin daha kullanışlı alanlara uygulanamayacağını da söyleyemem. Örneğin, görüntülerin şekillendirilmesi görevi, bazı sektörler için son derece önemlidir (tasarım, bilgisayar oyunları, animasyon - sadece birkaç örnek) ve sinir ağlarının tam olarak kullanılması, onlar için içerik oluşturmanın maliyetini ve yöntemlerini önemli ölçüde optimize edebilir.

    Sinir ağı pazarındaki başlıca oyuncular

    Andrei Kalinin'in belirttiği gibi, genel olarak piyasadaki sinir ağlarının çoğu birbirinden pek farklı değil. “Teknoloji herkes için hemen hemen aynı. Ancak sinir ağlarının kullanımı, herkesin karşılayamayacağı bir zevktir. Bir sinir ağını kendi başınıza eğitmek ve üzerinde birçok deney yapmak için, büyük eğitim setlerine ve pahalı ekran kartlarına sahip bir makine filosuna ihtiyacınız var. Açıkçası, büyük şirketlerin böyle fırsatları var” diyor.

    Ana pazar oyuncuları arasında Kalinin, Google'dan ve AlphaGo ağını oluşturan Google DeepMind ve Google Brain'den bahseder. Microsoft'un bu alanda kendi geliştirmeleri vardır - bunlar Microsoft Araştırma laboratuvarı tarafından ele alınır. Sinir ağları IBM, Facebook (Facebook AI Research'ün bir bölümü), Baidu (Baidu Derin Öğrenme Enstitüsü) ve diğerlerinde oluşturuluyor. Dünyadaki teknik üniversitelerde birçok geliştirme yapılmaktadır.

    Yandex'in teknoloji yayma direktörü Grigory Bakunov, yeni girişimler arasında sinir ağları alanında da ilginç gelişmeler olduğuna dikkat çekiyor. “Örneğin, ClarifAI'yi hatırlardım. Bu, bir zamanlar Google çalışanları tarafından yapılmış küçük bir girişim. Artık bir resmin içeriğini belirlemede muhtemelen dünyanın en iyisi onlar.” Bu girişimler MSQRD, Prisma ve diğerlerini içerir.

    Rusya'da, sinir ağları alanındaki gelişmeler yalnızca yeni başlayanlar tarafından değil, aynı zamanda büyük teknoloji şirketleri tarafından da gerçekleştiriliyor - örneğin, Mail.Ru Group holding, "Arama", görüntü analizinde metinleri işlemek ve sınıflandırmak için sinir ağlarını kullanıyor . Şirket ayrıca botlar ve konuşma sistemleri ile ilgili deneysel geliştirmeler yürütüyor.

    Yandex ayrıca kendi sinir ağlarını da yaratıyor: “Temel olarak, bu tür ağlar zaten görüntülerle, sesle çalışırken kullanılıyor, ancak diğer alanlardaki yeteneklerini keşfediyoruz. Şimdi metinle çalışırken sinir ağlarının kullanımıyla ilgili pek çok deney yapıyoruz.” Geliştirme üniversitelerde gerçekleştirilir: Skoltech, Moskova Fizik ve Teknoloji Enstitüsü, Moskova Devlet Üniversitesi, Ekonomi Yüksek Okulu ve diğerleri.

    Sinir ağları, diğer gözlemlerin sonuçlarına dayanarak yeni gözlemlerdeki bazı kaymaların değerlerini tahmin etmeyi sağlayan (aynı veya diğer vardiyalar) mevcut olanlar üzerinde sözde öğrenme aşamasından geçtikten sonra.

        1. Sinir ağları hakkında temel kavramlar

    Çoğu zaman, sinir ağları aşağıdaki sorunları çözmek için kullanılır:

      görüntülerin sınıflandırılması - bir özellik vektörü tarafından temsil edilen girdi görüntüsünün bir veya daha fazla önceden tanımlanmış sınıfa ait olduğunun bir göstergesi;

      kümeleme - sınıf etiketlerine sahip bir eğitim örneğinin yokluğunda görüntülerin sınıflandırılması;

      tahmin - y(tn+1) değerinin bilinen bir y(t1), y(t2) ... y(tn) ile sağlanması;

      optimizasyon - bir kısıtlama sistemini karşılayan ve amaç fonksiyonunu maksimize eden veya minimize eden bir çözüm bulmak. Anlamla ele alınan bellek (ilişkilendirilebilir bellek) - belirli bir içeriği belirtirken kullanılabilen bellek;

      kontrol - sistemin istenen yörünge boyunca çalıştığı sistem üzerindeki böyle bir girdi etkisinin hesaplanması.

    Sinir ağının yapısal temeli resmi bir nörondur. Sinir ağları, beynin düşük köklü yapısını modelleyerek biyolojik sistemlerin öğrenme yeteneğini yeniden yaratma girişimlerinden ortaya çıktı. Bunu yapmak için sinir ağı modeli, ilk yaklaşımda biyolojik bir nöronun - formal bir nöronun (bundan sonra sadece bir nöron olarak anılacaktır) özelliklerini taklit eden bir öğeye dayanır. İnsan vücudunda nöronlar, elektrokimyasal sinyalleri yayabilen özel hücrelerdir.

    Nöron, bilgi girişi (dendritler) için dallanmış bir yapıya, bir çekirdeğe ve dallanan bir çıktıya (akson) sahiptir. Belirli bir şekilde bağlı olan nöronlar, bir sinir ağı oluşturur. Her nöron belirli bir akım durumu ile karakterize edilir ve bir grup sinapsa sahiptir - diğer nöronların çıkışlarına bağlı tek yönlü giriş bağlantıları ve ayrıca bir aksona sahiptir - bu nöronun ilk bağlantısı, ardından sinyal (bozma veya inhibisyon) gider. aşağıdaki nöronların sinapslarına (Şekil 8.1).

    Pirinç. 8.1. Resmi bir nöronun yapısı.

    Her sinaps, sinaptik bağlantının değeri veya fiziksel içeriği elektriksel iletkenliğe eşdeğer olan wi ağırlığı ile karakterize edilir.

    Bir nöronun mevcut durumu (aktivasyon seviyesi), girdilerinin ağırlıklı toplamı aşağıdaki gibiyse belirlenir:

    (1)

    x1, x2,..., xn olarak gösterilen bir dizi sinyal nöronun girişine girdiğinde, her sinyal karşılık gelen w1, w2,...,wn ağırlığı kadar artar ve aktivasyon seviyesi - S'yi oluşturur. Nöronun çıktısı, seviye aktivasyonlarının bir fonksiyonudur:

    Y=f(S) (2)

    Sinir ağlarının işleyişi sırasında, sinyallerin paralel işlenmesi ilkesi yerine getirilir. Çok sayıda nöronun sözde katmanlarda birleştirilmesi ve farklı katmanlardaki nöronların belirli bir şekilde bağlanması ve ayrıca bazı konfigürasyonlarda aynı katmandaki nöronların kendi aralarında ve hepsinin etkileşiminin işlenmesiyle elde edilir. nöronlar katmanlar halinde gerçekleştirilir.

    R
    dır-dir. 8.2. Girişte n nöron ve kaynak katmanında (tek katmanlı algılayıcı) üç nöron bulunan bir sinir ağının mimarisi.

    En basit sinir ağına örnek olarak, giriş katmanında n nöron ve kaynak katmanında üç nöron bulunan tek katmanlı bir algılayıcı düşünün (Şekil 8.2). Bazı sinyaller n girişe ulaştığında, sinapslardan 3 orijinal nörona geçerler. Bu sistem sinir ağının tek bir katmanını oluşturur ve üç başlangıç ​​sinyali üretir:

    Bir nöron tabakasının sinapslarının tüm ağırlık katsayılarının, her elemanı wij'nin girişin i'inci nöronu ile j'inci nöronun sinaptik bağlantısının değerini ayarladığı bir wj matrisine indirgenebileceği açıktır. ilk katmanın (3).

    (3)

    Böylece, bir sinir ağında meydana gelen süreç matris formunda yazılabilir:

    burada x ve y sırasıyla girdi ve kaynak vektörlerdir, f(v), v vektörünün bileşenlerine eleman eleman uygulanan bir aktivasyon fonksiyonudur.

    Sinir ağı yapısının seçimi, görevin özelliklerine ve karmaşıklığına göre gerçekleştirilir. Bazı özel problem tiplerini çözmek için en uygun konfigürasyonlar zaten mevcuttur. Görev bilinen türlerden herhangi birine indirgenemezse, geliştiricinin yeni bir yapılandırmayı sentezleme gibi zor bir sorunu çözmesi gerekir.

    Mevcut sinir ağlarının olası sınıflandırması:

    Giriş bilgisi türüne göre:

      ikili bilgileri ayrıştıran ağlar;

      Gerçek sayılarla çalışan ağlar.

    Öğretim yöntemine göre:

      kullanılmadan önce öğretilmesi gereken ağlar;

      önceden eğitime ihtiyaç duymayan ağlar, çalışırken kendi başlarına öğrenebilirler.

    Bilgi dağıtımının doğası gereği:

      bilginin bir katmandan diğerine yalnızca bir yönde dağıtıldığı tek yönlü;

      bir elemanın orijinal sinyalinin bu elemana ve bu veya önceki katmanın ağının diğer elemanlarına bir giriş sinyali olarak tekrar beslenebildiği tekrarlayan ağlar.

    Giriş bilgilerinin dönüştürme yöntemine göre:

      öz ilişkisel;

      hetero ilişkisel.

    Sinir ağlarının olası sınıflandırması sorununu daha da geliştirerek, ikili ve analog ağların varlığını not etmek önemlidir. İlki ikili sinyallerle çalışır ve her bir nöronun çıkışı yalnızca iki değer alabilir: mantıksal sıfır ("askıya alınmış" durum) ve mantıksal bir ("uyarılmış" durum). Başka bir sınıflandırma, sinir ağlarını eşzamanlı ve eşzamansız olarak ayırır. İlk durumda, bir seferde yalnızca bir nöron durumunu değiştirir. İkincisinde, durum, bir kural olarak, tüm katmanda, tüm bir nöron grubunda hemen değişir.

    Ağlar katman sayısına göre de sınıflandırılabilir. Şek. 8.3, Şekil l'deki algılayıcıdan elde edilen iki katmanlı bir algılayıcıyı göstermektedir. 8.2, iki nörondan oluşan ikinci bir katman ekleyerek.

    R
    dır-dir. 8.3. Tek yönlü sinyal yayılımına sahip bir sinir ağının mimarisi, iki katmanlı bir algılayıcıdır.

    Görüntüleri sınıflandırma problemini çözen sinir ağlarının çalışmalarını düşünürsek, genel olarak çalışmaları, belirli sayıda sınıfa göre n boyutlu bir hiper uzaya ait giriş sinyallerini sınıflandırmaya (genelleştirmeye) gelir. Matematiksel bir bakış açısından, bu, hiper uzayı hiper düzlemlerle parçalayarak gerçekleşir (tek katmanlı bir algılayıcı durumu için notasyon)

    , (5),

    Nerede k=1...m- sınıf No.

    Ortaya çıkan her kapsam, ayrı bir sınıfın kapsamıdır. Algılayıcı tipindeki bir sinir ağı için bu tür sınıfların sayısı 2m'yi geçmez, burada m, ağ çıkışlarının sayısıdır. Ancak, hepsi belirli bir sinir ağı tarafından dağıtılamaz.

    İyi günler, benim adım Natalia Efremova ve NtechLab'da araştırma bilimcisiyim. Bugün sinir ağlarının türleri ve uygulamalarından bahsedeceğim.

    Öncelikle şirketimiz hakkında birkaç söz söylemek istiyorum. Şirket yeni, belki çoğunuz ne yaptığımızı bilmiyorsunuz. Geçen yıl MegaFace yarışmasını kazandık. Bu uluslararası bir yüz tanıma yarışmasıdır. Aynı yıl firmamız açıldı yani yaklaşık bir yıldır piyasadayız hatta biraz daha fazla. Buna göre yüz tanıma ve biyometrik görüntü işlemede lider firmalardan biriyiz.

    Raporumun ilk bölümü, sinir ağlarına aşina olmayanlara yönelik olacak. Doğrudan derin öğrenme ile ilgileniyorum. 10 yılı aşkın süredir bu alanda çalışıyorum. On yıldan biraz daha kısa bir süre önce ortaya çıkmış olsa da, derin bir öğrenme sistemi gibi görünen bazı sinir ağları ilkeleri vardı.

    Son 10 yılda, derin öğrenme ve bilgisayar görüşü inanılmaz bir hızla gelişti. Bu alanda önemli yapılan her şey son 6 yılda oldu.

    Pratik yönlerden bahsedeceğim: Bunu yapan bir şirkette çalıştığım için görüntü ve video işleme, görüntü ve yüz tanıma için derin öğrenme açısından nerede, ne zaman, ne uygulanmalı. Biraz duygu tanıma, oyunlarda ve robotikte hangi yaklaşımların kullanıldığı hakkında konuşacağım. Ayrıca, bilimsel kurumlardan yeni çıkan ve pratikte hala çok az kullanılan derin öğrenmenin standart dışı uygulamasından, nasıl uygulanabileceğinden ve uygulamanın neden zor olduğundan bahsedeceğim.

    Rapor iki bölümden oluşacaktır. Çoğu insan sinir ağlarına aşina olduğu için, öncelikle sinir ağlarının nasıl çalıştığını, biyolojik sinir ağlarının ne olduğunu, nasıl çalıştığını bilmemizin bizim için neden önemli olduğunu, yapay sinir ağlarının ne olduğunu ve hangi mimarilerin nerelerde kullanıldığını hızlıca açıklayacağım. alanlar.

    Hemen özür dilerim, biraz İngilizce terminolojiye atlayacağım çünkü Rusça'da ne dendiğini bile bilmiyorum. Belki sen de.

    Bu nedenle, raporun ilk bölümü evrişimli sinir ağlarına ayrılacaktır. Evrişimli sinir ağı (CNN) görüntü tanımanın nasıl çalıştığını yüz tanımadan bir örnekle anlatacağım. Derin öğrenme sistemleri örneğini kullanarak tekrarlayan sinir ağları (RNN) ve pekiştirmeli öğrenme hakkında biraz konuşacağım.

    Sinir ağlarının standart olmayan bir uygulaması olarak CNN'in tıpta voksel görüntü tanıma için nasıl çalıştığından, sinir ağlarının Afrika'da yoksulluğu tanımak için nasıl kullanıldığından bahsedeceğim.

    sinir ağları nedir

    İşin garibi, biyolojik sinir ağları, sinir ağları oluşturmak için bir prototip görevi gördü. Belki birçoğunuz bir sinir ağının nasıl programlanacağını biliyorsunuz, ama nereden geldiğini düşünüyorum, bazıları bilmiyor. Bize gelen tüm duyusal bilgilerin üçte ikisi görsel algı organlarından gelir. Beyin yüzeyimizin üçte birinden fazlası en önemli iki görsel alan tarafından işgal edilmiştir - dorsal görsel yol ve ventral görsel yol.

    Dorsal görsel yol başın tepesindeki birincil görsel bölgemizde başlar ve yukarı doğru devam ederken, ventral yol kafamızın arkasından başlar ve kabaca kulaklarımızın arkasında biter. Sahip olduğumuz tüm önemli örüntü tanıma, farkında olduğumuz tüm anlamlar tam orada, kulaklarımızın arkasında gerçekleşir.

    Neden önemlidir? Çünkü çoğu zaman sinir ağlarını anlamak gerekir. Birincisi, herkes bundan bahsediyor ve ben zaten bunun olmasına alışkınım ve ikincisi, sinir ağlarında örüntü tanıma için kullanılan tüm alanların bize tam olarak her birinin küçük olduğu ventral görsel yoldan geldiğidir. bölge, kesin olarak tanımlanmış işlevinden sorumludur.

    Görüntü bize retinadan gelir, bir dizi görsel bölgeden geçer ve zamansal bölgede son bulur.

    Geçen yüzyılın uzak 60'larında, beynin görsel alanlarının incelenmesi yeni başladığında, fMRI olmadığı için hayvanlar üzerinde ilk deneyler yapıldı. Beyin, çeşitli görsel bölgelere implante edilen elektrotlar kullanılarak incelendi.

    İlk görsel bölge, 1962'de David Hubel ve Thorsten Wiesel tarafından keşfedildi. Kediler üzerinde deneyler yaptılar. Kedilere çeşitli hareketli nesneler gösterildi. Beyin hücrelerinin tepki verdiği şey, hayvanın tanıdığı uyarandı. Şimdi bile, bu gaddar yöntemlerle birçok deney yapılıyor. Ancak yine de beynimizdeki her bir küçük hücrenin ne yaptığını öğrenmenin en etkili yolu budur.

    Aynı şekilde, artık derin öğrenmede kullandığımız görsel bölgelerin daha birçok önemli özelliği keşfedildi. En önemli özelliklerinden biri, birincil görme alanlarından temporal loblara yani daha sonraki görme alanlarına doğru gidildikçe hücrelerimizin alıcı alanlarının artmasıdır. Alıcı alan, görüntünün beynimizdeki her hücrenin işlediği kısmıdır. Her hücrenin kendi alıcı alanı vardır. Aynı özellik, muhtemelen hepinizin bildiği gibi sinir ağlarında korunur.

    Ayrıca, alıcı alanlardaki artışla birlikte, sinir ağlarının genellikle tanıdığı karmaşık uyaranlar da artar.

    Burada uyaranların karmaşıklığının örneklerini, V2, V4 alanlarında tanınan farklı iki boyutlu şekilleri ve makaklardaki zamansal alanların çeşitli kısımlarını görüyorsunuz. Bir dizi MRI deneyi de yapılıyor.

    Burada bu tür deneylerin nasıl yapıldığını görebilirsiniz. Bu, çeşitli nesneleri tanıdığında maymunun IT korteksinin 1 nanometrelik bir bölümüdür. Tanındığı yerde vurgulanır.

    Özetleyelim. Görsel alanlardan benimsemek istediğimiz önemli bir özellik, alıcı alanların boyutlarının artması ve tanıdığımız nesnelerin karmaşıklığının artmasıdır.

    Bilgisayar görüşü

    Bunu bilgisayar görüşüne nasıl uygulayacağımızı öğrenmeden önce - genel olarak böyle bir şey yoktu. Her durumda, şimdi olduğu kadar iyi çalışmadı.

    Tüm bu özellikleri sinir ağına aktarıyoruz ve şimdi çalışıyor, daha sonra bahsedeceğim veri kümelerine küçük bir inceleme dahil etmezseniz.

    Ama önce, en basit algılayıcı hakkında biraz. Ayrıca beynimizin görüntüsünde ve benzerliğinde oluşur. Beyin hücresine benzeyen en basit unsur nörondur. Varsayılan olarak soldan sağa, bazen aşağıdan yukarıya olan giriş öğelerine sahiptir. Solda nöronun giriş kısımları, sağda nöronun çıkış kısımları yer almaktadır.

    En basit algılayıcı, yalnızca en temel işlemleri gerçekleştirme yeteneğine sahiptir. Daha karmaşık hesaplamalar yapabilmek için daha gizli katmanlara sahip bir yapıya ihtiyacımız var.

    Bilgisayar görüşü söz konusu olduğunda, daha da fazla gizli katmana ihtiyacımız var. Ve ancak o zaman sistem gördüklerini anlamlı bir şekilde tanıyacaktır.

    Peki, bir görüntüyü tanıdığınızda ne olur, size yüz örneğini kullanarak anlatacağım.

    Bizim için bu resme bakıp heykelin yüzünü tasvir ettiğini söylememiz oldukça basit. Ancak 2010 yılına kadar bu, bilgisayar görüşü için inanılmaz derecede zor bir görevdi. Resimde bulmak istediğimiz nesneyi kelimeler olmadan tarif etmenin ne kadar zor olduğunu bu konuyu daha önce ele almış olanlar muhtemelen biliyordur.

    Bunu geometrik bir şekilde yapmak, nesneyi tanımlamamız, nesnenin ilişkisini, bu parçaların birbirleriyle nasıl ilişki kurabileceğini tanımlamamız, ardından bu görüntüyü nesne üzerinde bulmamız, karşılaştırmamız ve kötü tanıdığımız şeyi elde etmemiz gerekiyordu. Genellikle yazı tura atmaktan biraz daha iyiydi. Şans seviyesinden biraz daha iyi.

    Şimdi durum böyle değil. Resmimizi piksellere veya bazı yamalara böleriz: 2x2, 3x3, 5x5, 11x11 piksel - sinir ağına giriş katmanı olarak hizmet ettikleri sistemin yaratıcıları için uygun olduğu kadar.

    Bu girdi katmanlarından gelen sinyaller sinapslar kullanılarak katmandan katmana iletilir, katmanların her birinin kendine özgü katsayıları vardır. Böylece yüzü tanıyana kadar katmandan katmana, katmandan katmana geçiyoruz.

    Geleneksel olarak, tüm bu parçalar üç sınıfa ayrılabilir, onları X, W ve Y olarak göstereceğiz, burada X girdi görüntümüz, Y bir dizi etikettir ve ağırlıklarımızı almamız gerekir. W'yi nasıl hesaplarız?

    X ve Y'miz göz önüne alındığında, bu kolay görünüyor. Bununla birlikte, yıldız işaretiyle gösterilen şey, ne yazık ki tersi olmayan çok karmaşık, doğrusal olmayan bir işlemdir. Denklemin verilen 2 bileşeniyle bile onu hesaplamak çok zordur. Bu nedenle, deneme yanılma yoluyla, W ağırlığını seçerek, hatanın olabildiğince azaldığından emin olmalıyız, sıfıra eşit olması arzu edilir.

    Bu süreç yinelemeli olarak gerçekleşir, bizi yeterince tatmin eden W ağırlığının değerini bulana kadar sürekli olarak azaltırız.

    Bu arada, çalıştığım tek bir sinir ağı sıfıra eşit bir hataya ulaşmadı, ancak oldukça iyi çalıştı.

    İşte 2012'de ImageNet uluslararası yarışmasını kazanan ilk ağ. Bu sözde AlexNet. Bu, evrişimli sinir ağlarının olduğunu ilk kez ilan eden ağdır ve o zamandan beri, tüm uluslararası yarışmalarda evrişimli sinir ağları konumlarını hiç kaybetmemiştir.

    Bu ağ oldukça küçük olmasına rağmen (sadece 7 gizli katmanı vardır), 60 milyon parametreli 650.000 nöron içerir. Doğru ağırlıkları nasıl bulacağımızı yinelemeli olarak öğrenmek için birçok örneğe ihtiyacımız var.

    Sinir ağı, bir resim ve bir etiket örneğinden öğrenir. Çocuklukta bize öğretildiği gibi "bu bir kedi ve bu bir köpek", bu nedenle sinir ağları çok sayıda resim üzerinde eğitilir. Ancak gerçek şu ki, 2010'dan önce görüntüleri tanımak için bu kadar çok parametreyi öğretebilecek kadar büyük bir veri seti yoktu.

    O zamana kadar var olan en büyük veritabanları, yalnızca 20 nesne kategorisine sahip PASCAL VOC ve California Institute of Technology'de geliştirilen Caltech 101 idi. Sonuncusu 101 kategoriye sahipti ve bu çok fazlaydı. Nesnelerini bu veritabanlarının hiçbirinde bulamayanlar veritabanlarına mal olmak zorunda kaldılar ki bu çok acı verici diyeceğim.

    Bununla birlikte, 2010 yılında, 22.000 kategoriye ayrılmış 15 milyon görüntünün bulunduğu ImageNet veritabanı ortaya çıktı. Bu, sinir ağı eğitim problemimizi çözdü. Artık herhangi bir akademik adresi olan herkes üssün sitesine kolayca gidip erişim talebinde bulunabiliyor ve sinir ağlarını eğitmek için bu üssü alabiliyor. Bence ertesi gün oldukça hızlı yanıt veriyorlar.

    Önceki veri kümeleriyle karşılaştırıldığında, bu çok büyük bir veritabanıdır.

    Örnek, ondan önce olan her şeyin ne kadar önemsiz olduğunu gösteriyor. ImageNet üssü ile eş zamanlı olarak, rekabet etmek isteyen tüm takımların katılabileceği uluslararası bir meydan okuma olan ImageNet yarışması ortaya çıktı.

    Bu yıl Çin'de oluşturulan ağ kazandı, 269 katmanı vardı. Kaç tane parametre olduğunu bilmiyorum, çok fazla olduğundan şüpheleniyorum.

    Derin sinir ağı mimarisi

    Geleneksel olarak 2 kısma ayrılabilir: okuyanlar ve çalışmayanlar.

    Siyah, öğrenmeyen kısımları gösterir, diğer tüm katmanlar öğrenebilir. Her evrişim katmanının içinde ne olduğuna dair birçok tanım vardır. Kabul edilen tanımlamalardan biri, üç bileşenli bir katmanın evrişim aşamasına, dedektör aşamasına ve havuzlama aşamasına bölünmesidir.

    Detaylara girmeyeceğim, bunun nasıl çalıştığını detaylandıran daha birçok rapor olacak. Size bir örnekle anlatacağım.

    Organizatörler benden pek çok formülden bahsetmememi istedikleri için onları tamamen attım.

    Böylece, giriş görüntüsü, tanıdıkları öğelerin farklı boyutlarına ve farklı karmaşıklığına sahip filtreler olarak adlandırılabilecek bir katmanlar ağına düşer. Bu filtreler, daha sonra sınıflandırıcıya giren kendi dizinlerini veya özellik kümelerini oluşturur. Genellikle bu, herkes için uygun olan çok katmanlı bir algılayıcı olan SVM veya MLP'dir.

    Biyolojik bir sinir ağı ile görüntü ve benzerlikte, değişen karmaşıklığa sahip nesneler tanınır. Katman sayısı arttıkça, sinir ağında sınırlı sayıda bölge olduğundan, bunların tümü korteks ile teması kaybetti. 269 ​​​​veya birçok, birçok soyutlama bölgesi, bu nedenle yalnızca karmaşıklık, öğe sayısı ve alıcı alanlardaki artış kaydedilir.

    Yüz tanıma örneğine bakarsak, o zaman ilk katmandaki alıcı alanımız küçük olacak, sonra biraz daha, daha fazla ve sonunda tüm yüzü tanıyana kadar böyle devam edecek.

    Filtrelerin içinde sahip olduklarımız açısından, önce eğimli çubuklar artı biraz renk olacak, ardından yüzlerin bölümleri ve ardından katmanın her hücresi tarafından yüzün tamamı tanınacaktır.

    Bir kişinin her zaman bir ağdan daha iyi tanıdığını iddia eden insanlar var. Öyle mi?

    2014 yılında bilim adamları, sinir ağları ile karşılaştırıldığında ne kadar iyi tanıdığımızı test etmeye karar verdiler. Şu anda en iyi 2 ağı aldılar - bunlar AlexNet ve Matthew Ziller ve Fergus'un ağı ve bazı nesneleri tanıması da öğretilen makak beyninin farklı alanlarının tepkisiyle karşılaştırıldı. Maymunun kafası karışmasın diye nesneler hayvanlar alemindendi ve kimin daha iyi tanıyacağını görmek için deneyler yapıldı.

    Bir maymundan yanıt almanın kesinlikle imkansız olduğu için içine elektrotlar yerleştirildi ve her bir nöronun tepkisi doğrudan ölçüldü.

    Normal şartlar altında beyin hücrelerinin o zamanki son model yani Matthew Ziller'in ağı kadar tepki verdiği ortaya çıktı.

    Ancak nesneleri gösterme hızının artması, görüntüdeki gürültülerin ve nesnelerin sayısının artması ile beynimizde ve primatların beyninde tanıma hızı ve kalitesi keskin bir şekilde düşer. En basit evrişimli sinir ağı bile nesneleri daha iyi tanır. Yani resmen sinir ağları beynimizden daha iyi çalışıyor.

    Evrişimli sinir ağlarının klasik problemleri

    Aslında pek çoğu yok, üç sınıfa aitler. Bunlar arasında nesne tanımlama, semantik bölütleme, yüz tanıma, insan vücut bölümlerinin tanınması, anlamsal sınır tespiti, görüntüde dikkat edilecek nesnelerin seçimi ve yüzeye normallerin seçimi gibi görevler bulunmaktadır. Koşullu olarak 3 seviyeye ayrılabilirler: en düşük seviyeli görevlerden en yüksek seviyeli görevlere.

    Bu görüntüyü örnek olarak kullanarak, görevlerin her birinin ne yaptığına bakalım.

    • border'un tanımı- bu, evrişimli sinir ağlarının zaten klasik olarak kullanıldığı en düşük seviyeli görevdir.
    • Bir vektörün normale tanımı 2 boyutlu bir görüntüden 3 boyutlu bir görüntüyü yeniden oluşturmamızı sağlar.
    • Belirginlik, dikkat nesnelerinin tanımı- Bu, bir kişinin bu resmi düşünürken dikkat edeceği şeydir.
    • Anlamsal bölümleme nesneleri, bu nesneler hakkında hiçbir şey bilmeden, yani tanınmadan önce yapılarına göre sınıflara ayırmanıza olanak tanır.
    • Anlamsal sınır vurgulama- bu, sınıflara bölünmüş sınırların seçimidir.
    • İnsan vücudunun bölümlerinin izolasyonu.
    • Ve en üst düzey görev - nesnelerin kendilerinin tanınması, şimdi yüz tanıma örneğini kullanarak ele alacağız.

    Yüz tanıma

    Yaptığımız ilk şey, yüzü bulmak için yüz detektörünü görüntünün üzerinde gezdirmek, ardından yüzü normalleştirip ortalıyoruz ve sinir ağında işlenmesi için çalıştırıyoruz. bu yüzün özelliklerini benzersiz bir şekilde tanımlar.

    Daha sonra bu özellik vektörünü veritabanımızda depolanan tüm özellik vektörleriyle karşılaştırabilir ve belirli bir kişiye, onun adına, profiline - veritabanında saklayabileceğimiz her şeye referans alabiliriz.

    FindFace ürünümüz bu şekilde çalışır - VKontakte veritabanında insanların profillerini aramanıza yardımcı olan ücretsiz bir hizmettir.

    Ayrıca ürünlerimizi denemek isteyen firmalar için bir API'miz var. Yüz algılama, doğrulama ve kullanıcı tanımlama hizmetleri sunuyoruz.

    Şimdi 2 senaryo geliştirdik. Birincisi kimlik tespiti, veri tabanında bir kişinin aranmasıdır. İkincisi, doğrulama, bu, aynı kişi olma olasılığı olan iki görüntünün bir karşılaştırmasıdır. Ek olarak, şu anda duygu tanıma, video görüntüsü tanıma ve canlılık tespiti geliştiriyoruz - bu, bir kişinin kamera önünde mi yoksa bir fotoğrafta mı canlı olduğunun anlaşılmasıdır.

    Bazı istatistikler. Tanımlarken, 10 bin fotoğraf ararken, veri tabanının kalitesine bağlı olarak yaklaşık %95, doğrulama doğruluğu %99 civarındadır. Bunun yanı sıra, bu algoritma değişikliklere karşı çok dirençlidir - kameraya bakmamız gerekmez, bazı engelleyici nesneler olabilir: gözlük, güneş gözlüğü, sakal, tıbbi maske. Bazı durumlarda bilgisayarla görme için gözlük ve maske gibi inanılmaz zorlukların üstesinden bile gelebiliriz.

    Çok hızlı arama, 1 milyar fotoğrafı işlemek 0,5 saniye sürüyor. Benzersiz bir hızlı arama dizini geliştirdik. CCTV kameralarından alınan düşük kaliteli görüntülerle de çalışabiliriz. Hepsini gerçek zamanlı olarak işleyebiliriz. Web arayüzü, Android, iOS üzerinden fotoğraf yükleyebilir, 100 milyon kullanıcı ve onların 250 milyon fotoğrafı arasında arama yapabilirsiniz.

    Dediğim gibi, bir ImageNet analogu olan ancak yüz tanıma için olan MegaFace yarışmasında birinci olduk. Birkaç yıldır devam ediyor, geçen yıl Google dahil dünyanın her yerinden 100 ekip arasında en iyisiydik.

    Tekrarlayan Sinir Ağları

    Sadece görüntüyü tanımamız yeterli olmadığında tekrarlayan sinir ağlarını kullanırız. Sıralamayı takip etmenin bizim için önemli olduğu durumlarda, bize olanların sırasına ihtiyacımız var, sıradan tekrarlayan sinir ağlarını kullanıyoruz.

    Doğal dil tanıma, video işleme ve hatta görüntü tanımaya uygulanır.

    Doğal dil tanıma hakkında konuşmayacağım - raporumdan sonra doğal dil tanımayı hedefleyen iki tane daha olacak. Bu nedenle duygu tanıma örneğini kullanarak tekrarlayan ağların çalışmasından bahsedeceğim.

    Tekrarlayan sinir ağları nedir? Bu, normal sinir ağlarıyla hemen hemen aynı, ancak geri bildirim var. Sistemin önceki durumunu sinir ağının girişine veya katmanlarından birine iletmek için geri bildirime ihtiyacımız var.

    Duyguları işlediğimizi varsayalım. En basit duygulardan biri olan gülümsemede bile, nötr bir yüz ifadesinden tam bir gülümsemeye sahip olduğumuz ana kadar birçok an vardır. Sırayla birbirlerini takip ederler. Bunu iyi anlayabilmek için bunun nasıl olduğunu gözlemleyebilmemiz, bir önceki çerçevede olanları sistemin bir sonraki adımına aktarabilmemiz gerekiyor.

    2005 yılında, özellikle duygu tanıma için düzenlenen Vahşi Doğada Duygu Tanıma yarışmasında, Montreal'den bir ekip çok basit görünen tekrarlayan bir sistem sundu. Yalnızca birkaç evrişim katmanı vardı ve yalnızca videoyla çalıştı. Bu yıl, evrişimli sinir ağlarından elde edilen ses tanıma ve kümelenmiş kare kare verileri, tekrarlayan sinir ağı işlemiyle (durum bilgisi olan) ses sinyali verilerini de eklediler ve yarışmada birinci oldular.

    Takviyeli öğrenme

    Son zamanlarda çok sık kullanılan ancak önceki 2 tür kadar geniş tanıtım almayan bir sonraki sinir ağı türü, derin öğrenme, pekiştirmeli öğrenmedir.

    Gerçek şu ki, önceki iki durumda veritabanlarını kullanıyoruz. Ya yüzlerden, resimlerden ya da videolardan duygu içeren verilerimiz var. Eğer bizde yoksa, filme çekemezsek, robota nesneleri toplamasını nasıl öğretebiliriz? Bunu otomatik olarak yapıyoruz - nasıl çalıştığını bilmiyoruz. Başka bir örnek: bilgisayar oyunlarında büyük veritabanlarını derlemek zordur ve gerekli değildir, çok daha kolay yapılabilir.

    Muhtemelen herkes Atari ve Go'daki derin pekiştirmeli öğrenmenin başarısını duymuştur.

    Atari'yi kim duydu? Biri duydu, tamam. Herkesin AlphaGo'yu duyduğunu düşünüyorum, bu yüzden size orada tam olarak neler olduğunu söylemeyeceğim bile.

    Atari'de neler oluyor? Bu sinir ağının mimarisi solda gösterilmiştir. Maksimum ödülü almak için kendi kendisiyle oynayarak öğrenir. Maksimum ödül, mümkün olan en yüksek puana sahip oyunun en hızlı sonucudur.

    Sağ üst - sadece iki saat boyunca kendisine karşı oynayan sistemin tüm durum sayısını gösteren sinir ağının son katmanı. Kırmızı, oyunun istenen sonuçlarını maksimum ödülle gösterir ve mavi - istenmeyen. Ağ belirli bir alan oluşturur ve eğitilmiş katmanları aracılığıyla ulaşmak istediği duruma doğru hareket eder.

    Robotikte durum biraz farklı. Neden? Burada birkaç komplikasyonumuz var. İlk olarak, çok fazla veritabanımız yok. İkincisi, aynı anda üç sistemi koordine etmemiz gerekiyor: robotun algısı, manipülatörlerin yardımıyla eylemleri ve hafızası - önceki adımda ne yapıldı ve nasıl yapıldı. Genel olarak, bunların hepsi çok zor.

    Gerçek şu ki, şu anda hiçbir sinir ağı, hatta şu anda derin öğrenme bile bu görevle yeterince verimli bir şekilde başa çıkamaz, bu nedenle derin öğrenme, robotların yapması gerekenlerin yalnızca bir parçasıdır. Örneğin, Sergey Levin yakın zamanda bir robota nesneleri tutmayı öğreten bir sistem sağladı.

    İşte 14 robotik kolu üzerinde yaptığı deneyler.

    Burada neler oluyor? Önünüzde gördüğünüz bu leğenlerde çeşitli nesneler var: kalemler, silgiler, irili ufaklı kupalar, paçavralar, farklı dokular, farklı sertlikler. Robotun onları yakalaması için nasıl eğitileceği açık değil. Robotlar saatlerce, hatta haftalarca bu nesneleri yakalayacak şekilde eğitildi, bu vesileyle veritabanları derlendi.

    Veritabanları, robotu gelecekte bir şeyler yapması için eğitebilmemiz için biriktirmemiz gereken bir tür çevresel tepkidir. Gelecekte, robotlar bu sistem durumları kümesi üzerinde eğitilecektir.

    Yapay sinir ağlarının standart dışı uygulamaları

    Bu maalesef son, fazla zamanım yok. Şu anda var olan ve birçok tahmine göre gelecekte bazı uygulamaları olacak olan standart dışı çözümlerden bahsedeceğim.

    Bu nedenle, Stanford bilim adamları kısa bir süre önce, yoksulluk tahmini için CNN sinir ağının çok alışılmadık bir uygulamasını buldular. Onlar ne yaptı?

    Aslında konsept çok basit. Gerçek şu ki, Afrika'da yoksulluk seviyesi akla gelebilecek ve hayal edilemeyecek tüm sınırları aşıyor. Sosyal demografik veri toplama yetenekleri bile yok. Bu nedenle, 2005'ten beri orada neler olduğuna dair hiçbir verimiz yok.

    Bilim adamları, uydulardan gündüz ve gece haritaları topladılar ve bunları zamanla sinir ağına beslediler.

    Yapay sinir ağı, ImageNet "e üzerinde önceden yapılandırılmıştır. Yani, ilk filtre katmanları, gündüz haritalarında bir yerleşim yeri aramak için bazı çok basit şeyleri, örneğin evlerin çatılarını tanıyabilecek şekilde yapılandırılmıştır. gece haritaları ile karşılaştırıldığında, yüzeyin aynı bölgesinin aydınlatılması, nüfusun en azından gece boyunca evlerini aydınlatmak için ne kadar para harcaması gerektiğini söylemek için.

    Burada sinir ağı tarafından oluşturulan tahminin sonuçlarını görüyorsunuz. Tahmin, farklı çözünürlüklerle yapıldı. Ve görüyorsunuz - en son kare - 2005'te Uganda hükümeti tarafından toplanan gerçek veriler.

    Sinir ağının 2005 yılından bu yana hafif bir kayma ile de olsa oldukça doğru bir tahmin yaptığı görülmektedir.

    Elbette yan etkileri de oldu. Derin öğrenme ile uğraşan bilim adamları, farklı yan etkiler bulduklarında her zaman şaşırırlar. Örneğin, ağın suyu, ormanları, büyük şantiyeleri, yolları tanımayı öğrendikleri gibi - tüm bunlar öğretmenler olmadan, önceden oluşturulmuş veritabanları olmadan. Genel olarak tamamen bağımsız. Örneğin yollara tepki veren belirli katmanlar vardı.

    Bahsetmek istediğim son uygulama ise tıpta 3D görüntülerin semantik bölütlenmesi. Genel olarak tıbbi görüntüleme, üzerinde çalışılması çok zor olan karmaşık bir alandır.

    Bunun birkaç nedeni var.

    • Çok az veritabanımız var. Beynin hasarlı olmasının yanı sıra resmini bulmak o kadar kolay değil ve onu herhangi bir yerden çekmek de imkansız.
    • Böyle bir resmimiz olsa bile, bir sıhhiye alıp onu tüm çok katmanlı görüntüleri manuel olarak yerleştirmeye zorlamamız gerekiyor ki bu çok zaman alıyor ve son derece verimsiz. Tüm doktorların bunu yapacak kaynakları yoktur.
    • Çok yüksek doğruluk gereklidir. Tıbbi sistem yanılıyor olamaz. Örneğin mühürleri tanırken tanımadılar - sorun değil. Ve tümörü tanımıyorsak, bu pek iyi değil. Sistemin güvenilirliği için özellikle şiddetli gereksinimler vardır.
    • Üç boyutlu öğelerdeki görüntüler - sistem tasarımcılarına ek karmaşıklık getiren pikseller değil, vokseller.
    Ancak bu durumda bu sorunu nasıl aştınız? CNN çift akışlıydı. Eğitmemiz gereken katman sayısını azaltmak için bir parça daha normal bir çözünürlükte, diğeri biraz daha kötü bir çözünürlükte işlendi. Bu nedenle, ağ eğitimi süresi biraz azaldı.

    Nerede kullanılır: Darbe sonrası hasarı belirlemek, beyinde tümör aramak, kardiyolojide kalbin nasıl çalıştığını belirlemek için kullanılır.

    İşte plasentanın hacmini belirlemek için bir örnek.

    Otomatik olarak iyi çalışıyor, ancak üretime geçmesi için yeterli değil, yani daha yeni başlıyor. Bu tür tıbbi görüş sistemleri oluşturmak için birkaç girişim var. Genel olarak, yakın gelecekte derin öğrenmede birçok girişim var. Risk sermayedarlarının derin öğrenme girişimlerine son altı ayda son 5 yıldan daha fazla bütçe ayırdığını söylüyorlar.

    Bu alan aktif olarak gelişiyor, birçok ilginç yön var. İlginç zamanlarda yaşıyoruz. Derin öğrenmeyle uğraşıyorsanız, muhtemelen kendi girişiminizi açmanızın zamanı gelmiştir.

    Pekala, muhtemelen bununla bitireceğim. Çok teşekkür ederim.

    Yapay zeka ve sinir ağları konuları artık her zamankinden daha popüler hale geliyor. Birçok kullanıcı, sinir ağlarının nasıl çalıştığı, ne oldukları ve faaliyetlerinin ilkesinin neye dayandığı hakkında giderek daha fazla soru soruyor.

    Süreçler, değişiklikleri analiz etmekten belirli eylemlerle ilişkili riskleri modellemeye kadar çeşitli amaçlar için tasarlanmış karmaşık makine öğrenimi algoritmaları olduğundan, popülerliklerinin yanı sıra bu sorular da oldukça karmaşıktır.

    Sinir ağları ve türleri nelerdir?

    İlgilenenler arasında ortaya çıkan ilk soru, sinir ağı nedir? Klasik tanımda bu, sinapslarla birbirine bağlanan belirli bir nöron dizisidir. Sinir ağları, biyolojik analogların basitleştirilmiş bir modelidir.

    Bir sinir ağı yapısına sahip olan program, makinenin giriş verilerini analiz etmesini ve belirli kaynaklardan elde edilen sonucu hatırlamasını sağlar. Daha sonra, bu yaklaşım, ağ döngüleri deneyiminde zaten mevcutsa, geçerli veri kümesine karşılık gelen sonucu bellekten almanıza olanak tanır.

    Birçoğu sinir ağını insan beyninin bir analogu olarak algılar. Bir yandan bu yargı gerçeğe yakın sayılabilir, ancak diğer yandan insan beyni yüzde bir oranında bile olsa onu bir makine kullanarak yeniden yaratamayacak kadar karmaşık bir mekanizmadır. Bir sinir ağı, öncelikle beyin prensibine dayanan bir programdır, ancak analoguna değil.

    Bir sinir ağı, her biri bilgi alan, onu işleyen ve başka bir nörona ileten bir grup nörondur. Her nöron sinyali tam olarak aynı şekilde işler.

    O zaman sonuç nasıl farklı? Her şey nöronları birbirine bağlayan sinapslarla ilgili. Bir nöron, sinyali güçlendiren veya zayıflatan çok sayıda sinapsa sahip olabilirken, zamanla özelliklerini değiştirme yeteneğine de sahiptir.

    Çıktıda girdi verisi dönüşümünün doğru sonucunu elde etmeyi mümkün kılan tam olarak doğru seçilmiş sinaps parametreleridir.

    Bir sinir ağının ne olduğunu genel terimlerle tanımladıktan sonra, sınıflandırmalarının ana türlerini ayırt edebiliriz. Sınıflandırmaya geçmeden önce, bir açıklama getirilmelidir. Her ağ, girdi adı verilen ilk nöron katmanına sahiptir.

    Herhangi bir hesaplama ve dönüşüm yapmaz, görevi tektir: giriş sinyallerini kabul etmek ve diğer nöronlara dağıtmak. Bu, tüm sinir ağları türleri için ortak olan tek katmandır ve bunların daha fazla yapısı, ana bölüm için kriterdir.

    • Tek katmanlı sinir ağı. Bu, girdi verilerinin ilk girdi katmanına girdikten sonra, hemen nihai sonucun çıktı katmanına aktarıldığı nöronlar arasındaki bir etkileşim yapısıdır. Bu durumda birinci girdi katmanı dikkate alınmaz, çünkü alma ve dağıtma dışında herhangi bir işlem yapmaz, bu yukarıda zaten belirtilmişti. Ve ikinci katman, gerekli tüm hesaplamaları ve işlemleri gerçekleştirir ve hemen nihai sonucu verir. Giriş nöronları, bağlantıların kalitesini sağlayan farklı ağırlık katsayılarına sahip sinapslarla ana katmana bağlanır.
    • Çok katmanlı sinir ağı. Tanımdan da anlaşılacağı üzere bu tip sinir ağlarında girdi ve çıktı katmanlarına ek olarak ara katmanlar da bulunur. Sayıları, ağın kendisinin karmaşıklık derecesine bağlıdır. Daha çok biyolojik bir sinir ağının yapısına benziyor. Bu tür ağlar oldukça yakın zamanda geliştirildi, bundan önce tüm işlemler tek katmanlı ağlar kullanılarak uygulandı. Buna göre böyle bir çözüm, atasından çok daha fazla olasılığa sahiptir. Bilgi işleme sürecinde, her bir ara katman, bilginin işlenmesi ve dağıtılmasında bir ara aşamayı temsil eder.

    Bilginin bir nörondan diğerine sinapslar boyunca dağılma yönüne bağlı olarak, ağlar da iki kategoriye ayrılabilir.

    • Doğrudan yayılma ağları veya tek yönlü, yani sinyalin giriş katmanından çıkış katmanına kesin olarak hareket ettiği bir yapı. Ters yönde sinyal hareketi mümkün değildir. Bu tür gelişmeler oldukça yaygındır ve şu anda tanıma, tahmin veya kümeleme gibi sorunları başarıyla çözmektedir.
    • Geri beslemeli veya tekrarlayan ağlar. Bu tür ağlar, sinyalin yalnızca ileri değil, aynı zamanda ters yönde de hareket etmesine izin verir. Ne veriyor? Bu tür ağlarda çıkış sonucu, buna bağlı olarak girişe döndürülebilir, nöronun çıkışı ağırlıklar ve giriş sinyalleri tarafından belirlenir ve tekrar girişe dönen önceki çıkışlarla tamamlanır. Bu tür ağlar, işleme sırasında sinyallerin geri yüklendiği ve tamamlandığı temelinde kısa süreli belleğin işlevi ile karakterize edilir.

    Bunlar, ağları sınıflandırmak için tek seçenek değildir.

    Ağı oluşturan nöron tiplerine göre homojen ve hibrit olarak ayrılabilirler. Ve ayrıca, öğretmenli veya öğretmensiz ağ eğitimi yöntemine bağlı olarak, heteroassociative veya autoassociative üzerinde. Ağları amaçlarına göre de sınıflandırabilirsiniz.

    Sinir ağları nerede kullanılır?

    Sinir ağları çeşitli sorunları çözmek için kullanılır. Görevleri karmaşıklık derecesine göre ele alırsak, sıradan bir bilgisayar programı en basit görevleri çözmek için uygundur, daha fazlası
    basit tahmin veya denklemlerin yaklaşık çözümünü gerektiren karmaşık görevler, istatistiksel yöntemler kullanan programlar kullanılır.

    Ancak daha da karmaşık düzeydeki görevler, tamamen farklı bir yaklaşım gerektirir. Bu özellikle örüntü tanıma, konuşma veya karmaşık tahmin için geçerlidir. Kişinin kafasında bu tür işlemler bilinçsiz olarak gerçekleşir, yani görüntüleri tanırken ve hatırlarken kişi bu sürecin nasıl gerçekleştiğinin farkına varmaz ve bu nedenle kontrol edemez.

    Sinir ağlarının çözülmesine yardımcı olduğu bu görevlerdir, yani algoritmaları bilinmeyen süreçleri gerçekleştirmek için tasarlanmıştır.

    Bu nedenle, sinir ağları aşağıdaki alanlarda yaygın olarak kullanılmaktadır:

    • tanıma ve bu yön şu anda en geniş olanıdır;
    • bir sonraki adımın tahmini, bu özellik ticaret ve borsalarda geçerlidir;
    • Girdi verilerinin parametrelere göre sınıflandırılması, bu işlev, farklı parametrelerden oluşan bir girdi setine dayanarak bir kişiye kredi verilmesine karar verebilen kredi robotları tarafından gerçekleştirilir.

    Sinir ağlarının yetenekleri onları çok popüler yapıyor. Oyun oynamak, belirli bir sesi tanımak gibi pek çok şey öğretilebilir. Yapay ağların biyolojik ağlar ilkesi üzerine inşa edildiği gerçeğinden yola çıkarak, bir kişinin bilinçsizce gerçekleştirdiği tüm süreçlerde eğitilebilirler.

    Nöron ve sinaps nedir?

    Peki yapay sinir ağları bağlamında nöron nedir? Bu kavram, hesaplamaları yapan bir birimi ifade eder. Ağın giriş katmanından bilgi alır, onunla basit hesaplamalar yapar ve onu bir sonraki nörona kadar yer.

    Ağda üç tip nöron vardır: girdi, gizli ve çıktı. Ayrıca, ağ tek katmanlı ise gizli nöronlar içermez. Ek olarak, önyargı nöronu ve bağlam nöronu olarak adlandırılan çeşitli birimler vardır.

    Her nöronun iki tür verisi vardır: girdi ve çıktı. Bu durumda, birinci katmanın giriş verileri çıkış verilerine eşittir. Diğer durumlarda nöronun girişi önceki katmanların toplam bilgilerini alır, ardından normalleştirme sürecinden geçer, yani istenen aralığın dışına düşen tüm değerler aktivasyon fonksiyonu tarafından dönüştürülür.

    Yukarıda bahsedildiği gibi, bir sinaps, her biri kendi ağırlık derecesine sahip olan nöronlar arasındaki bir bağlantıdır. Bu özellik nedeniyle, giriş bilgileri iletim işlemi sırasında değiştirilir. İşleme sırasında, sinapsın büyük bir ağırlık göstergesi ile ilettiği bilgi baskın olacaktır.

    Sonucun nöronlardan değil, belirli bir girdi verisi ağırlığı seti veren sinapslardan etkilendiği ortaya çıktı, çünkü nöronların kendileri her seferinde tam olarak aynı hesaplamaları yapıyor.

    Ağırlıklar rastgele ayarlanır.

    Sinir ağının şeması

    Bir sinir ağının çalışma prensibini sunmak özel beceri gerektirmez. Belirli bilgiler nöronların giriş katmanına girer. Sinapslar aracılığıyla bir sonraki katmana iletilir, her sinaps kendi ağırlık katsayısına sahiptir ve sonraki her nöron birkaç gelen sinapsa sahip olabilir.

    Sonuç olarak, bir sonraki nöron tarafından alınan bilgi, tüm verilerin toplamıdır ve her biri kendi ağırlık katsayısı ile çarpılır. Ortaya çıkan değer, aktivasyon fonksiyonunda ikame edilir ve nihai çıktıya ulaşana kadar iletilecek olan çıktı bilgisi elde edilir. Ağ henüz eğitilmediğinden, ağın ilk çalıştırması doğru sonuçlar vermez.

    Etkinleştirme işlevi, giriş verilerini normalleştirmek için kullanılır. Bu tür birçok işlev vardır, ancak en yaygın şekilde kullanılan birkaç ana işlev vardır. Ana farkları, faaliyet gösterdikleri değer aralığıdır.

    • Mümkün olan en basiti olan f(x) = x doğrusal fonksiyonu, yalnızca oluşturulan sinir ağını test etmek veya verileri orijinal biçiminde iletmek için kullanılır.
    • Sigmoid, en yaygın aktivasyon fonksiyonu olarak kabul edilir ve f(x) = 1 / 1+e-× biçimindedir; değerlerinin aralığı ise 0 ile 1 arasındadır. Buna lojistik fonksiyon da denir.
    • Hiperbolik tanjant, negatif değerleri de kapsayacak şekilde kullanılır. F(x) = e²× - 1 / e²× + 1 - bu fonksiyon böyle bir forma sahiptir ve sahip olduğu aralık -1 ile 1 arasındadır. Sinir ağı negatif değerlerin kullanılmasını sağlamıyorsa, o zaman siz kullanmamak gerekir.

    Ağın çalışacağı verileri ayarlamak için eğitim setlerine ihtiyaç vardır.

    Entegrasyon, her eğitim seti ile artan bir sayaçtır.

    Bir dönem, bir sinir ağının ne kadar iyi eğitildiğinin bir ölçüsüdür ve ağın tam bir eğitim seti setinden geçtiği her seferinde artar.

    Buna göre, ağı doğru bir şekilde eğitmek için, dönem göstergesini sürekli olarak artırarak setler yapmanız gerekir.

    Eğitim sırasında hatalar tespit edilecektir. Bu, elde edilen sonuç ile istenen sonuç arasındaki yüzdelik farktır. Bu gösterge, epoch göstergesini artırma sürecinde azalmalıdır, aksi takdirde bir yerde bir geliştirici hatası vardır.

    Bias nöronu nedir ve ne içindir?

    Sinir ağlarında, başka bir nöron türü vardır - önyargı nöronu. Giriş ve çıkışının her durumda bire eşit olmasıyla ana nöron tipinden farklıdır. Aynı zamanda, bu tür nöronların giriş sinapsları yoktur.

    Bu tür nöronların düzeni, katman başına bir tane ve daha fazla değil oluşur ve sinapslarla birbirlerine bağlanamazlar. Bu tür nöronların çıktı katmanına yerleştirilmesi tavsiye edilmez.

    Ne için gerekliler? İstenen noktanın ulaşılamayacak olması nedeniyle sinir ağının doğru çözümü bulamadığı durumlar vardır. Bu nedenle, tanım alanını değiştirebilmek için bu tür nöronlara ihtiyaç vardır.

    Yani, sinapsın ağırlığı fonksiyon grafiğinin eğrisini değiştirirken, yer değiştirme nöronu X koordinat ekseni boyunca kaymanıza izin verir, böylece sinir ağı kendisine erişilemeyen alanı kayma olmadan yakalayabilir. Bu durumda, kaydırma hem sağa hem de sola yapılabilir. Şematik olarak, kaydırma nöronları genellikle işaretlenmez, giriş değeri hesaplanırken ağırlıkları varsayılan olarak dikkate alınır.

    Ayrıca bias nöronları, diğer tüm nöronların çıkış parametresi olarak 0 verdiği durumda bir sonuç almanızı sağlayacaktır. Bu durumda sinapsın ağırlığı ne olursa olsun bu değer bir sonraki katmana iletilecektir.

    Bias nöronunun varlığı durumu düzeltecek ve farklı bir sonuç elde edecektir. Önyargı nöronlarını kullanmanın fizibilitesi, ağı onlar ile ve onlar olmadan test ederek ve sonuçları karşılaştırarak belirlenir.

    Ancak sonuçlara ulaşmak için bir sinir ağı oluşturmanın yeterli olmadığını hatırlamak önemlidir. Ayrıca özel yaklaşımlar gerektiren ve kendi algoritmaları olan eğitilmesi gerekiyor. Uygulanması belirli bilgi ve çaba gerektirdiğinden, bu sürece pek basit denemez.

    Malzemenin değerlendirilmesine yapay sinir sistemi kavramının tanıtımı ve tanımı ile başlayalım.

    Temel olarak birbirine paralel bağlı basit veri işleme öğelerini kullanan bir analog bilgi işlem kompleksi olarak düşünülebilir. Veri işleme öğeleri, girdi verileri üzerinde çok basit mantıksal veya aritmetik işlemler gerçekleştirir. Bir yapay sinir sisteminin işleyişinin temeli, ağırlık katsayılarının böyle bir sistemin her bir elemanı ile ilişkilendirilmiş olmasıdır. Bu ağırlıklar, sistemde depolanan bilgileri temsil eder.

    Tipik bir yapay nöronun şeması

    Bir nöronun birçok girdisi olabilir ancak yalnızca bir çıktısı olabilir. İnsan beyni yaklaşık olarak nöron içerir ve her nöronun diğerleriyle binlerce bağlantısı olabilir. Nöronun giriş sinyalleri, ağırlık katsayılarıyla çarpılır ve nöronun toplam girişini elde etmek için eklenir - BEN:

    Pirinç. 1.Tipik yapay nöron

    Nöronun çıktısını girdilerine bağlayan işleve aktivasyon işlevi denir. Sigmoid fonksiyon şeklindedir. θ . Nöronun yanıtının resmileştirilmesi, çok küçük ve çok büyük giriş sinyalleri alındığında orijinal sinyalin sınırlardan birine gönderilmesidir. Ek olarak, her nöronla bir eşik değeri ilişkilendirilir - θ , çıkış sinyalini hesaplama formülünde toplam giriş sinyalinden çıkarılır. Sonuç olarak, bir nöronun çıktısı O, genellikle aşağıdaki gibi tanımlanır:

    Geri yayılımlı ağ yapısı " alt="Geri yayılımlı ağ yapısı" width="450" height="370">!}

    Pirinç. 2. Geri yayılımlı ağ

    Geri yayılım ağı, kural olarak, üç bölüme ayrılmıştır, ancak ek bölümler de oluşturulabilir. Giriş ve çıkış segmentleri arasında yer alan segmentler (segment), gizli segmentler olarak adlandırılır, çünkü dış dünya görsel olarak sadece giriş ve çıkış segmentlerini algılar. Mantıksal bir XOR işleminin değerini değerlendiren bir ağ, yalnızca girdilerinin tamamının doğru değerler olmadığı veya girdilerinin tamamının hatalı değerler olmadığı durumlarda çıktıda gerçek bir değer üretir. Gizli sektördeki düğüm sayısı, projenin amacına göre değişebilir.

    Sinir ağlarının özellikleri

    Sinir ağlarının, kelimenin olağan anlamıyla programlama gerektirmediğine dikkat edilmelidir. Sinir ağlarını eğitmek için, geri yayılım ve geri yayılım gibi özel sinir ağı eğitim algoritmaları kullanılır. Programcı, girdiler ve karşılık gelen çıktılar vererek ağı "programlar". Ağ, nöronlar arasındaki sinaptik bağlantıların ağırlıklarını otomatik olarak ayarlayarak öğrenir.

    Ağırlık katsayıları, nöronların eşik değerleri ile birlikte, verilerin ağ üzerinden dağılımının doğasını belirler ve böylece eğitim sürecinde kullanılan verilere doğru yanıtı belirler. Doğru yanıtları almak için ağı eğitmek uzun zaman alabilir. Ne kadarı, ağ eğitimi sırasında kaç görüntünün öğrenilmesi gerektiğine ve ayrıca kullanılan donanım ve yardımcı yazılımın özelliklerine bağlıdır. Ancak eğitim tamamlandıktan sonra ağ yüksek hızda yanıt verebilir.

    kendi yolunda yapay sinir sistemi mimarisi diğer bilgisayar sistemlerinden farklıdır. Klasik bir bilgi sisteminde, ayrık bilgileri bellek elemanları ile bağlama olasılığı gerçekleştirilir. Örneğin, tipik olarak, bir bilgi sistemi, belirli bir nesne hakkındaki verileri bir bitişik bellek öğeleri grubunda depolar. Bu nedenle, verilere erişme ve verileri işleme yeteneği, bir nesnenin nitelikleri ile bunların kaydedildiği bellek hücrelerinin adresleri arasında bire bir ilişki oluşturarak elde edilir.

    Bu tür sistemlerin aksine, yapay sinir sistemi modelleri, bilginin beyinde ağırlık katsayıları kullanılarak temsil edildiği modern beyin işleyişi teorileri temelinde geliştirilir. Aynı zamanda, ağırlık katsayısının belirli bir değeri ile saklanan bilginin belirli bir öğesi arasında doğrudan bir ilişki yoktur.

    Böyle dağıtılmış bir bilgi sunumu, hologramlarda kullanılan görüntüleri saklama ve sunma teknolojisine benzer. Bu teknolojiye göre, hologramın çizgileri kırınım ızgaraları gibi davranır. Onların yardımıyla, lazer ışınından geçerken depolanan görüntü yeniden üretilir, ancak verilerin kendisi doğrudan yoruma tabi tutulmaz.


    Sorunu çözmenin bir yolu olarak sinir ağı

    Sinir ağı büyük miktarda ampirik veri olduğunda sorunu çözmek için kabul edilebilir bir araç olarak işlev görür, ancak gereken hızda yeterince doğru bir çözüm sağlayabilecek bir algoritma yoktur. Bu bağlamda yapay sinir sistemi veri sunum teknolojisinin diğer bilgi teknolojilerine göre önemli avantajları bulunmaktadır. Bunlar avantajlar aşağıdaki gibi formüle edilebilir:

    1. Sinir ağı belleği hataya dayanıklıdır. Sinir ağının tek tek parçalarını kaldırırken, yalnızca bilgi kalitesinde bir azalma meydana gelir, korunur, ancak tamamen kaybolmaz. Bunun nedeni, bilgilerin dağıtılmış bir biçimde saklanmasıdır.
    2. Azalmaya tabi olan bir sinir ağındaki bilginin kalitesi, ağın kaldırılan kısmıyla orantılı olarak kademeli olarak düşer. Feci bir bilgi kaybı yok.
    3. Bir sinir ağındaki veriler, ilişkisel bellek kullanılarak doğal olarak depolanır. İlişkisel bellek, tüm bilgileri tamamen geri yüklemek için kısmen temsil edilen verileri aramanın yeterli olduğu bir bellektir. Bu, ilgili bellek öğelerinin tam adresini belirterek verilerin elde edildiği ilişkisel bellek ile geleneksel bellek arasındaki farktır.
    4. içlerinde depolanan bilgilere dayanarak ekstrapolasyon ve enterpolasyon yapmanıza izin verir. Yani eğitim, ağa verilerdeki önemli özellikleri veya ilişkileri arama yeteneği vermenizi sağlar. Ağ daha sonra aldığı yeni verilerdeki ilişkileri tahmin edebilir ve tanımlayabilir. Örneğin, bir deneyde, varsayımsal bir örnek üzerinde bir sinir ağı eğitildi. Eğitim tamamlandıktan sonra ağ, eğitilmeyen soruları doğru yanıtlama becerisi kazandı.
    5. Sinir ağları plastiktir. Belirli sayıda nöronu çıkardıktan sonra bile, ağ birincil düzeyine yeniden eğitilebilir (tabii ki, içinde yeterli nöron kalmışsa). Bu özellik aynı zamanda, bireysel bölümlerin zarar görebileceği, ancak zamanla eğitim yardımıyla birincil beceri ve bilgi düzeyine ulaşıldığı insan beyninin bir özelliğidir.

    Bu özellikleri sayesinde yapay sinir sistemleri kullanım için oldukça cazip hale gelmektedir. robotik uzay aracı, petrol endüstrisi ekipmanı, denizaltılar, proses kontrolleri ve diğer teknik cihazlar elverişsiz bir ortamda tamir edilmeden uzun süre çalışması gereken. Yapay sinir sistemleri sadece güvenilirlik problemini çözmekle kalmaz, aynı zamanda plastisiteleri sayesinde işletme maliyetlerini düşürme fırsatı da sağlar.

    Bununla birlikte, genel olarak, yapay sinir sistemleri, karmaşık matematiksel hesaplamalar gerektiren veya optimal bir çözüm arayışı gerektiren uygulamalar oluşturmak için pek uygun değildir. Ayrıca benzer problemleri çözmek için pratik uygulama nedeniyle zaten olumlu bir sonuç sağlamış bir algoritmik çözüm varsa yapay sinir sistemi kullanımı en iyi seçenek olmayacaktır.