Nöral Kodlama (Neural Encoding) Nedir?
Bilim insanları, bilginin beyinde nöronların elektriksel aktivitesi ile temsil edildiğini biliyor olsa da, “sinirsel kodlama” adı verilen bu temsilin detayları gizemli kalıyor. Elektrik darbeleri(impulse) tam olarak nasıl düşüncelere ve fikirlere çevrilir?
Standart nöronal ateşleme modelinde, nöronlar iki tür sinir kodu kullanabilir: bilginin yalnızca ortalama ateşleme hızında kodlandığı hız kodları; ve bilgilerin yalnızca ortalama hızda değil, aynı zamanda her darbenin kesin zamanlamasında, milisaniye altı aralığına kadar hassasiyetle kodlandığı zamansal kodlar.
Spiking Neural Networkleri anlattığımız blog yazısında dışarıdan uyarıları aldığımızdan ve alınan uyarıların bir nöronu ateşlemesinden bahsetmiştik. Bu ateşleme işlemi yapılmadan önce alınan uyarıların anlamlı sinyallere dönüştürülmesi gerekiyor. İşte tam bu noktada Neural Encoding devreye girmekte.
SNN’lerde Kodlama
SNN’lerdeki iletişim problemi şu şekilde çözülmelidir :
Önce analog bir fonksiyon spike serilerine dönüştürülür, bu işleme kodlama (encoding) adı verilir.
Daha sonra spike serilerini tekrar analog bir fonksiyona dönüştürme işlemi gerçekleştirilir, bu işleme kod çözme (decoding) adı verilir.
Kodlama bölümünün amacı, girdi uyaranlarını gösteren spike kalıpları yaratmaktır.
Analog’tan Dijital’e Değişim
Kodlama işleminde kullanılan farklı teknikler mevcuttur. Biz bu yazımızda bazı temel kullanılan encoding tekniklerden bahsedeceğiz.
Bunlar sırasıyla:
- Rate Encoding
- Temporal Encoding
- Population Encoding
- Rank Order Encoding
- Ben Spiker Algorithm
olarak bilinmektedirler.
Rate Encoding
Nöronal ateşleme iletişiminin rate kodlama modeli, bir uyaranın yoğunluğu arttıkça, aksiyon potansiyellerinin sıklığı veya hızının veya “spike ateşlemenin” arttığını belirtir. Hız kodlamaya bazen frekans kodlaması denir.
Rate kodlaması ilk olarak 1926'da ED Adrian ve Y Zotterman tarafından tanıtıldı. Bu basit deneyde bir kasa farklı ağırlıklar asıldı. Uyaran ağırlığı arttıkça, kası innerve eden duyu sinirlerinden kaydedilen sivri uç sayısı da arttı. Bu orijinal deneylerden Adrian ve Zotterman, aksiyon potansiyellerinin üniter olaylar olduğu ve bireysel olay büyüklüğünün değil, olayların frekansının çoğu nöronlar arası iletişimin temeli olduğu sonucuna vardılar.
Rate kodlaması, basitçe, belirli bir süre boyunca meydana gelen ani artışların sayısını ölçmektir. Bununla birlikte, basit olmasına rağmen, nöronların uyaranlara nasıl tepki verdiğiyle ilgili karmaşık soruları yanıtlamak için rate kodlaması kullanılabilir.
Bir uyaranın yoğunluğu arttıkça, aksiyon potansiyellerinin sıklığı veya hızının veya “spike ateşlemenin” arttığını belirtir. Rate kodlamasına bazen frekans kodlaması da denir.
Bununla birlikte, bu kodlama tekniği, çeşitli nedenlerden dolayı pek hoş karşılanmamıştır. Özellikle davranışsal deneylere göre, insanın görsel bir uyarana tepki sürelerinin çok kısa olduğu, bunun da yeterli zaman olmadığı için sistemin sadece ortalama atış hızına göre belirlemesini zorlaştırdığı gösterilmiştir.[2]
Kısaca insanın görüp algıladığı bir görseli rate kodlaması ile anlamaya çalıştığımızda belirli bir periyot dinlememiz gerektiğinden bu dinleme süresi yavaşlamamıza sebep oluyor.
- Tüm ağ üzerinde bir bütün olarak spike artışı, entegrasyon süresini yavaşlatır.
Temporal Encoding
Temporal coding, girdi bilgilerini zaman farklılıkları olarak kodlamanın bir yoludur. Temporal coding’in ana prensibi, Rate Coding’ten farklı olarak, bilginin ani artışların sayısının toplamına değil, spike’ların göreli zamanlamasına göre kodlanmasına dayanır. Bu kodlama tekniği latency coding ya da time to first spike coding olarak da bilinir. Spike’lar çok yüksek zamansal hassasiyetle ateşlenir, bu çok hızlı bir bilgi işleme mekanizması sunar. Rate Coding tekniğine göre daha hızlı olmasının sebebi, gelen bilgiyi ani artışların sayısına göre toplamak yerine, sadece bir spike’ın zamanlaması üzerine kurgulamasıdır.
Spike’ların zamanlaması, girdilerin gücüne göre bir miktar gecikmeyle değiştirilir. Bu teknikte SNN’in bilgiyi geçici olarak depolamasından yararlanılır. Daha önemli sinyaller daha az önemli sinyallere göre spike’lar aracılığıyla daha erken iletilirler. Synaptic Propagation Delay bir grafın edge’lerinin ağırlıklarının kodlarken bilgiyi geçici olarak kodlar [2]. Spike’ların zamanlaması, nöronlar arasında bir gecikme meydana getirilmesinden büyük ölçüde etkilenir. Bu yöntem, nöronların birbirine bağlı dendritlerin uzunluğuna bağlı olarak nöronlar arasında değişken bir gecikmeye sahip olan biyolojik networklere bağlıdır. Precise Spike Timing (Hassas Spike Zamanlaması), sinir ağlarındaki bilgileri kodlama aşamasını biyolojik olarak sürdürülen bir yöntemdir. Bu yöntem Frekans tabanlı kodlamaya göre çok daha faydalıdır çünkü bu yöntemde girdi elemanları çok daha kısa bir zaman ölçeğinde işlenir. Bu avantajlardan dolayı, sinir ağlarını hızlandırmak temporal coding şeması kullanan denetimli öğrenme kurallarının geliştirilmesine çok daha fazla odaklanılmıştır.
Population Encoding
Popülasyon encoding, bir dizi nöronun ortak aktivitelerini kullanarak uyaranları temsil etme yöntemidir. Popülasyon kodlamasında, her nöronun bazı girdiler üzerinde bir yanıt dağılımı vardır, ve birçok nöronun tepkileri, girdiler hakkında bir değer belirlemek için birleştirilebilir.
Popülasyon vektörü ne genel ne de optimaldir.
Optimal: Uyaran/tepki dağılımlarındaki tüm bilgileri kullanmak.
Popülasyon kodlamasının sıkıntıları şu kısımlarda devreye giriyor
- Bazı nöronlar diğerlerinden daha iyi ayarlanması durumunda,
- Bazı nöronlar diğerlerinden daha fazla gürültüye sahipse,
- Her nörondan gelen bilginin ölçülüp, nöronların tepkiye olacak olan ağırlıklarının doğru hesaplanması gerekiyor.
Population kodlamanın, nöronal değişkenlik nedeniyle belirsizliğin azaltılması ve aynı anda bir dizi farklı uyaran niteliğini temsil etme yeteneği de dahil olmak üzere bir dizi başka avantajı vardır. Population kodlaması rate kodlamasından çok daha hızlıdır ve uyaran koşullarındaki değişiklikleri neredeyse anında yansıtabilir.[6] Böyle bir popülasyondaki bireysel nöronlar, tipik olarak farklı fakat örtüşen seçiciliklere sahiptir, bu nedenle, hepsi olmasa da birçok nöron belirli bir uyarana yanıt verir.
Örneğin, görsel alanda medial temporal (MT) nöronlar hareket yönüne göre ayarlanmıştır.[7] Belirli bir yönde hareket eden bir nesneye yanıt olarak, MT’deki birçok nöron, popülasyonda gürültüyle bozulmuş ve çan şeklinde bir aktivite modeliyle ateşlenir. Nesnenin hareket yönü, tek bir nöronun sinyalinde var olan dalgalanmadan etkilenmemek için popülasyon aktivitesinden alınır.
Rank Order Encoding
Girdi değerinin alıcı alanlarına ne kadar ait olduğuna bağlı olarak, her bir girdi değişkeninin mevcut değeri, spike yayan bir nöron popülasyonuna geçirilir.
Üyelik derecesi yüksekse, erken bir artışa, sonraki hücrenin ateşleme zamanındaki gecikmeyi simüle eden katsayıların karşılaştırmalı büyümesine neden olur. Katsayının büyüklüğü ne kadar büyükse, ateşleme gecikmesi o kadar kısadır ve dolayısıyla zamana ilişkin gelen spike sıralamasında o kadar yüksektir.
RO öğrenmede, giriş artışlarının (olayların) dizisinde bulunan bilgiler kullanılır.
Bu yaklaşımın SNN’de kullanıldığında iki temel faydası vardır:
- Hızlı öğrenme (çünkü ilk gelen spike dizisi genellikle bir kalıbı tanımlamak ve hızlı karar vermek için yeterli bilgiyi içerir ve modelin onu kavraması için girdi kalıbının yalnızca bir geçiş iletimi yeterli olabilir)
- Veri odaklı ve asenkron işleme. Sonuç olarak, RO öğrenme şeması AER (Address-event representation) giriş veri akışları için en uygundur çünkü bu durumda adres olayları SNN’ye oluşum sırasına göre “tek tek” iletilir.
Bens Spiker Algorithm
Analog değerleri spike dizilerine dönüştürebilmek için kullanılan Bens Spiker algoritması, çok sayıda sinyalde optimal davranışa en yakın davranışı sergileyen sabit bir eşik değeri (threshold) ile çalışır. Çeşitli sinyallerin optimal threshold değeri çok fazla değişkenlik göstermediğinden, büyük hatalar yaratmadan sabit bir eşik değer kullanmak mümkündür. Bu, işlenmesi gereken tüm olası sinyalleri temsil eden bir dizi test sinyali oluşturularak elde edilir. Bu nedenle, değişen frekans, genlik ve ofset değerine sahip sinyallerin sağlanması gerekmektedir. Optimizasyon problemi bu test sinyalleri seti tarafından tanımlanır ve test seti için oluşturulan bir hata ölçüsünün minimum olması için buna uygun bir eşik bulunması gerekir.
EEG sinyalleri frekans domaininde olacakları için BSA encoding tekniğinin EEG sinyallerini spike’lara dönüştürmede etkili olacağı düşünülmüştür. BSA kodlamasını kullanmanın temel avantajı, genlik ve frekans özelliklerinin Hough Spiker Algoritması (HSA) spike kodlama tekniğinin özellikleriyle karşılaştırıldığında daha düzgün olmasıdır. Ek olarak daha düzgün eşik optimizasyon eğrisinin bir sonucu olarak filtre ve threshold değişikliklerine daha az yatkındır. [2]
Algoritmanın işleyişi aşağıdaki gibi ifade edilebilir. τ zamanındaki her an için iki hata metriği hesaplanır:
İlk hatanın ikinciden küçük çıkması durumunda, bir eşik değeri oluşturulur ardından filter ateşlenir ve bu filter girdilerden soyutlanır. Büyük çıkması durumunda hiçbir şey yapılmaz.
Neural Coding Algoritmalarının Karşılaştırılması
Referanslar
1 — Wen H, Shi J, Zhang Y, Lu KH, Cao J, Liu Z. Neural Encoding and Decoding with Deep Learning for Dynamic Natural Vision. Cereb Cortex. 2018 Dec 1;28(12):4136–4160. doi: 10.1093/cercor/bhx268. PMID: 29059288; PMCID: PMC6215471.
2- Almomani, Dr.Ammar & Alauthman, Mohammad & Alweshah, Mohammed & Dorgham, Osama & Albalas, Firas. (2019). A comparative study on spiking neural network encoding schema: implemented with cloud computing. Cluster Computing. 22. 10.1007/s10586–018–02891–0.
3- Zhao, Chenyuan & Li, Jialing & An, Hongyu & Yi, Yang. (2017). Energy efficient analog spiking temporal encoder with verification and recovery scheme for neuromorphic computing systems. 138–143. 10.1109/ISQED.2017.7918306.
4- Belonozhko, Pavel & Belous, Valentina & Karpenko, Anatoly & Khramov, Dmitry. (2015). Software Tools for Automated Quantitative Assessment of the Students’ Meta-competence. Overview. Science and Education of the Bauman MSTU. 15. 10.7463/1015.0821623.
5- Pan, Zihan, Jibin Wu, Yansong Chua, Malu Zhang and Haizhou Li. “Neural Population Coding for Effective Temporal Classification.” 2019 International Joint Conference on Neural Networks (IJCNN) (2019): 1–8.
6- Hubel DH, Wiesel TN (October 1959). “Receptive fields of single neurones in the cat’s striate cortex”. J. Physiol. 148 (3): 574–91. doi:10.1113/jphysiol.1959.sp006308. PMC 1363130. PMID 14403679.
7- Maunsell JH, Van Essen DC (May 1983). “Functional properties of neurons in middle temporal visual area of the macaque monkey. I. Selectivity for stimulus direction, speed, and orientation”. J. Neurophysiol. 49 (5): 1127–47. doi:10.1152/jn.1983.49.5.1127. PMID 6864242.
Co-Author:
from CRYPTTECH BLOG https://ift.tt/38eP4YN
via IFTTT