Etiket arşivi: Yapay Sinir Ağları

Yapay Sinir Ağlarında Öğrenme

Yapay sinir sistemlerinde öğrenme en basit hali ile dışarıdan bilgi girişi giriş katmanına aktarılır, girişi yapılan datalar işlenir ve aktivasyon fonksiyonundan geçirilerek bir veya daha fazla çıkış üretilir. Sistemden çıkan sonuç ile beklenen sonuç karşılaştırılır. Aradaki fark oransal olarak daha önceden belirlenen orandan büyük ise, bu işlem değişen algoritma ile tekrar sağlanır. Bu süreç belirlenen hata oranını yakalayana kadar devam eder. Algoritma üzerindeki değişikler çoğunlukla var olan ağın ağırlıkları üzerinden yapılır. Ağırlıklar üzerinde oynanarak aktivasyon fonksiyonu daha efektif bir şekilde kullanılması sağlanmak istenir. Yaşanılan duruma göre oynanan ağırlıklar sonucunda gelinmesi istediğimiz sonuca ulaşma evresine yapay sinir ağlarında öğrenme adını veririz.

Beklediğimiz sonuca ağırlıkların oynanması ile ulaştıktan sonra, bir sonraki aşamada dış dünyadan edindiğimiz dataların değişimi izlemektedir. Giriş katmanına verilen data değiştirilir ve önceki datadan farklı bir data deseni ile tekrar ağırlıkların doğruluğu hesaplanır. Belirlenen hata oranı bir başka data deseni verildiği zamanda tutuyorsa makinanın istemiş olduğumuz kuralı öğrendiği anlamına gelir.

Bir ağın öğrenme sürecini maddeler halinde ele alırsak;

  1. Sisteme girilmesini istediğimiz verilerin toplanması gerekmektedir. Veriler sisteme tek tek girilerek ağın problemi öğrenmesi sağlanır. Ağ dışarıdan almış olduğumuz verilerle öğrenmesini tamamladıktan sonra birde test datası oluştururuz. Bu test datası ile ağın ne kadar öğrenip öğrenemediğini test etmemize yarar.
  2. Ağın topolojik yapısı belirlenir. İstenilen sonuca göre uyarlanır. Giriş, gizli katmanlar, çıkış katmanları belirlenir, bu katmanlar arasında hücrelerin ne kadar olacağı bu aşamada belirlenir.
  3. Ağın öğrenme katsayısını toplama ve aktivasyon fonksiyonları, momentum katsayısı, ağırlıkların doğru belirlenmesi gibi parametrelere bağlıdır.
  4. Ağırlıklar başlangıç aşamasında tahmin edilen şekilde verilir. Ağın öğrenmeye başlaması ile ağırlıkların sonuca göre güncellenmesi evresi de başlar.
  5. Ağın ağırlık katsayılarını belirlemek adına test verileri ağın giriş katmanına verilir. Bu sayede ağırlık katsayıları oluşan sonuçlara göre sürekli güncellenir.
  6. Geri hesaplama metodu ile hatanın azaltılması için ağırlıklar güncellenir.
  7. Beklenen sonuç ile çıkan sonuç arasındaki oran istenilen orana yakın olduğu zaman ağın öğrenmesi tamamlanmış olarak kabul edilir.
  8. Öğrenme sürecini tamamlayan ağ yapısına bu sefer dış dünyadan daha farklı veri setleri verilir. Yeni verilen veri setlerinde de ağırlık güncellemesi gerekmez ise ağ yapısı öğrenme sürecini tam anlamı ile tamamlamış kabul edilir.

Ağa sunulan girdiler için istenen çıktının üretilmesi için belirlenen ağırlık değerleri ilk seferde rastgele verilir. Ağın öğrenme sürecine başlaması ile bu ağırlık değerleri üzerinde sürekli bir güncelleme gerekir.

Ağın öğrenme sürecinde beklenen hata payı hiç yakalanmayabilir. Bu durum ile karşılaşıldığı zaman ağırlık katsayılarından çok ağın topolojisi, katman mimarisi veya ağa sunulan verilere bakılması gerekir. Altyapıda bir değişiklik yapmak bu durumlarda daha doğru olacaktır.

Dış dünyadan aldığımız verileri ağ yapısında giriş katmanına veririz ve çıkan çıktıda ağın öğrenmiş olduğunu bekleriz. Öğrenme süreci tamamlanana kadar güncellemeler yapar, ağ yapısından en verimli sonucu almayı amaçlarız. Bir yapay sinir ağ yapısının temelde üç tane öğrenme algoritması vardır. Bunlar; danışmanlı, danışmansız ve takviyeli öğrenmedir.

1. Danışmanlı Öğrenme

Bu tip öğrenme sürecinde herhangi bir şekilde öğretenin bulunması gerekmektedir. Var olan probleme ait girdiler ile beraber çıktı değerlerinin de ağ yapısına verilmesi gerekir. Girdi-çıktı karşılıkların tutarlı olabilmesi için modelde bulunan ağırlıklar katsayıları buna göre güncellenmelidir. En uygun değer bulunana kadar ağırlıklar girdi-çıktı verileri baz alınarak güncellenir.

2. Danışmansız Öğrenme

Bu öğrenme yönteminde çıktı değerleri sisteme verilmez, sadece dış dünyadan alınan girdi verileri ağ yapısına aktarılır. Ağ yapısından verilen girdileri birbirine yakınlığı baz alınarak sınıflandırması beklenir. Ağırlıklar bu sınıflandırmayı yapabilecek şekilde güncellenir. Ağ yapısı yapması gereken sınıflandırmayı verilen ağırlık katsayılarından anlar. Güncelleme tamamlandığında ağ yapısının öğrenmesi de tamamlanmış sayılır.

3. Takviyeli Öğrenme

Bu öğrenme yöntemi çok kullanılmamakla beraber bir öğretici takviyeli öğrenme yönteminde de yoktur. Danışmanlı öğrenme ile kıyaslanırsa bu öğrenme metodolojisinde sisteme çok detay verilmemektedir. Girilen bilgiler karşısında çıkan çıktıya bakılarak, ağ yapısına çıkardığı sonucun doğru veya yanlış ya da iyi veya kötü olduğu söylenir. Verilen bu bilgiyi ağın kullanıp tekrar öğrenmesi amaçlanmaktadır.