SNN Ağları
İçerik
- SNN ağları nedir, Giriş
- Prensipte Nasıl Çalışırlar
- ANN Vs SNN
- Uygulama alanları
- Sonuç
Giriş
Geleneksel yapay sinir ağları ele alındığında, nöronlara gelen değerler genellikle bir önceki katmandan gelen değerleri, ağırlık çarpımları, bias değerleri ve aktivasyon fonksiyonlarından oluşmaktadır. Günümüzde yaygın olarak kullanılsalar da, bunlar bilgi işleme sürecini simgeler ve genellikle eşik değeri içermezler.
Öte yandan, insan beyni, nöron bazında belirli bir eşik değerini içeren kompleks bir yapıya sahiptir. Yapay sinir ağları, hali hazırda beyin benzeri bir bilgi işleyişe odaklanmasına rağmen, bu nöron bazındaki eşik değerini tam anlamıyla gerçekleştiremezler.
SNN (Spiking neural network) ağları ise bu noktada devreye girerek, beyindeki nöronların doğal davranışını daha etkili bir şekilde taklit etmeye yönelik özgün bir yaklaşım sunar.
SNN ağları Bildiğimiz, geleneksel yapay sinir ağlarından (ANN) daha güçlüdürler. Zira beynin bilgi işleme sürecini yapay sinir ağlarından daha doğru bir şekilde modelleyebilirler. Bir başka deyişle insan benzeri bir zeka oluşturmak için kullanılabilecek potansiyele sahiptir.
Prensipte nasıl çalışırlar?
:Python dilinde kodlama örneği için Colab linki: Yorum satırları beraberinde ağı açıklama çalıştım, meraklıları inceleyebilir.
SNN ağları, girdiye yanıt olarak ateşlenen nöronlardan oluşur. Girdinin gücü, nöronun ateşlenme hızını belirler ve ateşleme şekli bilgiyi kodlamak için kullanılabilir. Biyolojik olarak nörona benzemesine sebep olan kısım budur.
YSA ile SNN ağları arasındaki temel ayrım, bilgi yayma yaklaşımlarında yatmaktadır. YSA’ların aksine SNN’ler, belirli zamanlarda ayrı olaylardan yararlanarak biyolojik sinir ağlarını yakından taklit etmeye çalışır. Giriş uyarı zamanlamalarını (bildiğimiz yapay sinir ağlarında nörona ateşlenen değer, çıktı kavramına karşılık gelir) işleyerek çıkış uyarısı üretir. Bu sebeple SNN ağları ANN’lere kıyasla bu aşama için (ileri yayılım) daha yavaştır.
Kısmen de olsa RNN’lere benzetilebilir. Zira bir önceki döngüde gerçekleşmiş girdileri SNN ağları dikkate alır.
Görselde verilen betimlemeye ek olarak, birçok ateşleme mekanizmaları bulunmaktadır.
Python diline implemente edildiğinde bildiğimiz mimariden tek farkının aktivasyon fonksiyonu yerine “Integrate-and-Fire” metodu olduğu görülebilir. Bu metod, gelen sinirsel girişlerin belirli bir zaman aralığı boyunca toplanması veya bütünleştirilmesi işlemini içerir. Ve bu işlemdeki denkleme “Nöronun membran potansiyeli” denilir.
Nöronun membran potansiyeli, gelen sinirsel girişlerin belirli bir zaman aralığı boyunca toplanması veya bütünleştirilmesi yoluyla artar. Bu bütünleştirme süreci pek sevdiğim, integral işlemini içerir.
Öte yandan forward — ileri yayılım aşamasında ise:
Bu aşamada, her bir adımda, önceki aşamalarda oluşan spike’lar kaydedilir ve bu önceki atımların dikkate alındığı bir şekilde nöronlar ateşlenir. Figür 2'de betimlenen kısım, bu aşamadır.
ANN vs SNN
SNN standart yapay sinir ağlarına göre daha dinamiktir. Bunun nedenlerinden biri; model çalışıyorken dahi eğitilebilir, ve bunun beraberinde konuşma ve dinamik görüntü tanıma gibi dinamik süreçlerle çalışma konusunda üstün başarı gösterir.
Ağı eğitmek için yalnızca çıkış nöronlarını eğitmek yeterlidir. Ek olarak nöronlar sürekli bir değer olmayan impulslar göndereceğinden daha hızlı çalışabilirler (bu aşama ele alındığında);
YSA’lara nispeten daha az nörona sahiptir; SNN’ler, bilginin zamansal halini kullandıkları için bilgi işleme verimliliğini ve gürültü bağışıklığını arttırmıştır. Bu sayede de hatalı veri veya anomalilere karşı dayanıklıdır.
Uygulama alanları & Geleceği
Bazı dikkat çekici çalışmalar, nesne tespiti ve sınıflandırma görevleri için SNN’leri kullanmıştır [1, 2, 3]. Bu çalışmalar, DNN’lerle karşılaştırılabilir sonuçlar gösterirken, hesaplamalar için çok daha az enerji gerektirdiği belirtilmiş.
Robotikte ise, desen üretme ve motor kontrolünün yanı sıra navigasyon da önemli bir görevdir. Bilinmeyen ortamları keşfeden mobil-otonom robotlar için önemli bir araç olan SLAM sürecinde enerji verimliliği gerekliliği ile birlikte, SNN ağlarının uygun bir çözüm olduğu görülmüştür. [4]
Sonuç
Yakın gelecekte İKA’ların ve hizmet robotlarının, savunma sanayii başta olmak üzere günlük hizmetlerde baskın hale geleceğini öngürürsek, SNN ağları veya gelişecek olan versiyonları günümüz ANN’lerini geride bırakacağı aşikâr.
SNN’lerden daha hızlı ve verimli bir network bulmak için yapılan araştırmalar devam etmektedir. Bu araştırmalardan bazıları, SNN’lerin özelliklerini ANN’lerin özelliklerine birleştirmeye odaklanmaktadır. Örneğin, bazı araştırmacılar SNN’lere ANN’lerin öğrenme özelliklerini eklemeye çalışmaktadır. Diğer araştırmacılar ise SNN’lerin daha hızlı çalışmasını sağlamak için yeni teknikler geliştirmektedir.
Referanslar
1. Orchard G., Jayawant A., Cohen G.K., Thakor N. Converting static image datasets to spiking neuromorphic datasets using saccades. Front. Neurosci. 2015;9:437. doi: 10.3389/fnins.2015.00437. [PMC free article] [PubMed] [CrossRef] [Google Scholar]
2. Kheradpisheh S.R., Ganjtabesh M., Thorpe S.J., Masquelier T. STDP-based spiking deep convolutional neural networks for object recognition. Neural Netw. 2018;99:56–67. doi: 10.1016/j.neunet.2017.12.005. [PubMed] [CrossRef] [Google Scholar]
3. Kim S., Park S., Na B., Yoon S. Spiking-YOLO: Spiking Neural Network for Energy-Efficient Object Detection. arXiv. 2019 doi: 10.1609/aaai.v34i07.6787.1903.06530 [CrossRef] [Google Scholar]
4. Tang G., Shah A., Michmizos K.P. Spiking Neural Network on Neuromorphic Hardware for Energy-Efficient Unidimensional SLAM. arXiv. 20191903.02504 [Google Scholar]