Sinir ağı tanımı. Basit kelimelerle sinir ağı nedir? Sinir ağlarının geleceği

  • 31.10.2019

Yapay zeka ve sinir ağları konuları şu anda her zamankinden daha popüler hale geliyor. Birçok kullanıcı, sinir ağlarının nasıl çalıştığı, ne oldukları ve çalışma prensibinin ne olduğu hakkında sorularla giderek daha fazla bize yöneliyor.

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, bu sorular popülerliklerinin yanı sıra önemli ölçüde karmaşıklığa da sahiptir.

Sinir ağları nelerdir ve çeşitleri nelerdir?

İlgilenenlerin aklına gelen 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.

Sinir ağı yapısına sahip bir program, makinenin giriş verilerini analiz etmesine ve belirli kaynaklardan elde edilen sonucu hatırlamasına olanak tanır. Daha sonra böyle bir yaklaşım, eğer ağ döngüleri deneyiminde zaten mevcutsa, mevcut veri setine karşılık gelen sonucun bellekten alınmasını mümkün kılar.

Birçok kişi sinir ağını insan beyninin bir benzeri olarak algılar. Bu yargı bir yandan gerçeğe yakın sayılabilir ama diğer yandan insan beyni, onu bir makine yardımıyla saniyenin küçüğü kadar bile yeniden yaratamayacak kadar karmaşık bir mekanizmadır. yüzde. Sinir ağı, her şeyden önce beyin prensibine dayanan bir programdır, ancak hiçbir şekilde onun benzeri değildir.

Sinir ağı, her biri bilgiyi alan, işleyen ve başka bir nörona ileten bir grup nörondan oluşur. Her nöron sinyali tamamen aynı şekilde işler.

O zaman nasıl farklı sonuçlar elde edersiniz? Her şey nöronları birbirine bağlayan sinapslarla ilgilidir. Bir nöron, sinyali güçlendiren veya zayıflatan çok sayıda sinapsa sahip olabilir ve bunların özelliklerini zamanla değiştirme yeteneği vardır.

Çıkışta giriş verilerinin dönüştürülmesinin doğru sonucunun elde edilmesini mümkün kılan, sinapsların doğru seçilmiş parametreleridir.

Bir sinir ağının ne olduğunu genel anlamda tanımladıktan sonra, bunların ana sınıflandırma türlerini tanımlayabiliriz. Sınıflandırmaya geçmeden önce bir açıklama yapmak gerekiyor. Her ağ, giriş katmanı adı verilen bir birinci nöron katmanına sahiptir.

Herhangi bir hesaplama veya dönüştürme yapmaz; görevi tek bir şeydir: giriş sinyallerini alıp diğer nöronlara dağıtmak. Bu, tüm sinir ağları türlerinde ortak olan tek katmandır; bunların ilerideki yapıları ana bölümün kriteridir.

  • Tek katmanlı sinir ağı. Bu, giriş verilerinin ilk giriş katmanına girdikten sonra nihai sonucun hemen çıkış katmanına aktarıldığı, nöronların etkileşimi için bir yapıdır. Bu durumda, ilk giriş katmanı, alım ve dağıtım dışında herhangi bir işlem yapmadığından yukarıda bahsedildiği gibi dikkate alınmaz. İkinci katman ise gerekli tüm hesaplamaları ve işlemleri gerçekleştirerek anında nihai sonucu üretir. Giriş nöronları, farklı ağırlık katsayılarına sahip sinapslarla ana katmanla birleşerek bağlantıların kalitesini sağlar.
  • Çok katmanlı sinir ağı. Tanımdan da anlaşılacağı üzere bu tip sinir ağlarında giriş ve çıkış katmanlarının yanı sıra ara katmanlar da bulunmaktadır. Bunların sayısı ağın karmaşıklığına bağlıdır. Biyolojik sinir ağının yapısına daha çok benziyor. Bu tür ağlar oldukça yakın zamanda geliştirildi, ondan önce tüm süreçler tek katmanlı ağlar kullanılarak uygulanıyordu. Buna göre böyle bir çözüm atasına göre çok daha fazla olasılığa sahiptir. Bilgi işleme sürecinde her ara katman, bilgi işleme ve dağıtımının bir ara aşamasını temsil eder.

Bir nörondan diğerine sinapslar boyunca bilgi dağılımının yönüne bağlı olarak ağlar iki kategoriye ayrılabilir.

  • Doğrudan yayılma ağları veya tek yönlü, yani sinyalin kesinlikle giriş katmanından çıkış katmanına doğru hareket ettiği bir yapı. Ters yönde sinyal hareketi mümkün değildir. Bu tür gelişmeler oldukça yaygın ve şu anda tanınma, tahmin etme veya kümelenme gibi sorunları başarıyla çözüyor.
  • Geri bildirimli veya tekrarlayan ağlar. Bu tür ağlar, sinyalin yalnızca ileri yönde değil aynı zamanda ters yönde de hareket etmesine olanak tanır. Bu ne veriyor? Bu tür ağlarda, çıkışın sonucu buna dayanarak girişe döndürülebilir, nöronun çıkışı ağırlıklar ve giriş sinyalleriyle belirlenir ve tekrar girişe döndürülen önceki çıkışlarla tamamlanır. Bu tür ağlar, işleme sırasında sinyallerin geri yüklendiği ve tamamlandığı kısa süreli hafızanın işlevi ile karakterize edilir.

Ağları sınıflandırmak için tek seçenek bunlar değildir.

Ağı oluşturan nöron türlerine göre homojen ve hibrit olarak ayrılabilirler. Ayrıca ağ eğitim yöntemine bağlı olarak, öğretmenli veya öğretmensiz, heteroassosiyatif veya otoassosiyatif. 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, normal bir bilgisayar programı en basit sorunları çözmek için uygundur, daha fazlası
Basit tahmin veya denklemlerin yaklaşık çözümünü gerektiren karmaşık problemlerde istatistiksel yöntemleri kullanan programlar kullanılır.

Ancak daha da karmaşık düzeydeki görevler tamamen farklı bir yaklaşım gerektirir. Bu özellikle model tanıma, konuşma tanıma veya karmaşık tahmin için geçerlidir. Kişinin kafasında bu tür süreçler bilinçsizce 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ında değildir ve dolayısıyla onu kontrol edemez.

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

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

  • tanınma ve bu yön şu anda en geniş olanıdır;
  • bir sonraki adımı öngören bu özellik, alım satım ve borsalarda geçerli;
  • Giriş verilerinin parametrelere göre sınıflandırılması; bu işlev, farklı parametrelerden oluşan bir giriş kümesine dayanarak bir kişiye kredinin onaylanması konusunda karar verebilen kredi robotları tarafından gerçekleştirilir.

Sinir ağlarının yetenekleri onları çok popüler kılıyor. Onlara oyun oynamak, belli bir sesi tanımak gibi pek çok şey öğretilebilir. Yapay ağların biyolojik ağlar prensibi üzerine kurulduğu gerçeğinden hareketle, kişinin bilinçsizce gerçekleştirdiği tüm süreçler onlara öğretilebilmektedir.

Nöron ve sinaps nedir?

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

Ağda üç tür nöron bulunur: giriş, gizli ve çıkış. Üstelik ağ tek katmanlıysa gizli nöronlar içermiyor demektir. Ek olarak yer değiştirme nöronları ve bağlam nöronları adı verilen çeşitli birimler de vardır.

Her nöronun iki tür verisi vardır: giriş ve çıkış. Bu durumda birinci katmanın giriş verileri çıkış verilerine eşittir. Diğer durumlarda, nöron girişi önceki katmanların toplam bilgisini alır, daha sonra bir normalizasyon sürecinden geçer, yani istenen aralığın dışında kalan tüm değerler aktivasyon fonksiyonu tarafından dönüştürülür.

Yukarıda bahsedildiği gibi sinaps, her biri kendi ağırlık derecesine sahip olan nöronlar arasındaki bağlantıdır. Bu özellik sayesinde giriş bilgilerinin iletim işlemi sırasında değişmesi sağlanır. İşleme sırasında sinapsın büyük bir ağırlığa sahip olarak aktardığı bilgi baskın olacaktır.

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

Bu durumda ağırlıklar rastgele sırayla ayarlanır.

Bir sinir ağının çalışma şeması

Bir sinir ağının çalışma prensibini hayal etmek için özel bir beceri gerekmez. Nöronların giriş katmanı belirli bilgileri alır. Sinapslar aracılığıyla bir sonraki katmana iletilir; her sinapsın kendi ağırlık katsayısı vardır ve sonraki her nöronun birden fazla gelen sinapsı olabilir.

Sonuç olarak, bir sonraki nöronun aldığı bilgi, her biri kendi ağırlık katsayısıyla çarpılan tüm verilerin toplamıdır. Ortaya çıkan değer, aktivasyon fonksiyonuna yerleştirilir ve nihai çıktıya ulaşana kadar iletilecek olan çıktı bilgisi elde edilir. Ağ henüz eğitilmediği için ağın ilk başlatılması doğru sonuçları vermez.

Aktivasyon fonksiyonu giriş verilerini normalleştirmek için kullanılır. Bu tür pek çok işlev vardır, ancak en yaygın olarak kullanılan birkaç ana işlev vardır. Temel farkları, çalıştıkları değer aralığıdır.

  • Mümkün olanların 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-× formuna sahiptir; Üstelik değerlerinin aralığı 0'dan 1'e kadardır. Buna lojistik fonksiyon da denir.
  • Negatif değerleri kapsamak için hiperbolik tanjant kullanılır. F(x) = e²× - 1 / e²× + 1 - bu fonksiyonun şeklidir ve sahip olduğu aralık -1 ile 1 arasındadır. Sinir ağı negatif değerlerin kullanımını sağlamıyorsa, o zaman kullanılmamalı.

Ağa çalışacağı veriyi verebilmek için eğitim setlerine ihtiyaç vardır.

Entegrasyon her eğitim seti ile artan bir ölçümdür.

Dönem, bir sinir ağının eğitiminin bir göstergesidir; bu gösterge, ağın tam bir eğitim seti setinden oluşan bir döngüden geçtiği her defasında artar.

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

