• Sonuç bulunamadı

Yapay sinir ağları temelde ağdaki sinyalin ilerleme yönüne göre ileri beslemeli ağlar ve geri beslemeli ağlar olmak üzere ikiye ayrılmaktadır.

İleri beslemeli sinirsel ağlarda yapay sinir hücreleri katmanlara ayrılmıştır. Yapay sinir hücreleri üzerindeki sinyaller girdi katmanından çıktı katmanına doğru tek yönlü olarak iletilir. Bu tek yönlü bağlantılar, katmanlar arasındaki yapay sinir hücrelerini birbirine bağlarken, aynı katman içerisinde yer alan yapay sinir hücreleri arasında bu bağlantı mevcut

69

değildir. En bilinen bazı ileri beslemeli ağlara örnek olarak çok katmanlı perceptron ve Learning Vector Quantization verilebilir (Yılmaz, 2019: 85).

İleri beslemeli ağlarda ön katmanda bulunan yapay sinir hücrelerine ait çıkışlar bir sonraki katmanda yer alan yapay sinir hücrelerinin girişi olacak şekildedir. İleri beslemeli ağların katman yapısının temel kurgularından biri dış ortamdan gelen veriler işlenmeden direkt olarak gizli katmanda yer alan yapay sinir ağı hücrelerine iletilir. Daha sonra bu veri gizli (ara) ve çıktı katmanında işlenerek ağın çıktı değeri hesaplanır. Bu duruma bir örnek Şekil 9’da verilmiştir (Yılmaz, 2019: 85).

Şekil 9: İleri Beslemeli Ağ Yapısı

Kaynak: Yılmaz, 2019: 86

İleri doğru hesaplama yapısında süreç, YSA’nın eğitilmesi için ağa verilen verinin girdi katmanından ağa sunulması ile başlar. Girdi katmanında 𝑘. proses elemanının çıktısı;

i

k k

GÇ olmak üzere,

ağın ara katmanında bulunan tüm yapay sinir hücreleri, kendinden önceki katmanda yer alan tüm yapay sinir hücrelerinden iletilen bilgileri bağlantı ağırlıklarının etkisi ile birlikte alır. Ağın ara katmanında yer alan yapay sinir hücresine iletilen net girdi değeri;

70 1 * n a i j kj k k NET W Ç   (3.14)

𝑗. ara katmanın çıktısı, net girdinin aktivasyon fonksiyonu sonucu ile hesaplanmaktadır. Bu fonksiyon ise Eş. 3.15’de belirtildiği gibidir (Yılmaz, 2019: 83).

( ) 1 1 a a j j a j NET b Ç e   (3.15)

Bir diğer yapay sinir ağı çeşidi olan geri beslemeli ağlar danışmansız öğrenme yöntemi için daha uygun bir ağ kurgusuna sahiptir. Bu ağ yapısında ileri beslemeli ağ yapısından farklı olarak katmanlarda bulunan yapay sinir hücreleri bir önceki katmanla da bağlantı halindedir. Bu şekilde ağ ileri doğru hesaplama yaparken aynı zamanda kendisini geriye doğru beslemektedir. Geri beslemeli ağlarda hem o an işlenen verinin hem de bir önceki iterasyondan kalan verinin hafızada tutulması bu ağların dinamik hafızaya sahip olmasına neden olmaktadır. Geri beslemeli ağlar bu özelliği sayesinde geleceği tahmin problemlerinde daha avantajlıdır. Literatürde sıklıkla kullanılan geri beslemeli ağ çeşitlerinden bazıları Jordan, Self Organizing Map, Elman ve Hopfield ağlarıdır (Yılmaz, 2019: 87).

Geri beslemeli ağ kurgusunda yapay sinir hücrelerinden en az birinin çıkışı kendisi ya da diğer bir yapay sinir hücresinin girdisidir. Bu kurguda geri besleme işlemi çoğunlukla geciktirme elemanı ile yapılmaktadır. Geri besleme süreci aynı katman içerisinde ya da katmanlar arasında gerçekleşmektedir. Geriye doğru besleme sürecinde hesaplama için ağın çıktı değeri ile gerçekte olması gereken değerin farkı kullanılır. Bu fark hata olarak adlandırılır. Toplam hata çıkış katmanında bulunan yapay sinir hücrelerinde oluşan tüm hataların toplanmasıyla elde edilir. Geri beslemeli ağlarda da amaç diğer ağ çeşitlerinde olduğu gibi hatayı minimize etmektir. Toplam hata elde edilirken sıfırdan küçük hataların da olabileceği göz önünde bulundurularak bu durumun engellenmesi için ağırlıkların kareleri toplanarak elde edilen sonucun karekökü alınır. Hesaplanan bu toplam karesel hatayı en aza indirgemek amacıyla hataya neden olan yapay sinir hücrelerine bu hatanın dağıtılması gerekmektedir. Bu dağıtımı gerçekleştirmek amacıyla yapay sinir hücrelerine ait ağırlıklar güncellenir (Yılmaz, 2019: 87).

