Yapay nöronlar (Perceptronlar, Birimler veya Düğümler olarak da adlandırılır), bir sinir ağındaki en basit elemanlar veya yapı taşlarıdır. İnsan beyninde bulunan biyolojik nöronlardan esinlenmişlerdir.
Bu makalede, perceptronların biyolojik nöronlardan nasıl ilham aldığını, bir perceptronun yapısını çizeceğimizi, perceptron içindeki iki matematiksel fonksiyonu tartışacağımızı ve son olarak, perceptron içinde bazı hesaplamalar yapacağımızı tartışacağız.
Perceptronlar biyolojik nöronlardan nasıl esinlenmiştir?
Yapay nöronların (perceptronların) biyolojik nöronlardan nasıl ilham aldığını tartışmak faydalıdır. Yapay bir nöronu, biyolojik bir nörondan ilham alan bir matematiksel model olarak düşünebilirsiniz.
Bir biyolojik nöron, giriş sinyallerini dendritler (küçük lifler) aracılığıyla diğer nöronlardan alır. Benzer şekilde, bir perceptron, verilerini giriş nöronları aracılığıyla diğer perceptronlardan alır ve bu nöronlar sayılar alır.
Dendritler ile biyolojik nöronlar arasındaki bağlantı noktalarına sinaps denir. Benzer şekilde, girdiler ile perceptronlar arasındaki bağlantılara ağırlık denir. Her girdinin önem derecesini ölçerler.
Bir biyolojik nöronda, çekirdek, dendritler tarafından sağlanan sinyallere dayalı bir çıkış sinyali üretir. Benzer şekilde, bir perceptronun çekirdeği (mavi renkle gösterilen), giriş değerlerine dayalı bazı hesaplamalar yapar ve bir çıkış üretir.
Bir biyolojik nöronda, çıkış sinyali akson tarafından taşınır. Benzer şekilde, bir perceptrondaki akson, bir sonraki perceptronlar için giriş olacak çıkış değeridir.
Bir perceptronun yapısı
Bir perceptronun ayrıntılı yapısı aşağıdaki şekilde gösterilmiştir. Bazı bağlamlarda, bias (sapma), w0 ile gösterilir. Giriş, x0 her zaman 1 değerini alır. Yani, b*1 = b.
Bir perceptron, girdiler x1, x2, …, xn alır, bunları ağırlıklarla çarpar, b sapma terimini ekler ve ardından bir aktivasyon fonksiyonunun f uygulandığı doğrusal fonksiyonu z hesaplar ve bir çıkış, y elde edilir.
Bir perceptron çizerken, genellikle bias birimini kolaylık olması için göz ardı ederiz ve diyagramı şu şekilde basitleştiririz. Ancak hesaplamalarda, bias birimini hala göz önünde bulundururuz.
Bir perceptronun içi
Bir perceptron genellikle iki matematiksel fonksiyondan oluşur:
Perceptronun doğrusal fonksiyonu
Bu, perceptronun doğrusal bileşeni olarak da adlandırılır. Z ile gösterilir. Çıktısı, girişlerin ağırlıklı toplamı ve bias birimidir ve şu şekilde hesaplanabilir:
x1, x2, …, xn sayısal değerler alan girişlerdir. Tek bir nöron için birkaç (sonlu) giriş olabilir. Bunlar ham giriş verileri veya diğer perceptronların çıktıları olabilir.
w1, w2, …, wn ağırlıkları, her girişin önem düzeyini kontrol eder. Değer ne kadar yüksekse, giriş o kadar önemli olur.
b, bias terimi veya bias birimi olarak adlandırılır ve aynı zamanda sayısal bir değer alır. Girişlerin ağırlıklı toplamına eklenir. Bias terimini eklemenin amacı, perceptronun aktivasyon fonksiyonunu sıfır değeri almaktan kaydırmaktır. Başka bir deyişle, tüm x1, x2, …, xn girişleri 0 olduğunda, z bias değerine eşit olur.
Ağırlıklar ve önyargılar bir sinir ağı modelindeki parametreler olarak adlandırılır. Bu parametreler için en uygun değerler, sinir ağının öğrenme (eğitim) süreci sırasında bulunur.
Yukarıdaki z fonksiyonunu, ağırlıkların katsayılar olarak bilindiği ve sapma teriminin kesişim olarak bilindiği doğrusal bir regresyon modeli olarak da düşünebilirsiniz. Bu sadece farklı bağlamlarda aynı şeyi tanımlamak için kullanılan terminolojidir.
Perceptronun doğrusal olmayan (aktivasyon) fonksiyonu
Bu fonksiyon, doğrusal olmayan bileşen olarak da adlandırılır ve f ile gösterilir. Z üzerinde uygulanarak, kullanılan aktivasyon fonksiyonuna bağlı olarak y çıktısı elde edilir.
Aktivasyon fonksiyonu f birçok farklı tipte olabilir. Aktivasyon fonksiyonları hakkında detayları ayrı bir makalede tartışacağız. Şimdilik, aktivasyon fonksiyonunun amacının sinir ağına doğrusal olmayanlık katmak olduğunu bilmek yeterlidir. Aktivasyon fonksiyonu olmadan bir sinir ağı yalnızca doğrusal ilişkileri modelleyebilir ve verilerdeki doğrusal olmayan ilişkileri modelleyemez.
Bir nöronun “ateşlenmesi” ne anlama gelir?
Şu aşağıdaki ikili adım aktivasyon fonksiyonunu düşünelim. Z’nin eşik değeri aştığında nöron ateşlenir ve çıktısı 1 olur, aksi takdirde 0 olur.
Bu nedenle, aktivasyon fonksiyonunun türü, nöronun nasıl ateşleneceğini belirler ve bias terimi b, ateşleme kolaylığını kontrol eder. Şimdi doğrusal fonksiyon z’yi ele alalım:
z = (w1.x1 + w2.x2 + … + wn.xn) + b
z = (girişlerin ağırlıklı toplamı) + bias
Bias’ın -2 olduğunu varsayalım. Burada da ikili adım aktivasyon fonksiyonunu göz önünde bulunduruyoruz. Yani, nöron yalnızca girişlerin ağırlıklı toplamı +2’yi aştığında ateşlenir (aktif hale gelir). Matematiksel olarak bu şöyle ifade edilebilir:
Nöronu ateşlemek için, yukarıda tanımlanan ikili adım aktivasyon fonksiyonuna göre 1 çıktısı üretmelidir. Bu yalnızca şu durumda olur:
z > 0
(girişlerin ağırlıklı toplamı) + bias > 0
(girişlerin ağırlıklı toplamı) > -bias
Bias -2 olduğunda,
(girişlerin ağırlıklı toplamı) > -(-2)
(girişlerin ağırlıklı toplamı) > 2
Bu nedenle, bu durumda, girişlerin ağırlıklı toplamı +2’yi aşmalıdır ki nöron ateşlenebilsin veya aktif hale gelebilsin.
Bir perceptron içinde hesaplamalar yapma
Şimdi bir perceptron içinde basit bir hesaplama yapalım. 3 girdiye sahip olduğumuzu hayal edin ve bu girdilerin değerleri şu şekildedir:
x1=2, x2=3 ve x3=1
Üç girdiye sahip olduğumuz için, her girişin önem derecesini kontrol eden üç ağırlığımız da vardır. Ağırlıklar için şu değerleri varsayalım:
w1=0.5, w2=0.2 ve w3=10
Ayrıca bias birimi için şu değere sahibiz:
b=2
Şimdi doğrusal fonksiyon z’yi hesaplayalım:
z = (0.52 + 0.23 + 10*1) + 2
z = 13.6
Aktivasyon fonksiyonu z’nin çıktısını (13.6) girdi olarak alır ve kullandığımız aktivasyon fonksiyonunun türüne bağlı olarak y çıktısını hesaplar. Şu an için sigmoid aktivasyon fonksiyonunu kullanıyoruz ve bu aşağıdaki gibi tanımlanmıştır:
y = sigmoid(13.6)
y = 0.999
y ~ 1
Tebrikler! Bir perceptron içinde başarılı bir şekilde hesaplamalar yaptınız.
Özet
Bir perceptron, doğrusal fonksiyon ve doğrusal olmayan aktivasyon fonksiyonunun bir arada çalışarak, sonraki perceptronlar için bir giriş ya da nihai çıktı olabilen bir sonuç hesapladığı matematiksel bir modeldir.
Perceptronda aktivasyon fonksiyonu şu amaçlarla kullanılır:
- Ağa doğrusal olmayanlık kazandırır. Sinir ağlarının, genellikle gerçek dünyadaki verilerde bulunan doğrusal olmayan ilişkileri modellemesini sağlar.
- Aktivasyon fonksiyonunun türü, bir nöronun nasıl ateşleneceğini belirler.
- Z’nin çıktı değerini belirli bir aralıkta tutar. Örneğin, sigmoid aktivasyon fonksiyonu, z’nin değerini 0 ve 1 (dahil) arasında tutar. Z’nin değeri ne kadar büyük ya da küçük olursa olsun.
Aslında, aktivasyon fonksiyonları olmayan sinir ağları yalnızca doğrusal regresyon modelleridir ve verilerdeki yalnızca doğrusal ilişkileri modelleyebilirler.
Bir perceptronun parametreleri ağırlıklar ve bias’tır. Ağırlıklar, her girdinin önem düzeyini kontrol eder. Bias terimi şu işlevlere sahiptir:
- Bir nöronun ne kadar kolay ateşleneceğini veya aktif hale geleceğini belirler.
- Her perceptronun aktivasyon fonksiyonunu sıfır değerini almaktan kaydırır. Bazen, sıfır değerleri ağın öğrenme sürecini etkileyebilir.
Bir sinir ağındaki perceptron sayısı arttıkça, ağda binlerce parametre (ağırlıklar ve bias) olabilir. Daha önce belirtildiği gibi, bu parametreler için en uygun değerler sinir ağının öğrenme (eğitim) süreci sırasında bulunur. Dolayısıyla, parametreler (ağırlıklar ve bias) verdiğimiz verilerden öğrenir ve en uygun değerlerine ulaşırlar.