Hatalar eğitim sırasında tespit edilecektir. Bu, elde edilen ile istenen sonuç arasındaki yüzde farktır. Epoch göstergesi arttıkça bu göstergenin azalması gerekir, aksi takdirde bir yerde geliştirici hatası vardır.

Önyargı nöronu nedir ve ne içindir?

Sinir ağlarında başka bir tür nöron daha vardır; yer değiştirme nöronu. Giriş ve çıkışının her durumda bire eşit olması nedeniyle ana nöron türlerinden farklıdır. Üstelik bu tür nöronların giriş sinapsları yoktur.

Bu tür nöronların düzeni katman başına bir tane olur ve daha fazla olmaz ve birbirleriyle sinaps yapamazlar. Bu tür nöronların çıktı katmanına yerleştirilmesi önerilmez.

Bunlara ne için ihtiyaç var? İstenilen noktanın ulaşılamayacak olması nedeniyle sinir ağının doğru çözümü bulamadığı durumlar vardır. Tanım alanını değiştirebilmek için bu tür nöronlara ihtiyaç duyulmasının nedeni tam olarak budur.

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

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

Bir yer değiştirme nöronunun varlığı, durumu düzeltmenize ve farklı bir sonuç almanıza olanak sağlayacaktır. Yer değiştirme nöronlarını kullanmanın fizibilitesi, ağın bunlarla birlikte ve bunlar olmadan test edilmesi ve sonuçların karşılaştırılması yoluyla belirlenir.

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

Yapay sinir ağlarına dayanan akıllı sistemler, örüntü tanıma, tahmin yapma, optimizasyon, ilişkisel hafıza ve kontrol sorunlarını başarıyla çözebilmektedir.

17.04.1997 Jianchang Mao, Enil Jane

Yapay sinir ağlarına dayanan akıllı sistemler, örüntü tanıma, tahmin yapma, optimizasyon, ilişkisel hafıza ve kontrol sorunlarını başarıyla çözebilmektedir. Bu sorunların çözümüne yönelik daha geleneksel yaklaşımlar da mevcut ancak sınırlı koşullar dışında gerekli esnekliğe sahip değiller. YSA'lar umut verici alternatif çözümler sunmakta ve birçok uygulama bunların kullanımından faydalanmaktadır.

Akıllı sistemlere dayalı yapay sinir ağları(YSA), örüntü tanıma, tahmin yapma, optimizasyon, ilişkisel hafıza ve kontrol problemlerini başarıyla çözmeyi mümkün kılar. Bu sorunların çözümüne yönelik daha geleneksel yaklaşımlar da mevcut ancak sınırlı koşullar dışında gerekli esnekliğe sahip değiller. YSA'lar umut verici alternatif çözümler sunmakta ve birçok uygulama bunların kullanımından faydalanmaktadır. Bu makale YSA'ların modern sorunlarına bir giriş niteliğindedir ve hızlı gelişimlerinin nedenlerine ilişkin bir tartışma içermektedir. Biyolojik bir nöronun temel çalışma prensipleri ve yapay hesaplama modeli de burada açıklanmaktadır. Sinir ağı mimarileri ve YSA eğitim süreçleri hakkında birkaç söz söylenecektir. Makale, YSA'nın en başarılı uygulaması olan metin tanıma sorununa bir giriş ile sona ermektedir.

Uzun bir evrim süreci, insan beynine hem von Neumann mimarisine sahip makinelerde hem de modern paralel bilgisayarlarda bulunmayan birçok nitelik kazandırmıştır. Bunlar şunları içerir:

  • büyük paralellik;
  • bilgi ve hesaplamaların dağıtılmış gösterimi;
  • öğrenme yeteneği ve genelleme yeteneği;
  • uyarlanabilirlik;
  • bağlamsal bilgi işlemenin özelliği;
  • hatalara tolerans;
  • Düşük güç tüketimi.

Biyolojik nöronlarla aynı prensipler üzerine inşa edilen cihazların listelenen özelliklere sahip olacağı varsayılabilir.

Biyolojik ağlardan YSA'ya

Modern dijital bilgisayarlar, sayısal ve sembolik hesaplamalar yapma becerilerinde insanları geride bırakıyor. Bununla birlikte, bir kişi, dış verileri algılamaya ilişkin karmaşık sorunları (örneğin, kalabalıktaki bir kişiyi yalnızca parlayan yüzünden tanımak) o kadar hızlı ve doğru bir şekilde zahmetsizce çözebilir ki, dünyadaki en güçlü bilgisayar, kıyaslandığında umutsuzca geri zekalı görünebilir. Performanslarındaki bu kadar önemli bir farkın nedeni nedir? Biyolojik sinir sisteminin mimarisi, von Neumann makinesinin mimarisinden tamamen farklıdır (Tablo 1), her model tarafından daha verimli bir şekilde gerçekleştirilen fonksiyon türlerini önemli ölçüde etkiler.

Tablo 1. Biyolojik sinir sistemiyle karşılaştırıldığında Von Neumann makinesi

von Neumann makinesi Biyolojik sinir sistemi
İşlemci Zor Basit
Yüksek hız Düşük hız
Bir veya daha fazla Çok sayıda
Hafıza İşlemciden ayrılmış İşlemciye entegre
Yerelleştirilmiş Dağıtılmış
İçeriğe dayalı olmayan adresleme İçeriğe göre adresleme
Hesaplamalar Merkezileştirilmiş Dağıtılmış
Ardışık Paralel
Saklanan programlar Bireysel çalışma
Güvenilirlik Yüksek güvenlik açığı Canlılık
Uzmanlık Sayısal ve sembolik işlemler Algı sorunları
Çalışma ortamı Kesinlikle tanımlanmış Kötü tanımlanmış
Kesinlikle sınırlı Limit yok

Biyolojik sinir sistemi gibi YSA da çok sayıda bağlantıya sahip, paralel çalışan basit işlemcilerden oluşan bir bilgi işlem sistemidir. YSA modelleri bir dereceye kadar insan beyninin doğasında bulunan “organizasyonel” ilkeleri yeniden üretir. YSA kullanılarak biyolojik bir sinir sisteminin modellenmesi, biyolojik fonksiyonların daha iyi anlaşılmasına da katkıda bulunabilir. VLSI (ultra yüksek düzeyde entegrasyon) ve optik donanım gibi üretim teknolojileri bu tür simülasyonları mümkün kılar.

YSA'nın derinlemesine incelenmesi, nörofizyoloji, bilişsel bilim, psikoloji, fizik (istatistiksel mekanik), kontrol teorisi, hesaplama teorisi, yapay zeka problemleri, istatistik/matematik, örüntü tanıma, bilgisayarlı görme, paralel hesaplama ve donanım (dijital/ analog/VLSI/optik). Öte yandan, YSA'lar aynı zamanda bu disiplinlere yeni araçlar ve anlayışlar sağlayarak da teşvik etmektedir. Bu simbiyoz, sinir ağı araştırmaları için hayati öneme sahiptir.

YSA bağlamında çözülebilecek, bilim adamlarının ve mühendislerin ilgisini çeken bazı problemleri sunalım.

Görüntülerin sınıflandırılması. Görev, bir özellik vektörü tarafından temsil edilen bir giriş görüntüsünün (örneğin, bir konuşma sinyali veya el yazısı karakteri) bir veya daha fazla önceden tanımlanmış sınıfa üyeliğini belirtmektir. Önemli uygulamalar arasında harf tanıma, konuşma tanıma, elektrokardiyogram sinyal sınıflandırması ve kan hücresi sınıflandırması yer alır.

Kümeleme/kategorizasyon. Denetimsiz görüntü sınıflandırma olarak da bilinen kümeleme problemini çözerken sınıf etiketlerinin bulunduğu bir eğitim seti yoktur. Kümeleme algoritması görüntü benzerliğine dayanır ve benzer görüntüleri tek bir kümeye yerleştirir. Bilgiyi çıkarmak, verileri sıkıştırmak ve veri özelliklerini incelemek için kümelemenin kullanıldığı bilinen durumlar vardır.

Fonksiyon yaklaşımı. Bilinmeyen bir fonksiyon tarafından üretilen ((x 1 ,y 1 ), (x 2 ,y 2 )..., (x n ,y n )) (giriş-çıkış veri çiftleri) eğitim örneğinin olduğunu varsayalım. (x) gürültü nedeniyle bozulmuş. Yaklaştırma problemi, bilinmeyen fonksiyon (x) için bir tahmin bulmaktır. Fonksiyon yaklaşımı çok sayıda mühendislik ve bilimsel modelleme probleminin çözümünde gereklidir.

Tahmin/tahmin. t 1 , t 2 ,..., tn zamanının ardışık anlarında n ayrık örnek (y(t 1 ), y(t 2 )..., y(t n )) verilsin. Görev, y(t n+1 )'in gelecekteki bir t n+1 zamanındaki değerini tahmin etmektir. Tahmin/tahmin iş, bilim ve teknolojide karar verme üzerinde önemli bir etkiye sahiptir. Borsa fiyatlarını tahmin etmek ve hava tahmini, tahmin/tahmin tekniklerinin tipik uygulamalarıdır.

Optimizasyon. Matematik, istatistik, mühendislik, fen bilimleri, tıp ve ekonomideki çok sayıda problem optimizasyon problemi olarak kabul edilebilir. Optimizasyon algoritmasının görevi, kısıtlama sistemini karşılayan ve amaç fonksiyonunu maksimuma çıkaran veya minimuma indiren bir çözüm bulmaktır. NP-complete sınıfına ait olan gezici satıcı problemi, optimizasyon probleminin klasik bir örneğidir.

İçerik adreslenebilir hafıza. Von Neumann bilgi işlem modelinde belleğe yalnızca belleğin içeriğinden bağımsız bir adres aracılığıyla erişilir. Üstelik adres hesaplamasında hata yapılırsa tamamen farklı bilgiler bulunabilmektedir. İlişkisel hafıza veya içerik adreslenebilir hafızaya belirli içerik tarafından erişilir. Bellek içerikleri kısmi giriş veya bozuk içerikle bile geri çağrılabilir. İlişkisel hafıza, multimedya bilgi veritabanları oluşturulurken son derece arzu edilir.