Geriye doğru hesaplama metodolojisinin temel mantığı ağın çıktısı ve beklenen gerçek sonucun kıyaslanmasıdır. Bu kıyaslama sonucu ortaya çıkan fark hata değeri olarak

71

adlandırılmaktadır. Buradaki asıl amaç hatayı en aza indirmektir. Ortaya çıkan hata, ağın ağırlık katsayılarına her bir iterasyonda dağıtılır. 𝑚. yapay sinir hücresi için hesaplanan hata değeri Eş. 3.16’da verilmiştir.

m m m

EBÇ (3.16)

Eğitim setindeki tüm hataların toplanmasıyla çıktı katmanı için hesaplanan toplam hata (𝑇𝐻) elde edilir. Toplam hatanın gösterimi Eş. 3.17’de verilmiştir.

2 1

2 m m

TH

E (3.17)

Toplam hatanın sıfır olmaması gerekmektedir. Bu durumun önüne geçmek için tüm çıktı hata karelerinin toplanmasıyla ortaya çıkan sonucun karekökü alınır.

YSA’da yer alan ağırlıklar iki farklı durumda değiştirilir. Bunlar, ara katman ile girdi ya da ara katmanlar arası ağırlıklar ile ara katman ile çıktı katmanı arasında yer alan ağırlıklardır.

A

 : Ara katmandaki 𝑗. elemanın çıktı katmanındaki 𝑚. işlem elemanına bağlayan bağlantının ağırlığındaki güncelleme miktarı

 : Momentum katsayısı

: Öğrenme katsayısı olmak üzere 𝑡 zamandaki;

( ) ( 1)

a a a

jm m j jm

A t  ÇA t

     (3.18)

Eş. 3.18’de yer alan m, f NET aktivasyon fonksiyonunun türevi olup Eş. 3.19’da '( ) verilmiştir. ' ( ). m f NET Em   (3.19) Sigmoid için; (1 ). m Çm Çm Em    (3.20)

72

( ) ( 1) ( )

a a a

jm jm jm

A tA t  A t (3.21)

Eş. 3.20 ve Eş. 3.21’e benzer şekilde eşik değerleri de güncellenir.

( ) ( 1) ç ç m m m b t  b t     (3.22) ( ) ( 1) ( ) ç ç ç m m m b tb t  b t (3.23)

Çıktı katmanı ile ara katman arasında yer alan ağırlık katsayısı değişimi için sadece çıktı katmanında yer alan bir proses elemanının hatası dikkate alınır. Diğer yandan ara katman ile girdi katmanın da ise tüm hatalar dikkate alınarak ağırlık katsayısı değişimi yapılır.

Ara katmanla girdi ya da ara katmanlar arasındaki ağırlık katsayısı güncelleme işlemi şu şekilde gerçekleşmektedir; ( ) ( 1) i a i i jm j k kj A t  ÇA t      (3.24)

Sigmoid için hata terimi ise Eş. 3.25’de verilmiştir.

' ( ) a a j m jm m f NET A  

 (3.25) (1 ) a a a a j j j m jm m Ç Ç A   

 (3.26) ( ) ( 1) ( ) a a a jm jm jm A tA t  A t (3.27)

Eş. 3.26 ve Eş. 3.27’dekine benzer şekilde eşik değerleri de Eş. 3.28 ve Eş. 3.29’daki gibi güncellenir (Yılmaz, 2019: 83-84). ( ) ( 1) a a a m j m b t   b t      (3.28) ( ) ( 1) ( ) a a a j j j b tb t  b t (3.29)

Genel olarak çok katmanlı ağların çalışma prensibi Yılmaz (2019: 85) tarafından şu şekilde işlenmektedir;

73

 Problemle ilgili karşılaşılacak tüm durumları kapsayan deneyimleri içeren bir örneklem setinin ağa gösterilmesi.

 Ağın topolojik yapısının yani ara katman ve bu katmanlarda bulunacak yapay sinir hücresi sayılarının belirlenmesi.

 Öğrenme katsayısı, aktivasyon fonksiyonu ve momentum katsayısı gibi öğrenme parametrelerinin belirlenmesi.

 Ağırlık katsayılarının başlangıç değerlerinin belirlenmesi.  Belirlenen örneklerin sırasıyla ağa gösterilmesi.

 İleri yönlü hesaplamanın yapılması.

 Ağın çıktısı ile beklenen gerçek değerin karşılaştırılarak ağın hata miktarının bulunması.

 Geri yönlü hesaplama ile ağırlık katsayılarının güncellenmesi.

 Toplam hata istenilen seviyeye indirgenmiş ise ağın eğitiminin sonlandırılması. Aksi halde yeni ağırlık katsayıları ile örneklerin tekrardan ağa sunulması.