Kontrol.(u(t), y(t)) kümesiyle tanımlanan dinamik bir sistemi düşünün; burada u(t) giriş kontrol eylemidir ve y(t), sistemin t zamanındaki çıkışıdır. Referans modelli kontrol sistemlerinde kontrolün amacı, giriş eylemi u(t)'yi, sistemin referans model tarafından belirlenen istenen yolu takip edeceği şekilde hesaplamaktır. Bir örnek, optimum motor kontrolüdür.

Kısa tarihsel bakış

YSA alanındaki araştırmalar üç dönem yoğunlaşma yaşamıştır. 40'lı yıllardaki ilk zirve McCulloch ve Pitts'in öncü çalışmalarından kaynaklanmaktadır. İkincisi, Rosenblatt'ın algılayıcı yakınsama teoremi ve en basit algılayıcının sınırlı yeteneklerini gösteren Minsky ve Papert'in çalışmaları sayesinde 60'larda ortaya çıktı. Minsky ve Papert'in sonuçları çoğu araştırmacının, özellikle de bilgisayar bilimi alanında çalışanların heyecanını söndürdü. Sinir ağı araştırmalarındaki durgunluk neredeyse 20 yıl sürdü. 1980'lerin başlarından bu yana YSA'lar, ilk olarak Verbos tarafından önerilen ve birkaç başka yazar tarafından bağımsız olarak geliştirilen Hopfield enerji yaklaşımı ve çok katmanlı algılayıcı eğitimi (çok katmanlı ileri beslemeli ağlar) için geri yayılım algoritması nedeniyle araştırmacıların yeniden ilgisini çekmiştir. Algoritma 1986 yılında Rumelhart sayesinde meşhur oldu. Anderson ve Rosenfeld, YSA'nın gelişimi hakkında ayrıntılı bir tarihsel arka plan hazırladılar.

Biyolojik sinir ağları

Bir nöron (sinir hücresi), bilgiyi işleyen özel bir biyolojik hücredir (Şekil 1). Bir hücre gövdesi veya somadan ve iki tür dış ağaç benzeri daldan oluşur: akson ve dendritler. Hücre gövdesi, kalıtsal özellikler hakkında bilgi içeren bir çekirdek (çekirdek) ve nöron için gerekli malzemeleri üretecek moleküler araçlara sahip olan plazmayı içerir. Bir nöron, dendritler (alıcılar) aracılığıyla diğer nöronlardan sinyalleri (impulsları) alır ve hücre gövdesi tarafından üretilen sinyalleri, sonunda liflere (ipliklere) ayrılan bir akson (verici) boyunca iletir. Bu liflerin uçlarında sinapslar bulunur.

Pirinç. 1.

Sinaps, iki nöron (bir nöronun akson lifi ve diğerinin dendrit) arasındaki temel bir yapı ve işlevsel birimdir. Bir dürtü sinaptik terminale ulaştığında, nörotransmitter adı verilen bazı kimyasallar salınır. Nörotransmiterler sinaptik yarık boyunca yayılır, sinaps tipine bağlı olarak alıcı nöronun elektriksel uyarı üretme yeteneğini uyarır veya inhibe eder. Bir sinapsın performansı, içinden geçen sinyallere göre ayarlanabilir, böylece sinapslar, katıldıkları süreçlerin faaliyetlerine bağlı olarak öğrenebilirler. Arka plana olan bu bağımlılık, muhtemelen insan hafızasından sorumlu olan hafıza görevi görür.

İnsan serebral korteksi, standart bir klavyenin yüzey alanının iki katı olan yaklaşık 2200 cm2 alana sahip, 2 ila 3 mm kalınlığında nöronlardan oluşan geniş bir yüzeydir. Serebral korteks yaklaşık 1011 nöron içerir, bu da yaklaşık olarak Samanyolu'ndaki yıldız sayısına eşittir. Her bir nöron diğer 103 ila 104 nörona bağlıdır. Genel olarak insan beyni yaklaşık 1014 ila 1015 bağlantı içerir.

Nöronlar, genellikle birkaç milisaniye süren kısa bir dizi uyarı yoluyla iletişim kurar. Mesaj darbe frekans modülasyonu kullanılarak iletilir. Frekans birkaç hertzden yüzlerce hertz'e kadar değişebilir; bu, en hızlı anahtarlamalı elektronik devrelerden milyon kat daha yavaştır. Bununla birlikte kişi, yüz tanıma gibi bilgilerin algılanması konusunda birkaç yüz ms içinde karmaşık kararlar verir. Bu kararlar, yalnızca birkaç milisaniyelik hıza sahip bir nöron ağı tarafından kontrol ediliyor. Bu, hesaplamanın ardışık 100'den fazla aşama gerektirmediği anlamına gelir. Başka bir deyişle, bu tür karmaşık görevler için beyin, yaklaşık 100 adımdan oluşan paralel programları "çalıştırır". Buna yüz adım kuralı denir. Benzer şekilde akıl yürüterek, bir nörondan diğerine gönderilen bilgi miktarının çok küçük (birkaç bit) olması gerektiği bulunabilir. Buradan ana bilginin doğrudan iletilmediği, nöronlar arasındaki bağlantılarda yakalanıp dağıtıldığı sonucu çıkar. Bu, YSA'lara uygulanan bağlantıcı model adını açıklar.

Temel konseptler

Teknik nöron modeli

McCulloch ve Pitts, yapay bir nöron için model olarak ikili eşik öğesinin kullanılmasını önerdiler. Bu matematiksel nöron, n adet giriş sinyali xj, j = 1, 2...n'nin ağırlıklı toplamını hesaplar ve bu toplam belirli bir u eşiğini aşarsa 1 değerinde, aksi takdirde 0 değerinde bir çıkış sinyali üretir.

u'yu sabit giriş x 0 = 1 ile ilişkili bir ağırlıklandırma katsayısı olarak düşünmek genellikle uygundur. Pozitif ağırlıklar uyarıcı bağlantılara karşılık gelir ve negatif ağırlıklar engelleyici bağlantılara karşılık gelir. McCulloch ve Pitts, uygun şekilde seçilmiş ağırlıklarla bu türden paralel nöronlardan oluşan bir topluluğun evrensel hesaplamalar gerçekleştirebildiğini gösterdi. Burada biyolojik bir nöronla belli bir benzetme var: Sinyal iletimi ve bağlantıları aksonlar ve dendritler tarafından taklit ediliyor, bağlantı ağırlıkları sinapslara karşılık geliyor ve eşik fonksiyonu somanın aktivitesini yansıtıyor.

Sinir ağı mimarisi

Bir YSA, yapay nöronların düğüm olduğu, ağırlıklı bağlantılara sahip yönlendirilmiş bir grafik olarak düşünülebilir. Bağlantı mimarisine bağlı olarak YSA'lar iki sınıfa ayrılabilir (Şekil 2): ​​grafiklerin döngü içermediği ileri beslemeli ağlar ve tekrarlayan ağlar veya geri besleme bağlantılı ağlar.

Pirinç. 2.

Çok katmanlı algılayıcılar olarak adlandırılan birinci sınıf ağların en yaygın ailesinde, nöronlar katmanlar halinde düzenlenir ve katmanlar arasında tek yönlü bağlantılara sahiptir. İncirde. Şekil 2 her sınıfın tipik ağlarını göstermektedir. İleri beslemeli ağlar, belirli bir girdi için ağın önceki durumundan bağımsız bir dizi çıktı değeri üretmeleri anlamında statiktir. Tekrarlayan ağlar dinamiktir, çünkü geri bildirim nedeniyle nöronların girdileri değiştirilir ve bu da ağın durumunda bir değişikliğe yol açar.

Eğitim

Öğrenme yeteneği beynin temel bir özelliğidir. Bir YSA bağlamında öğrenme süreci, belirli bir görevi verimli bir şekilde gerçekleştirmek için ağ mimarisinin ve bağlantı ağırlıklarının ayarlanması olarak görülebilir. Tipik olarak bir sinir ağının, mevcut eğitim setine göre bağlantı ağırlıklarını ayarlaması gerekir. Ağırlıklar tekrarlanarak ayarlandığında ağ performansı artar. Ağların örneklerden öğrenme yeteneği, onları uzmanlar tarafından formüle edilen belirli bir işletim kuralları sistemini takip eden sistemlere kıyasla daha çekici kılmaktadır.

Öğrenme sürecini tasarlamak için öncelikle sinir ağının çalıştığı dış ortamın bir modeline sahip olmak, yani ağın kullanabileceği bilgileri bilmek gerekir. Bu model öğrenme paradigmasını tanımlar. İkinci olarak, ağın ağırlık parametrelerinin nasıl değiştirileceğini, yani ayarlama sürecini hangi öğrenme kurallarının yönettiğini anlamak gerekir. Öğrenme algoritması, ağırlıkları ayarlamak için öğrenme kurallarını kullanan bir prosedür anlamına gelir.

Üç öğrenme paradigması vardır: “öğretmenli”, “öğretmensiz” (kendi kendine öğrenme) ve karma. İlk durumda, sinir ağı her giriş örneği için doğru yanıtlara (ağ çıktıları) sahiptir. Ağırlıklar, ağın bilinen doğru cevaplara mümkün olduğunca yakın cevaplar üretmesini sağlayacak şekilde ayarlanır. Denetimli öğrenmenin gelişmiş versiyonu, sinir ağı çıktısının doğruluğunun yalnızca kritik bir tahmininin bilindiğini, ancak doğru çıktı değerlerinin kendisinin bilinmediğini varsayar. Denetimsiz öğrenme, eğitim örneğinin her örneğine doğru yanıtların bilinmesini gerektirmez. Bu, dahili veri yapısını veya veri sistemindeki modeller arasındaki korelasyonları ortaya çıkararak örneklerin kategorize edilmesine olanak tanır. Harmanlanmış öğrenmede ağırlıkların bir kısmı denetimli öğrenme yoluyla belirlenirken geri kalanı kendi kendine öğrenme yoluyla elde edilir.

Öğrenme teorisi, örneklerden öğrenmeyle ilişkili üç temel özelliği dikkate alır: kapasite, örnek karmaşıklığı ve hesaplama karmaşıklığı. Kapasite, ağın kaç örneği hatırlayabildiğini ve üzerinde hangi fonksiyonların ve karar sınırlarının oluşturulabileceğini ifade eder. Örnek karmaşıklığı, ağın genelleştirme yeteneğini elde etmek için gereken eğitim örneklerinin sayısını belirler. Çok az sayıda örnek, ağın "aşırı eğitilmesine" neden olabilir; bu durumda, eğitim setindeki örneklerde iyi performans gösterirken, aynı istatistiksel dağılıma tabi olan test örneklerinde kötü performans gösterir. 4 ana öğrenme kuralı türü vardır: hata düzeltme, Boltzmann makinesi, Hebb kuralı ve rekabetçi öğrenme.

Hata düzeltme kuralı. Denetimli öğrenmede her giriş örneğine istenen bir çıktı verilir d. Gerçek ağ çıkışı y istenen çıktıyla örtüşmeyebilir. Eğitim sırasında hata düzeltme ilkesi, ağırlıkları değiştirmek için (d-y) sinyalini kullanarak hatanın kademeli olarak azaltılmasını sağlamaktır. Öğrenme yalnızca algılayıcı bir hata yaptığında gerçekleşir. Bu öğrenme algoritmasının çeşitli modifikasyonları bilinmektedir.

Boltzmann'ın eğitimi. Bilgi teorik ve termodinamik ilkelerinden kaynaklanan stokastik bir öğrenme kuralını temsil eder. Boltzmann eğitiminin amacı, görünür nöronların durumları istenen olasılık dağılımını sağlayacak şekilde ağırlıkları ayarlamaktır. Boltzmann öğrenmesi, hatanın iki moddaki durum korelasyonlarının farklılığı olarak anlaşıldığı özel bir hata düzeltme durumu olarak düşünülebilir.

Hebb'in kuralı. En eski öğrenme kuralı Hebbian öğrenme önermesidir. Hebb şu nörofizyolojik gözlemlere dayanıyordu: Bir sinapsın her iki tarafındaki nöronlar aynı anda ve düzenli olarak ateşlenirse, sinaptik bağlantının gücü artar. Bu kuralın önemli bir özelliği, sinaptik ağırlıktaki değişimin yalnızca belirli bir sinapsla bağlanan nöronların aktivitesine bağlı olmasıdır. Bu, VLSI uygulamalarında öğrenme zincirlerini büyük ölçüde basitleştirir.

Rekabet yoluyla eğitim. Pek çok çıktı nöronunun aynı anda ateşlenebildiği Hebbian öğrenmenin aksine, rekabetçi öğrenmede çıktı nöronları ateşlenmek için birbirleriyle rekabet eder. Bu olguya kazanan her şeyi alır kuralı olarak bilinir. Benzer öğrenme biyolojik sinir ağlarında da gerçekleşir. Rekabet yoluyla öğrenme, girdi verilerinin kümelenmesine olanak tanır: benzer örnekler ağ tarafından korelasyonlara göre gruplandırılır ve tek bir öğe olarak temsil edilir.

Eğitim sırasında yalnızca “kazanan” nöronun ağırlıkları değiştirilir. Bu kuralın etkisi, ağda depolanan örneğin (kazanan nöronun bağlantı ağırlıklarının vektörü) değiştirilmesiyle elde edilir ve burada giriş örneğine biraz daha yakın hale gelir. İncirde. Şekil 3, yarışma yöntemini kullanan antrenmanın geometrik bir resmini vermektedir. Giriş vektörleri normalleştirilir ve bir kürenin yüzeyindeki noktalarla temsil edilir. Üç nöronun ağırlık vektörleri rastgele değerlerle başlatılır. Eğitimden sonraki başlangıç ​​ve son değerleri Şekil 2'de X ile işaretlenmiştir. sırasıyla 3a ve 3b. Üç örnek grubunun her biri, ağırlık vektörü tespit edilen grubun ağırlık merkezine ayarlanan çıkış nöronlarından biri tarafından tespit edilir.

Pirinç. 3.

Öğrenme oranı parametresi 0 olmadığı sürece ağın öğrenmeyi asla durdurmadığı gözlemlenebilir. Bazı giriş örnekleri, öğrenme sürecindeki sonraki yinelemelerde başka bir çıkış nöronunu etkinleştirebilir. Bu durum eğitim sisteminin sürdürülebilirliği sorusunu gündeme getirmektedir. Eğitim örneğindeki örneklerden hiçbiri, eğitim sürecinin sınırlı sayıda yinelemesinden sonra kategori üyeliğini değiştirmiyorsa sistem kararlı kabul edilir. Kararlılığa ulaşmanın bir yolu, öğrenme hızı parametresini kademeli olarak 0'a düşürmektir. Ancak öğrenmenin bu yapay olarak engellenmesi, esneklik adı verilen ve yeni verilere uyum sağlama yeteneğiyle ilgili başka bir soruna neden olur. Rekabetçi öğrenmenin bu özellikleri Grossberg kararlılık-esneklik ikilemi olarak bilinir.

Tablo 2'de çeşitli öğrenme algoritmaları ve bunlarla ilişkili ağ mimarileri sunulmaktadır (liste kapsamlı değildir). Son sütun, her algoritmanın uygulanabileceği görevleri listeler. Her öğrenme algoritması belirli bir mimariye sahip bir ağa odaklanır ve sınırlı bir görev sınıfına yöneliktir. Tartışılanlara ek olarak başka algoritmalardan da bahsetmek gerekir: Adaline ve Madaline, doğrusal diskriminant analizi, Sammon projeksiyonları, temel bileşen analizi.

Tablo 2.Bilinen öğrenme algoritmaları

Paradigma Öğrenme Kuralı Mimari Öğrenme algoritması Görev
Öğretmenle Hata düzeltme Tek katmanlı ve çok katmanlı algılayıcı Perceptron eğitim algoritmaları
Geri yayılım
Adaline ve Madaline
Görüntülerin sınıflandırılması
Fonksiyon yaklaşımı
Tahmin, kontrol
Boltzmann Tekrarlayan Boltzmann öğrenme algoritması Görüntülerin sınıflandırılması
Hebb Doğrusal diskriminant analizi Veri analizi
Görüntülerin sınıflandırılması
Yarışma Yarışma Vektör nicemleme Bir sınıf içinde sınıflandırma Veri sıkıştırma
SANAT Ağı ARTM Haritası Görüntülerin sınıflandırılması
Öğretmen olmadan Hata düzeltme Çok katmanlı doğrudan yayılma Sammon'un projeksiyonu Bir sınıf içinde sınıflandırma Veri analizi
Hebb Doğrudan dağıtım veya rekabet Temel bileşenler Analizi Veri analizi
Veri sıkıştırma
Hopfield ağı İlişkisel hafıza eğitimi İlişkisel hafıza
Yarışma Yarışma Vektör nicemleme Kategorizasyon
Veri sıkıştırma
SOM Kohonen SOM Kohonen Kategorizasyon
Veri analizi
SANAT ağları ART1, ART2 Kategorizasyon
Karışık Hata düzeltme ve rekabet RBF ağı RBF öğrenme algoritması Görüntülerin sınıflandırılması
Fonksiyon yaklaşımı
Tahmin, kontrol

Çok katmanlı ileri beslemeli ağlar

Standart bir L-katmanlı ileri beslemeli ağ, bir giriş düğümleri katmanından (bağımsız bir katman olarak ağa dahil edilmediği ifadesine bağlı kalacağız), (L-1) gizli katmanlardan ve sırayla bağlanan bir çıkış katmanından oluşur. ileri yöndedir ve bir katman içindeki öğeler arasındaki bağlantıları ve katmanlar arasında geri bildirimi içermez. İncirde. Şekil 4, üç katmanlı bir ağın yapısını göstermektedir.

Pirinç. 4.

Çok Katmanlı Algılayıcı

Çok katmanlı ileri beslemeli ağların en popüler sınıfı, her hesaplama elemanının bir eşik veya sigmoid aktivasyon fonksiyonu kullandığı çok katmanlı algılayıcılardan oluşur. Çok katmanlı bir algılayıcı, keyfi olarak karmaşık karar sınırları oluşturabilir ve keyfi Boole fonksiyonlarını uygulayabilir. Çok katmanlı bir algılayıcıdaki ağırlıkların belirlenmesi için bir geri yayılım algoritmasının geliştirilmesi, bu ağları araştırmacılar ve sinir ağı kullanıcıları arasında en popüler hale getirmiştir. Geometrik yorum, gizli katmanların elemanlarının rolünü açıklar (bir eşik aktivasyon fonksiyonu kullanılır).

RBF ağları

Radyal tabanlı fonksiyon ağları (RBF ağları), iki katmanlı ileri beslemeli ağın özel bir durumudur. Gizli katmanın her elemanı, aktivasyon fonksiyonu olarak Gauss tipi radyal temel fonksiyonunu kullanır. Radyal temel fonksiyon (çekirdek fonksiyonu), nöronla ilişkili ağırlık vektörü tarafından belirlenen bir noktada ortalanır. Çekirdek fonksiyonunun hem konumu hem de genişliği seçici örneklerden eğitilmelidir. Tipik olarak eğitim örneklerinden çok daha az çekirdek vardır. Her çıkış elemanı bu radyal temel fonksiyonların doğrusal bir kombinasyonunu hesaplar. Yaklaşım problemi açısından bakıldığında, gizli öğeler, üzerine inşa edilen uzayda girdi örneklerini temsil etmek için temel bir sistem oluşturan bir dizi fonksiyon oluşturur.

RBF ağlarını eğitmek için çeşitli algoritmalar vardır. Ana algoritma, iki adımlı bir öğrenme stratejisi veya harmanlanmış öğrenme kullanır. Denetimsiz bir kümeleme algoritması kullanarak çekirdek konumunu ve genişliğini tahmin eder, ardından gizli ve çıkış katmanları arasındaki bağlantıların ağırlıklarını belirlemek için denetimli bir ortalama kare hata minimizasyon algoritması gelir. Çıkış elemanları doğrusal olduğundan yinelemeli olmayan bir algoritma kullanılır. Bu ilk tahmin elde edildikten sonra ağ parametrelerini iyileştirmek için gradyan iniş kullanılır.

Bu karma RBF ağ eğitim algoritması, çok katmanlı algılayıcıları eğitmek için geri yayılım algoritmasından çok daha hızlı yakınsar. Ancak bir RBF ağı genellikle çok fazla gizli öğe içerir. Bu, bir RBF ağının çok katmanlı bir algılayıcıya göre daha yavaş çalışmasını gerektirir. Bir RBF ağının ve çok katmanlı bir algılayıcının verimliliği (ağ boyutunun bir fonksiyonu olarak hata), çözülen soruna bağlıdır.

Çözülmemiş sorunlar

İleri beslemeli ağları tasarlarken birçok tartışmalı konu vardır; örneğin, belirli bir görev için kaç katmana ihtiyaç duyulduğu, her katmanda kaç öğenin seçilmesi gerektiği, ağın eğitim setinde yer almayan verilere nasıl yanıt vereceği (ne kadar genelleme yapılacağı) ağın yeteneği) ve ağın "iyi" genelleme yeteneğini elde etmek için hangi boyutta eğitim setinin gerekli olduğu.

Çok katmanlı ileri beslemeli ağlar, fonksiyon sınıflandırması ve yaklaşımı için yaygın olarak kullanılmasına rağmen, birçok parametrenin hala deneme yanılma yoluyla belirlenmesi gerekmektedir. Mevcut teorik sonuçlar, pratik uygulamalarda bu parametrelerin seçimi için yalnızca zayıf yönergeler sağlar.

Kendi kendini organize eden Kohonen haritaları

Kendi kendini organize eden Kohonen haritaları(SOM), yüksek düzeyde organize olmuş hayvanların serebral korteksindeki özellik haritalarının önemli bir yönünü yeniden üreten topoloji koruma gibi avantajlı bir özelliğe sahiptir. Topolojiyi koruyan bir haritalamada, yakın giriş örnekleri yakındaki çıkış elemanlarını harekete geçirir. İncirde. Şekil 2, Kohonen'in SOM ağının temel mimarisini göstermektedir. Temel olarak, her bir elemanın tüm n giriş düğümleriyle ilişkili olduğu iki boyutlu bir eleman dizisidir.

Böyle bir ağ, her çıktı elemanı için mekansal bir komşuluğun belirlendiği rekabetçi bir öğrenme ağının özel bir durumudur. Yerel mahalle kare, dikdörtgen veya daire olabilir. Başlangıçtaki komşuluk boyutu genellikle ağın boyutunun 1/2 ila 2/3'ü kadar ayarlanır ve belirli bir yasaya göre küçülür (örneğin, üstel azalma). Eğitim sırasında kazanan ve komşularıyla ilişkili tüm ağırlıklar değiştirilir.

Kendi kendini organize eden Kohonen haritaları (ağlar), yüksek boyutlu veri tasarımı, yoğunluk tahmini ve kümeleme için kullanılabilir. Bu ağ, konuşma tanıma, görüntü işleme, robotik ve kontrol görevleri için başarıyla kullanılmıştır. Ağ parametreleri, nöron dizisinin boyutunu, her boyuttaki nöron sayısını, komşuluğun şeklini, komşuluk sıkıştırma yasasını ve öğrenme oranını içerir.

Uyarlanabilir rezonans teorisinin modelleri

Stabilite-plastisite ikileminin rekabetçi öğrenmenin önemli bir özelliği olduğunu hatırlayalım. Yeni olgular (plastisite) nasıl öğretilir ve aynı zamanda mevcut bilginin silinmemesi veya yok edilmemesi için istikrar nasıl korunur?

Uyarlanabilir rezonans teorisi modellerini (ART1, ART2 ve ARTMAP) geliştiren Carpenter ve Grossberg, bu ikilemi çözmeye çalıştı. Ağın yeterli sayıda çıktı elemanı vardır ancak ihtiyaç ortaya çıkana kadar kullanılmazlar. Bir öğe kullanılıyorsa (kullanılmıyorsa) tahsis edildiğini (tahsis edilmediğini) söyleyeceğiz. Öğrenme algoritması, mevcut kategori prototipini yalnızca giriş vektörü ona yeterince benzerse düzeltir. Bu durumda yankılanırlar. Benzerlik derecesi benzerlik parametresi k, 0 tarafından kontrol edilir

Modeli açıklamak için ikili (0/1) giriş için tasarlanmış ART1 ağını düşünün. ART1 mimarisinin basitleştirilmiş bir diyagramı Şekil 2'de gösterilmektedir. 5. Tam bağlantıları olan iki öğe katmanı içerir.

Pirinç. 5.

Yukarıdan aşağıya ağırlık vektörü wj, giriş katmanı elemanı j'ye karşılık gelir ve aşağıdan yukarıya ağırlık vektörü i, çıkış elemanı i ile ilişkilidir; i, w i'nin normalleştirilmiş versiyonudur. Kümelerin prototiplerini depolayan vektörler. Normalleştirmenin rolü, uzun uzunluklu vektörlerin kısa uzunluklu vektörlere üstün gelmesini önlemektir. Sıfırlama sinyali R yalnızca benzerlik belirli bir seviyenin altında olduğunda üretilir.

ART1 modeli, ağ kapasitesine ulaştığında yeni kategoriler oluşturabilir ve giriş örneklerini atabilir. Ancak ağ tarafından tespit edilen kategori sayısı benzerlik parametresine duyarlıdır.

Hopfield ağı

Hopfield, enerji fonksiyonunu tekrarlayan ağlar oluşturmak ve dinamiklerini anlamak için bir araç olarak kullandı. Hopfield'ın resmileştirmesi, bilginin dinamik olarak kararlı çekiciler olarak depolanması ilkesini açıklığa kavuşturdu ve ilişkisel hafıza ve kombinatoryal optimizasyon problemlerinin çözümü için tekrarlayan ağların kullanımını yaygınlaştırdı.

Ağ durumlarını dinamik olarak değiştirmek en az iki yolla yapılabilir: eşzamanlı ve eşzamansız. İlk durumda, tüm öğeler her zaman adımında eşzamanlı olarak değiştirilir, ikincisinde ise zamanın her anında bir öğe seçilip işlenir. Bu eleman rastgele seçilebilir. Enerji fonksiyonunun ana özelliği, denkleme göre ağ durumlarının gelişimi sırasında azalması ve sabit enerjiyi koruduğu yerel bir minimuma (çekici) ulaşmasıdır.

İlişkisel hafıza

Ağda depolanan modeller çekici ise, ilişkisel hafıza olarak kullanılabilir. Saklanan bir numunenin çekim alanında bulunan herhangi bir örnek, onu geri yüklemek için bir işaretçi olarak kullanılabilir.

İlişkisel bellek tipik olarak iki modda çalışır: depolama ve alma. Depolama modunda, ağdaki bağlantıların ağırlıkları, çekicilerin saklanması gereken bir dizi p n boyutlu numuneyi (x 1, x 2,..., x p) hatırlayacağı şekilde belirlenir. İkinci modda giriş örneği ağın başlangıç ​​durumu olarak kullanılır ve daha sonra ağ kendi dinamiğine göre gelişir. Ağ dengeye ulaştığında çıktı modeli oluşturulur.

N ikili öğeli bir ağda kaç örnek saklanabilir? Başka bir deyişle ağın depolama kapasitesi nedir? Sonludur çünkü n ikili elemanlı bir ağ en fazla 2n farklı duruma sahiptir ve bunların hepsi çekici değildir. Üstelik tüm çekiciler kullanışlı kalıpları depolayamaz. Yanlış çekiciler de örnekleri depolayabilir ancak eğitim seti örneklerinden farklıdırlar. Bir Hopfield ağının saklayabileceği maksimum rastgele örnek sayısının Pmax (0,15 n) olduğu gösterilmiştir. Saklanan örnek sayısı p (0,15 n) olduğunda en başarılı hafıza geri çağırma elde edilir. Saklanan örnekler dik ile temsil edilirse vektörler (rastgele yerine) kullanıldığında, bellekte depolanan örneklerin sayısı artacaktır.p, ağın kapasitesine ulaştığında yanlış çekicilerin sayısı artar.Bir Hopfield ağının bellek kapasitesini arttırmak için çeşitli öğrenme kuralları önerilmiştir.Not bir ağda p n-bit örneklerin saklanması 2n bağlantının uygulanmasını gerektirir.

Enerji minimizasyonu

Hopfield ağı enerjisini azaltma yönünde gelişiyor. Bu, kombinatoryal optimizasyon problemlerinin, enerji minimizasyon problemleri olarak formüle edilebilirlerse çözülmesine olanak tanır. Özellikle gezgin satıcı problemi benzer şekilde formüle edilebilir.

Uygulamalar

Makalenin başında çeşitli YSA uygulamalarının 7 sınıfı anlatılmıştı. Gerçek dünya problemlerini başarılı bir şekilde çözmek için ağ modeli, boyutu, aktivasyon fonksiyonu, eğitim parametreleri ve bir dizi eğitim örneği dahil olmak üzere bir dizi özelliğin tanımlanmasının gerekli olduğu unutulmamalıdır. İleri beslemeli ağların pratik uygulamasını göstermek için, görüntü karakter tanıma problemini (taranmış bir metin görüntüsünün işlenmesi ve onu metin biçimine dönüştürmeyi içeren OCR görevi) düşünün.

OCR sistemi

Bir OCR sistemi tipik olarak ön işleme, segmentasyon, özellik çıkarma, sınıflandırma ve bağlamsal işleme bloklarından oluşur. Kağıt belge taranır ve gri tonlamalı veya ikili (siyah beyaz) bir görüntü oluşturulur. Ön işleme aşamasında, gürültüyü gidermek için filtreleme uygulanır, metin bölgesi lokalize edilir ve global ve yerel uyarlanabilir eşik dönüştürücü kullanılarak ikili görüntüye dönüştürülür. Segmentasyon adımında metin görüntüsü tek tek karakterlere bölünür. Bu görev özellikle bitişik karakterler arasında bağlantılar içeren el yazısı metinler için zordur. Etkili bir teknik, bileşik bir numuneyi küçük numunelere bölmek (ara segmentasyon) ve numune sınıflandırıcının çıktısını kullanarak doğru segmentasyon noktalarını bulmaktır. Değişen eğim, bozulma, gürültü ve yazma stilleri nedeniyle parçalı karakterleri tanımak zordur.

Hesaplama şemaları

İncirde. Şekil 6, OCR sistemlerinde YSA kullanımına yönelik iki ana şemayı sunmaktadır. Birincisi, karakteristik özelliklerin açık bir şekilde çıkarılmasını gerçekleştirir (mutlaka bir sinir ağında olması gerekmez). Örneğin bunlar hileli atlatma işaretleri olabilir. Seçilen özellikler çok katmanlı ileri beslemeli bir ağın girişine beslenir. Bu şema, çok çeşitli özelliklerin kullanımı açısından esnektir. Başka bir şema, özelliklerin kaynak verilerden açık bir şekilde çıkarılmasını sağlamaz. Özellik çıkarımı, YSA'nın gizli katmanlarında örtülü olarak gerçekleşir. Bu şemanın rahatlığı, özellik çıkarımı ve sınıflandırmanın birleştirilmesi ve eğitimin eş zamanlı olarak gerçekleşmesidir; bu da en uygun sınıflandırma sonucunu verir. Ancak şema, ilk duruma göre daha büyük bir ağ boyutu gerektiriyor.

Pirinç. 6.

Böyle bir entegre devrenin tipik bir örneği Kuhn tarafından posta kodu tanıma için değerlendirilmiştir.

sonuçlar

YSA'lar OCR uygulamalarında oldukça etkin bir şekilde kullanılmaktadır. Ancak bunların karşılık gelen istatistiksel sınıflandırıcılara göre üstünlüklerine dair ikna edici bir kanıt yoktur. 1992 yılındaki ilk OCR sistemleri konferansında 40'tan fazla el yazısı tanıma sistemi aynı veriler açısından karşılaştırıldı. Bunlardan ilk 10'da çok katmanlı ileri beslemeli ağın veya en yakın komşu sınıflandırıcının bir çeşidi kullanıldı. YSA'lar, en yakın komşu yöntemiyle karşılaştırıldığında hız ve bellek gereksinimleri açısından daha üstün olma eğilimindedir; bunun aksine, YSA'ları kullanan sınıflandırma hızı, eğitim örneğinin boyutuna bağlı değildir. Önceden bölümlere ayrılmış karakterlerin verilerine dayanan en iyi OCR sistemlerinin tanıma doğruluğu sayılar için yaklaşık %98, büyük harfler için %96 ve küçük harfler için %87 idi. (Küçük harfler için düşük doğruluk, büyük ölçüde test verilerinin eğitim verilerinden önemli ölçüde farklı olmasından kaynaklanmaktadır.) Test verilerine dayanarak, izole edilmiş OCR karakterlerinde sistemin doğruluk açısından bir değere yakın olduğu sonucuna varabiliriz. insan. Ancak insanlar, kısıtlamasız ve el yazısı belgelerde OCR sistemlerinden daha iyi performans gösteriyor.

***

YSA'nın gelişimi çok fazla heyecan ve eleştiriye neden oldu. Bazı karşılaştırmalı çalışmalar iyimser, bazıları ise kötümserdir. Örüntü tanıma gibi birçok görev için henüz baskın bir yaklaşım oluşturulmamıştır. En iyi teknolojinin seçimi sorunun doğasına göre belirlenmelidir. Akıllı sistemlerin daha da geliştirilmesi için çeşitli yaklaşımların yeteneklerini, ön koşullarını ve kapsamını anlamaya çalışmak ve ek avantajlarından maksimum düzeyde yararlanmak gerekir. Bu tür çabalar, acil sorunların çözümünde önemli atılımlar yapmak için YSA'yı diğer teknolojilerle birleştiren sinerjik bir yaklaşıma yol açabilir. Minsky'nin yakın zamanda belirttiği gibi, bireysel bileşenlerin ötesinde sistemler kurmanın zamanı geldi. Bireysel modüller önemlidir ancak aynı zamanda bir entegrasyon metodolojisine de ihtiyacımız var. YSA ve diğer disiplinlerdeki araştırmacıların etkileşimi ve ortak çalışmasının sadece tekrarlardan kaçınmakla kalmayıp, aynı zamanda (daha da önemlisi) bireysel alanların gelişimine yeni nitelikler kazandıracağı ve teşvik edeceği açıktır.

Edebiyat

1. DARPA Sinir Ağı Çalışması, AFCEA Int"l Press, Fairfax, Va., 1988.
2. J. Hertz, A. Krogh ve R.G. Palmer, Nöral Hesaplama Teorisine Giriş, Addison-Wesley, Reading, Mass., 1991.
3. S. Haykin, Sinir Ağları: Kapsamlı Bir Temel, MacMillan College Publishing Co., New York, 1994.
4.W.S. McCulloch ve W. Pitts, "Sinir Aktivitesinde İçkin Olan Fikirlerin Mantıksal Hesabı", Bull. Matematiksel Biyofizik, Cilt. 5, 1943, s. 115-133.
5. R. Rosenblatt, "Nörodinamiğin İlkeleri", Spartan Books, New York, 1962.
6. M. Mitnsky ve S. Papert, "Perceptrons: An Introduction to Computational Geometry", MIT Press, Cambridge, Mass., 1969.
7.J.J. Hopfield, "Gelişen Kolektif Hesaplama Yeteneklerine Sahip Sinir Ağları ve Fiziksel Sistemler", Proc. Ulusal Bilimler Akademisi, ABD 79, 1982, s. 2554-2558.
8. P. Werbos, “Regresyonun Ötesinde: Davranış Bilimlerinde Yeni Tahmin ve Analiz Araçları,” Doktora Tezi, Böl. Uygulamalı Matematik Bölümü, Harvard Üniversitesi, Cambridge, Mass., 1974.
9.D.E. Rumelhart ve J.L. McClelland, Paralel Dağıtılmış İşleme: Bilişin Mikroyapısında Araştırma, MIT Press, Cambridge, Mass., 1986.
10.J.A. Anderson ve E. Rosenfeld, "Nörobilgisayar: Araştırma Vakfı", MIT Press, Cambridge, Mass., 1988.
11. S. Brunak ve B. Lautrup, Sinir Ağları, Sezgiye Sahip Bilgisayarlar, World Scientific, Singapur, 1990.
12. J. Feldman, M.A. Fanty ve N.H. Goddard, "Yapılandırılmış Sinir Ağlarıyla Hesaplama", Bilgisayar, Cilt. 21, Hayır. 3, Mart 1988, s. 91-103.
13. D.O. Hebb, Davranış Organizasyonu, John Wiley & Sons, New York, 1949.
14. R.P. Lippmann, "Sinir Ağlarıyla Hesaplamaya Giriş", IEEE ASSP Dergisi, Cilt.4, Sayı.2, Nisan. 1987, s. 4-22.
15.AK Jain ve J. Mao, "Sinir Ağları ve Örüntü Tanıma", Computational Intelligence: Imitating Life, J.M. Zurada, R.J. Marks II ve C.J. Robinson, eds., IEEE Press, Piscataway, N.J., 1994, s. 194-212.
16. T. Kohonen, Kendi Kendini Örgütleme ve İlişkisel Bellek, Üçüncü Baskı, Springer-Verlag, New York, 1989.
17. G. A. Carpenter ve S. Grossberg, Kendi Kendini Düzenleyen Sinir Ağları ile Örüntü Tanıma, MIT Press, Cambridge, Mass., 1991.
18. "İlk Nüfus Sayımı Optik Karakter Tanıma Sistemi Konferansı", R. A. Wilkinson ve diğerleri, eds., . Teknik. Rapor, NISTIR 4912, ABD Departmanı. Commerse, NIST, Gaithersburg, MD, 1992.
19. K. Mohiuddin ve J. Mao, "El Baskılı Karakter Tanıma için Farklı Sınıflandırıcıların Karşılaştırmalı Bir Çalışması", Uygulamada Örüntü Tanıma IV, E.S. Gelsema ve L.N. Kanal, eds., Elsevier Science, Hollanda, 1994, s. 437-448.
20. Y. Le Cun ve diğerleri, "El Yazısı Posta Kodu Tanımaya Uygulanan Geri Yayılım", Neural Computation, Cilt 1, 1989, s. 541-551.
21. M. Minsky, "Mantıksala Karşı Analojik veya Sembolikliğe Karşı Bağlantıcı veya Düzgün Versus Scruffy", AI Magazine, Cilt. 65, Hayır. 2, 1991, s. 34-51.

Anıl K. Jain ([e-posta korumalı]) - Michigan üniversitesi; Jianchang Mao, KM Moiuddin - Almaden'deki IBM Araştırma Merkezi.

Anıl K., Jain, Jianchang Mao, K.M. Mohiuddin. Yapay Sinir Ağları: Bir ÖğreticiIEEEBilgisayar, Cilt.29, Sayı.3, Mart/1996, s. 31-44.IEEE Bilgisayar Topluluğu. Her hakkı saklıdır. İzin alınarak yeniden basılmıştır.



Yapay sinir sistemi kavramını tanıtıp tanımlayarak materyali değerlendirmeye başlayalım.

çoğunlukla birbirine paralel olarak bağlanan basit veri işleme elemanlarını kullanan analog bir bilgi işlem sistemi olarak düşünülebilir. Veri işleme elemanları, 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şkilendirilmesidir. Bu ağırlıklar sistemde saklanan bilgileri temsil eder.

Tipik bir yapay nöronun diyagramı

Bir nöronun birçok girişi olabilir ancak yalnızca bir çıkışı olabilir. İnsan beyni yaklaşık olarak nöron içerir ve her bir nöronun diğerleriyle binlerce bağlantısı olabilir. Nöronun giriş sinyalleri ağırlıklandırma katsayılarıyla çarpılır ve nöronun toplam girişini elde etmek için toplanır - BEN:
Pirinç. 1. Tipik yapay nöron Bir nöronun çıkışını girişlerine bağlayan fonksiyona aktivasyon fonksiyonu denir. Sigmoid fonksiyon formuna sahiptir θ . Nöron yanıtının formalizasyonu, çok küçük ve çok büyük giriş sinyallerinin alınması üzerine orijinal sinyalin sınırlardan birine gönderilmesidir. Ayrıca her nöron bir eşik değeriyle ilişkilendirilir. θ çıkış sinyalini hesaplama formülünde toplam giriş sinyalinden çıkarılır. Sonuç olarak, bir nöronun çıkış sinyali - O genellikle şu şekilde tanımlanır: Geri yayılım ağ yapısı" src="https://libtime.ru/uploads/images/00/00/01/2014/06/27/set -s- obratnym-rasprostraneniyem.png" alt="Geri yayılım ağ yapısı" width="450" height="370"> Рис. 2. Сеть с обратным распространением !} 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ış bölümleri arasında yer alan bölümlere (bölümlere), dış dünya tarafından görsel olarak yalnızca giriş ve çıkış bölümleri algılandığından gizli bölümler adı verilir. XOR mantıksal işleminin değerini değerlendiren bir ağ, yalnızca tüm girişleri doğru olmadığında veya tüm girişleri yanlış olmadığında doğru bir çıkış üretir. Gizli sektördeki düğüm sayısı projenin amacına bağlı olarak değişebilir.

Sinir ağlarının özellikleri

Sinir ağlarının, kelimenin genel anlamıyla programlama gerektirmediğine dikkat edilmelidir. Sinir ağlarını eğitmek için karşı yayılım ve geri yayılım gibi özel sinir ağı eğitim algoritmaları kullanılır. Programcı, girişleri ve karşılık gelen çıkışları belirleyerek 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ğerleriyle 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. Ağı doğru cevapları alacak şekilde eğitmek 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 destekleyici yazılımın yeteneklerine bağlıdır. Ancak eğitim tamamlandıktan sonra ağ, yüksek hızda yanıt verebilmektedir. Kendi yolunda mimari yapay sinir sistemi Diğer bilgisayar sistemlerinden farklıdır. Klasik bir bilgi sisteminde, ayrık bilgileri bellek elemanlarıyla bağlama yeteneği gerçekleştirilir. Örneğin, genellikle bir bilgi sistemi belirli bir nesne hakkındaki verileri bir grup bitişik bellek elemanında saklar. Sonuç olarak verilere erişme ve bunları işleme yeteneği, bir nesnenin nitelikleri ile bunların depolandığı bellek hücrelerinin adresleri arasında bire bir ilişki oluşturularak elde edilir. Bu tür sistemlerin aksine, yapay sinir sistemi modelleri, bilginin beyinde ağırlıklar kullanılarak temsil edildiği modern beyin işleyişi teorilerine dayanarak geliştirilmektedir. Bununla birlikte, belirli bir ağırlık katsayısı değeri ile belirli bir depolanmış bilgi unsuru arasında doğrudan bir korelasyon yoktur. Bilginin bu dağıtılmış temsili, hologramlarda kullanılan görüntü depolama ve sunum teknolojisine benzer. Bu teknolojiye göre hologramın çizgileri kırınım ızgaraları gibi davranıyor. Onların yardımıyla, bir lazer ışını geçtiğinde depolanan görüntü yeniden üretilir, ancak verilerin kendisi doğrudan yorumlanmaz.
Bir sorunu çözme aracı olarak sinir ağı. Sinir ağı Büyük miktarda ampirik veri olduğunda, bir sorunu çözmek için kabul edilebilir bir araç görevi görür, ancak gerekli hızda yeterince doğru bir çözüm sağlayabilecek bir algoritma yoktur. Bu bağlamda yapay sinir sisteminden veri sunma 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 ayrı bölümleri kaldırıldığında, yalnızca bilginin kalitesinde bir azalma meydana gelir; bilgi korunur, ancak tamamen ortadan kalkmaz. Bunun nedeni bilgilerin dağıtılmış bir biçimde saklanmasıdır.
  2. Azaltma işlemine tabi tutulan sinir ağındaki bilginin kalitesi, ağın kaldırılan kısmıyla orantılı olarak giderek azalır. Felaket niteliğinde bir bilgi kaybı yoktur.
  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 sunulan verileri aramanın yeterli olduğu bir bellektir. Bu, ilgili bellek elemanlarının tam adresinin belirtilmesiyle verilerin elde edildiği ilişkisel bellek ile sıradan bellek arasındaki farktır.
  4. içlerinde saklanan bilgilere dayanarak ekstrapolasyon ve enterpolasyon yapmanıza olanak tanır. Yani eğitim, ağa, verilerdeki önemli özellikleri veya ilişkileri arama yeteneği vermenizi sağlar. Ağ daha sonra aldığı yeni verilerdeki bağlantıları tahmin edebilir ve tanımlayabilir. Örneğin, bir deneyde, varsayımsal bir örnek kullanılarak bir sinir ağı eğitildi. Eğitimin tamamlanmasının ardından ağ, herhangi bir eğitim verilmeyen soruları doğru cevaplama becerisini kazandı.
  5. Sinir ağları plastiktir. Belirli sayıda nöron çıkarıldıktan sonra bile ağ, birincil seviyesine yeniden eğitilebilir (tabii ki, içinde yeterli sayıda nöron kalmışsa). Bu özellik aynı zamanda bireysel parçaların hasar görebileceği, ancak zamanla eğitim yardımıyla temel düzeyde beceri ve bilginin elde edildiği insan beyninin de karakteristiğidir.
Bu özellikleri sayesinde yapay sinir sistemleri kullanım açısından oldukça cazip hale gelmektedir. robotik uzay aracı, petrol endüstrisi ekipmanları, su altı araçları, proses kontrol ekipmanları ve diğer teknik cihazlar Olumsuz bir ortamda tamir edilmeden uzun süre çalışması gereken. Yapay sinir sistemleri hem güvenilirlik sorununu çözüyor hem de esneklikleri nedeniyle işletme maliyetlerini düşürme fırsatı sunuyor. Ancak genel olarak yapay sinir sistemleri, karmaşık matematiksel hesaplamalar gerektiren uygulamaların oluşturulması veya optimal çözümün bulunması için pek uygun değildir. Ayrıca benzer problemlerin çözümünde pratik uygulaması nedeniyle hali hazırda olumlu sonuçlar vermiş algoritmik bir çözüm mevcutsa yapay sinir sisteminin kullanılması en iyi seçenek olmayacaktır. İlgili makale:

Bu sefer sinir ağlarını incelemeye karar verdim. 2015 yılının yaz ve sonbahar aylarında bu konuda temel becerileri edinebildim. Temel becerilerden kastettiğim, sıfırdan basit bir sinir ağı oluşturabilirim. Örnekleri GitHub depolarımda bulabilirsiniz. Bu yazımda bazı açıklamalar yapıp çalışmanızda işinize yarayabilecek kaynakları paylaşacağım.

Adım 1. Nöronlar ve ileri besleme yöntemi

Peki “sinir ağı” nedir? Bunu bekleyelim ve önce bir nöronla ilgilenelim.

Bir nöron bir fonksiyona benzer: girdi olarak birkaç değer alır ve bir değer döndürür.

Aşağıdaki daire yapay bir nöronu temsil ediyor. 5 alır ve 1 değerini döndürür. Giriş, nörona bağlı üç sinapsın toplamıdır (soldaki üç ok).

Resmin sol tarafında 2 giriş değeri (yeşil) ve bir ofset (kahverengi) görüyoruz.

Giriş verileri iki farklı özelliğin sayısal temsilleri olabilir. Örneğin spam filtresi oluştururken birden fazla BÜYÜK HARFLE yazılmış kelimenin varlığı ve "Viagra" kelimesinin varlığı anlamına gelebilir.

Giriş değerleri "ağırlıklar" olarak adlandırılan 7 ve 3 (mavi renkle vurgulanmıştır) ile çarpılır.

Şimdi elde edilen değerleri ofsetle ekliyoruz ve bizim durumumuzda 5 (kırmızıyla vurgulanmış) bir sayı elde ediyoruz. Bu yapay nöronumuzun girdisidir.

Daha sonra nöron bazı hesaplamalar yapar ve bir çıktı değeri üretir. 1 tane aldık çünkü sigmoidin 5. noktadaki yuvarlanmış değeri 1'dir (bu fonksiyon hakkında daha sonra daha detaylı konuşacağız).

Eğer bu bir spam filtresi olsaydı, çıktı 1'in olması, metnin nöron tarafından spam olarak işaretlendiği anlamına gelirdi.

Wikipedia'dan bir sinir ağının çizimi.

Bu nöronları birleştirirseniz, doğrudan yayılan bir sinir ağı elde edersiniz; süreç, soldaki resimde olduğu gibi, sinapslarla birbirine bağlanan nöronlar aracılığıyla girişten çıkışa doğru gider.

Adım 2. Sigmoid

Welch Labs'ın derslerini izledikten sonra, nasıl çalıştıklarını anlamanıza yardımcı olması için Coursera'nın sinir ağları hakkındaki makine öğrenimi kursunun 4. Haftasına göz atmak iyi bir fikirdir. Kurs matematiğin çok derinlerine iniyor ve Octave'a dayanıyor, ben ise Python'u tercih ediyorum. Bu nedenle alıştırmaları atladım ve gerekli tüm bilgileri videolardan aldım.

Bir sigmoid, değerinizi (yatay eksende) 0'dan 1'e kadar bir aralıkla eşleştirir.

İlk önceliğim, sinir ağlarının birçok yönünde yer aldığı için sigmoidi incelemekti. Yukarıda bahsettiğim kursun üçüncü haftasından beri bu konuda bir şeyler biliyordum, o yüzden videoyu oradan izledim.

Ancak yalnızca videolarla çok uzağa gidemezsiniz. Tam olarak anlaşılabilmesi için kendim kodlamaya karar verdim. Böylece lojistik regresyon algoritmasının (sigmoid kullanan) bir uygulamasını yazmaya başladım.

Bütün bir gün sürdü ve sonuç pek tatmin edici değildi. Ama bunun bir önemi yok çünkü her şeyin nasıl çalıştığını anladım. Kod görülebilir.

Özel bilgi gerektirdiğinden bunu kendiniz yapmanıza gerek yoktur - asıl önemli olan sigmoidin nasıl çalıştığını anlamanızdır.

Adım 3. Geri yayılım yöntemi

Bir sinir ağının girdiden çıktıya kadar nasıl çalıştığını anlamak o kadar da zor değil. Bir sinir ağının veri setlerinden nasıl öğrendiğini anlamak çok daha zordur. Kullandığım prensibe geri yayılım adı veriliyor.

Kısacası: ağın ne kadar yanlış olduğunu tahmin ediyorsunuz ve giriş değerlerinin (ilk resimdeki mavi sayılar) ağırlığını değiştiriyorsunuz.

Süreç baştan sona devam eder, çünkü ağın sonundan başlarız (ağın tahminlerinin gerçeklerden ne kadar saptığını görün) ve girdiye ulaşana kadar yol boyunca ağırlıkları değiştirerek geriye doğru hareket ederiz. Tüm bunları manuel olarak hesaplamak için matematiksel analiz bilgisine ihtiyacınız olacak. Khan Academy iyi matematik dersleri veriyor ama ben üniversitede okudum. Ayrıca tüm matematiği sizin için hesaplayacak kütüphaneleri de kullanamazsınız.

Matt Mazur'un geri yayılım hakkındaki eğitiminden ekran görüntüsü.

Bu yöntemi anlamama yardımcı olan üç kaynak:

İlk iki yazıyı okurken mutlaka kendinizi kodlamalısınız, bunun ileride size faydası olacaktır. Ve genel olarak, uygulamayı ihmal ederseniz sinir ağları tam olarak anlaşılamaz. Üçüncü makale de harika ama bir kitap boyutunda olduğundan daha çok bir ansiklopedi niteliğinde. Sinir ağlarının tüm önemli ilkelerinin ayrıntılı açıklamalarını içerir. Bu makaleler aynı zamanda maliyet fonksiyonu ve gradyan inişi gibi kavramları öğrenmenize de yardımcı olacaktır.

4. Adım. Kendi sinir ağınızı oluşturun

Çeşitli makaleleri ve eğitimleri okudukça, öyle ya da böyle küçük sinir ağları yazacaksınız. Ben tam da bunu yapmanızı öneriyorum çünkü bu çok etkili bir öğretim yöntemidir.

Bir diğer faydalı makale ise şuydu:

Son zamanlarda giderek daha fazla insan sözde sinir ağlarından bahsediyor, bunların yakında robot biliminde, makine mühendisliğinde ve insan faaliyetinin diğer birçok alanında aktif olarak kullanılacağını söylüyorlar, ancak Google gibi arama motoru algoritmaları zaten yavaş yavaş kullanılmaya başlıyor. onları işte kullanın. Bu sinir ağları nedir, nasıl çalışırlar, uygulamaları nelerdir ve bize nasıl faydalı olabilirler?

Sinir ağları nelerdir

Sinir ağları, insanın sinir sistemini taklit etme arzusuna dayanan yapay zeka (AI) oluşturma alanındaki bilimsel araştırma alanlarından biridir. (Sinir sistemi) hataları düzeltme ve kendi kendine öğrenme yeteneği de buna dahildir. Bütün bunlar, biraz kabaca da olsa, insan beyninin işleyişini simüle etmemize olanak sağlamalıdır.

Biyolojik sinir ağları

Ancak yukarıdaki paragraftaki bu tanım tamamen tekniktir; eğer biyoloji dilinde konuşursak, o zaman bir sinir ağı, insanın sinir sistemidir, beynimizdeki nöronlar topluluğudur, sayesinde düşünürüz, belirli kararlar alırız ve algılarız. Dünya etrafımızda.

Biyolojik bir nöron, bir çekirdek, bir vücut ve süreçlerden oluşan ve aynı zamanda binlerce diğer nöronla yakın bağlantısı olan özel bir hücredir. Bu bağlantı sayesinde, elektrokimyasal uyarılar sürekli olarak iletilerek tüm sinir ağını heyecan durumuna veya tam tersine sakin duruma getirir. Örneğin, hoş ve aynı zamanda heyecan verici bir olay (sevilen biriyle tanışmak, bir yarışmayı kazanmak vb.), kafamızda bulunan sinir ağında, uyarılmasına yol açacak bir elektrokimyasal dürtü üretecektir. Sonuç olarak, beynimizdeki sinir ağı, uyarımını vücudumuzun diğer organlarına iletecek ve kalp atış hızının artmasına, gözlerin daha sık yanıp sönmesine vb. yol açacaktır.

Resimde beynin biyolojik sinir ağının oldukça basitleştirilmiş bir modeli görülüyor. Bir nöronun bir hücre gövdesi ve bir çekirdekten oluştuğunu; hücre gövdesinde ise dendrit adı verilen çok sayıda dallanmış lif bulunduğunu görüyoruz. Uzun dendritlere akson denir ve bu şekilde gösterilenden çok daha uzun bir uzunluğa sahiptir, aksonlar aracılığıyla nöronlar arasındaki iletişim gerçekleştirilir, onlar sayesinde kafamızdaki biyolojik sinir ağı çalışır.

Sinir ağlarının tarihi

Bilim ve teknolojide sinir ağlarının gelişiminin tarihi nedir? İlk bilgisayarların veya o günlerdeki adıyla bilgisayarların (elektronik bilgisayarlar) ortaya çıkışıyla ortaya çıkıyor. Böylece, 1940'ların sonlarında, Donald Hebb adında biri, bilgisayarlara, yani bu "proto-bilgisayarlara" eğitim vermenin kurallarını belirleyen bir sinir ağı mekanizması geliştirdi.

Olayların diğer kronolojisi şu şekildeydi:

  • 1954 yılında sinir ağlarının bilgisayar operasyonlarında ilk pratik kullanımı gerçekleşti.
  • 1958'de Frank Rosenblatt bir örüntü tanıma algoritması ve buna matematiksel bir açıklama geliştirdi.
  • 1960'lı yıllarda sinir ağlarının geliştirilmesine olan ilgi, o zamanın zayıf bilgisayar gücü nedeniyle bir miktar azaldı.
  • 1980'lerde ise yeniden canlandı, bu dönemde geri bildirim mekanizmalı bir sistem ortaya çıktı ve kendi kendine öğrenen algoritmalar geliştirildi.
  • 2000 yılına gelindiğinde bilgisayar gücü o kadar büyümüştü ki, geçmişin bilim adamlarının en çılgın hayalleri bile gerçeğe dönüşebiliyordu. Şu anda ses tanıma programları, bilgisayarlı görme ve çok daha fazlası ortaya çıkıyor.

Yapay sinir ağları

Yapay sinir ağları genel olarak kendi kendine öğrenme yeteneğine sahip olan ve performansını kademeli olarak artıran bilgisayar sistemleri olarak anlaşılmaktadır. Sinir ağı yapısının ana unsurları şunlardır:

  • Temel, birbirine bağlı birimler olan yapay nöronlar.
  • Sinaps, nöronlar arasında bilgi göndermek ve almak için kullanılan bir bağlantıdır.
  • Sinyal iletilecek gerçek bilgidir.

Sinir ağlarının uygulanması

Yapay sinir ağlarının kapsamı her geçen yıl genişlemektedir; günümüzde aşağıdaki alanlarda kullanılmaktadır:

  • Bir tür yapay zeka olan makine öğrenimi. Milyonlarca benzer görev örneğini kullanarak yapay zekanın eğitilmesine dayanmaktadır. Günümüzde makine öğrenimi Google, Yandex, Bing ve Baidu arama motorları tarafından aktif olarak uygulanmaktadır. Dolayısıyla, her gün Google'a girdiğimiz milyonlarca arama sorgusuna dayanarak, algoritmaları bize en alakalı sonuçları göstermeyi öğrenir, böylece tam olarak aradığımız şeyi bulabiliriz.
  • Robotikte sinir ağları, robotların demir "beyinleri" için çok sayıda algoritma geliştirmek için kullanılır.
  • Bilgisayar sistemi mimarları paralel hesaplama sorununu çözmek için sinir ağlarını kullanır.
  • Sinir ağlarının yardımıyla matematikçiler çeşitli karmaşık matematik problemlerini çözebilirler.

Sinir Ağı Türleri

Genel olarak, farklı görevler için farklı türde ve türde sinir ağları kullanılır; bunlar arasında:

  • evrişimli sinir ağları,
  • tekrarlayan sinir ağları,
  • Hopfield sinir ağı.

Evrişimsel Sinir Ağları

Evrişimsel ağlar, yapay sinir ağlarının en popüler türlerinden biridir. Böylece görsel örüntü tanıma (video ve görüntüler), öneri sistemleri ve dil işleme konularında etkinliklerini kanıtlamışlardır.

  • Evrişimli sinir ağları iyi ölçeklenir ve herhangi bir yüksek çözünürlükteki görüntü tanıma için kullanılabilir.
  • Bu ağlar 3 boyutlu hacimsel nöronları kullanır. Bir katmanda nöronlar yalnızca alıcı katman adı verilen küçük bir alanla bağlanır.
  • Komşu katmanların nöronları, uzaysal bir lokalizasyon mekanizması aracılığıyla bağlanır. Bu tür katmanların çoğunun çalışması, artan sayıda piksele yanıt veren özel doğrusal olmayan filtrelerle sağlanır.

Tekrarlayan sinir ağları

Tekrarlayan sinir ağları, nöronlar arasındaki bağlantıları gösterge niteliğinde bir döngü oluşturan ağlardır. Aşağıdaki özelliklere sahiptir:

  • Her bağlantının öncelik olarak da bilinen kendi ağırlığı vardır.
  • Düğümler giriş düğümleri ve gizli düğümler olmak üzere iki türe ayrılır.
  • Tekrarlayan bir sinir ağındaki bilgi yalnızca düz bir çizgide, katman katman değil, aynı zamanda nöronların kendi aralarında da iletilir.
  • Tekrarlayan bir sinir ağının önemli bir ayırt edici özelliği, makineye gelişmiş işlem gerektiren belirli veri parçalarının verilebildiği bir "dikkat alanı" olarak adlandırılan varlığıdır.

Metin verilerinin tanınması ve işlenmesinde tekrarlayan sinir ağları kullanılır (Google Translator, Yandex Palekh algoritması ve Apple Siri sesli asistanı bunların temelinde çalışır).

Sinir ağları, video

Ve son olarak sinir ağları hakkında ilginç bir video.