Yapay Sinir Ağları
Yapay Zeka kavramı, insan zekâsını taklit ederek kendisine verilen ya da çevreden topladığı bilgiler ile kendini kademeli olarak eğiten ve öğrendiği bilgiler ışığında çıktı üreten sistemlerdir.
Yapay Zeka terimi ilk defa McCarthy tarafından 1956 yılında gerçekleşen Darthmounth Konferansı’nda kullanılmış olasına rağmen mazisi biraz daha eskiye dayanmaktadır. 1943 yılında McCulloch ve Pitts biyolojik nöronların işlevselliğini taklit etmeye çalışarak nöronun ilk matematiksel tanımını yapmayı başarmıştır. Ardından var olan bir grubu belirlenen eşik değerine göre pozitif ya da negatif olarak ayrıştırabilen yöntemi geliştirmiştir.
1950 yılında, Turing bir makinenin karar verme yeteneğini test edebilmek adına, Makineler Düşünebilir Mi? sorusunu sormuş ve buna cevap arayarak makinelerin zeki olup olmadığını kontrol etmiştir.
1957 yılında ise Rosenblatt, McCulloch ve Pitts’den esinlenerek günümüz modellerinin atası olan tek katmanlı algılayıcıları (perceptron) geliştirerek ağırlığa sahip nöronlar ile verilerden öğrenebilen model tasarlamayı başarmıştır. Bu bağlamda yapay zekanın çıkış noktasının insanın düşünme yapısından esinlenildiği ve nöronların taklit edile bilinmesi için matematikten yararlanıldığı bilinmektedir. Bu sistemin nasıl çalıştığını anlatmadan önce terimleri ve karşılıklarını açıklamak daha doğru olacaktır.
İnsanın düşünebilmesi, olayları kavrayabilmesi, bu olaylar arasında ilişki kurabilmesi ve karar verebilmesi temelde nöronlara bağlıdır. Sinir hücreleri ya da nöronlar sinir sisteminin temel elemanıdır. Biyolojik nöron yapısı içerisine bulunan ana elemanlar;
- Dentrit
- Hücre Gövdesi (Soma)
- Akson
- Akson Terminali
- Sinaps
Bu yapıdan esinlenerek McCulloch ve Pitts yapay hücreler oluşturulmuştur. Yapay bir nöron yapısı içerisinde biyolojik nöronlara karşılık gelen terimler yer almaktadır. Yapay nöron yapısı içerisine bulunan ana elemanlar;
- Giriş
- Ağırlıklar
- Toplama Fonksiyonu
- Aktivasyon Fonksiyonu
- Çıkış
Geleneksel Yapay Sinir Ağları temelde tek katmanlı ve çok katmanlı algılayıcılar olarak ikiye ayrılmaktadır. Giriş parametreleri aktivasyon fonksiyonundan geçirilerek çıktı üreten yapılar tek katmanlı algılayıcı, giriş parametrelerini gizli katmanlara besleyip, gizli katmanları da başka gizli katmanlara aktaran ve ardından çıkış değeri üreten yapılar ise çok katmanlı algılayıcılar olarak bilinmektedir.
TEK KATMANLI ALGILAYICILAR
Tek katmanlı algılayıcılar, yapay nörondan oluşan ileri beslemeli bir yapıya sahiptir. Bu ağlarda ara katman bulunmaz. Algılayıcılar, eğitilebilen tek bir elemandan oluşmaktadır.
Tek katmanlı algılayıcılarda, giriş değerleri iki farklı sınıfa ayrıştırılmaktadır. İşlemler 2 boyutlu bir düzlemde gerçekleştirilir ve yapının temel amacı gelen verileri başarılı bir şekilde ikiye ayırmaktır. İki sınıfı birbirinden ayırmak için sınıf ayracı kullanılmaktadır. Bu ayracın yönü nöronun ağırlık değerlerine göre değişebilmektedir. Eşik değeri değiştirilerek de sınıf ayracı ötelene bilinmektedir.
Yapının elemanlarından x giriş değerlerini, w ise öğrenmeye katkı sağlayan ağırlıkları temsil etmektedir. Giriş değerlerinin sayısında bir kısıtlama yoktur değeri negatif veya pozitif olabilir. Giriş değerlerinin 1'den büyük/küçük olması ağın performansını etkilememektedir. Ayrıca girişlerin toplamının ve çıkışın sıfır olmasını önleyecek bir bias değeri kullanılabilir. Bias değeri bazı durumlarda zorunlu olarak bazı durumlarda ise keyfi olarak kullanılmaktadır ve her zaman değeri 1'dir. Toplama fonksiyonu içerisinde giriş değerlerinin ağırlıklı toplamları yer almaktadır. Her bir giriş değeri kendine karşılık gelen ağırlık değeri ile çarpılır ve toplanarak NET girdi elde edilir.
Elde edilen NET girdi aktivasyon fonksiyonuna gönderilerek daha önceden belirlenmiş bir fonksiyondan (eşik, step, sigmoid, lineer vs.) geçirilir. Tek katmanlı algılayıcılarda eğer eşik fonksiyonu tercih edilirse aktivasyon fonksiyonu aşağıdaki gibidir. Bu fonksiyon NET girdinin sonucu 1'den büyükse 1 değilse; 0 sonucunu vermektedir.
Eşik Mantık Birimi (Threshold Logic Unit — TLU)
1943 yılında McCulloch ve Pitts eşik değerine bağlı olarak ikili sınıflandırma yapabilen kısaca TLU olarak ifade edilen tek katmalı bir ağ tasarlamıştır. Eşik değerine göre iki sınıfı birbirinden ayırmak için kullanılan bu çıktı fonksiyonları doğrusaldır ve oldukça ilkel yapıdadır. Eğer eşik değerinin altında ise bir sınıfa üstünde ise diğer sınıfa ait olmaktadır.
Algılayıcı (Perceptron)
1957 yılında Rosenblatt, McCulloch–Pitts modelini geliştirerek PERCEPTRON isimli modeli geliştirmiştir. Rosenblatt, 1949 yılında Hebb tarafından geliştirilen Hebbian öğrenme kuralını kullanarak modelin ağırlıklarının güncellenmesini sağlamıştır.
Hebb Öğrenme Kuralı: Ağda bulunan ağırlıkların nasıl değişeceğini belirleyen öğrenme kuralıdır. Eğer algılayıcının ürettiği çıkış değeri (Y), hedef değer (T) ile aynı sonucu üretirse ağırlıklarda bir değişim gerçekleşmez. Bu durum doğru ağırlık değerlerinde olduğumuzu göstermektedir. Fakat ağ hedef değerden farklı bir sonuç ürettiyse ağırlıklar güncellenmektedir.
Adaptif Lineer Nöron (Adaptive Linear Neuron — ADALINE)
1960 yılında Widroff ve Hoff tarafından tek katmanlı ADALINE (Adaptive Linear Nöron) algoritması geliştirilmiştir. Perceptron’a benzer şekilde ikili sınıflandırma yapmaktadır. Fakat ADALINE modeli farklı olarak Delta öğrenme kuralını kullanmaktadır. Bu sayede hatayı geriye yayarak ağın ağırlıklarını bir defaya mahsus değil iteratif olarak güncellenebilir.
Delta Öğrenme Kuralı: En yaygın kullanılan denetimli öğrenme kuralıdır. Ağın beklenen çıktısı (Y) ile hedef çıktı (T)arasındaki farka bakılarak ağırlıkların güncellemesi gerçekleştirilmektedir. Beklenen değer ile hedef değerlerin birbirine yakın olması gerekmektedir. Aksi taktirde ağırlıkların güncellenmesi gerekir. Bu kural çıkış değerine ait hatanın karelerinin ortalamasını minimize etmeyi amaçlamaktadır.
Her 3 modelde tek katmanlı algılayıcıları temsil etmekte olan benzer yapılardır. Temel amaçları iki sınıfı birbirinden ayırmak olan bu ağların arasındaki farklılıklar aşağıdaki tabloda özetlenmiştir.
ÇOK KATMANLI ALGILAYICILAR
Çok katmanlı algılayıcılar 1960'lı yıllarda ortaya atılan ileri ve geri beslemeli olmak üzere iki kısımdan oluşan yapay sinir ağlarıdır. İleri beslemeli yöntem hali hazırda tek katmanlı algılayıcılar tarafından kullanılmaktadır. Geri beslemeli yöntem ise XOR problemini çözmek için yapılan çalışmalar sonucunda 1989 yılında Rumelhart, Hinton ve Williams tarafından yayınlanan bir makale ile popüler hale gelmiştir. Bu yöntem denetimli öğrenme stratejisine göre çalışmaktadır. Yani ağın eğitimi sırasında hem girdiler hem de o girdilere karşılık üretilmesi beklenen çıktılar gösterilmektedir. Ağın görevi ise eğitim sonrasında kendisine verilen girdi için uygun olan çıktıyı üretmektir. Aslında bu yöntem Delta öğrenme kuralının genişletilmiş halidir ve 2 aşamadan oluşmaktadır.
İleri besleme: Bir katmandaki hücrelerin çıkışları bir sonraki katmana ağırlıklar üzerinden giriş olarak verilir. Giriş katmanı, dış ortamlardan aldığı bilgileri (varsa) gizli katmandaki nöronlara iletir. Bilgi gizli ve çıkış katmanlarında işlenerek sonuç üretilir.
Geri besleme: İleri beslemeli hesaplama sonucunda elde edilen çıktı değeri ile hedef çıktı değeri arasındaki fark alınarak duruma göre nöronların ağırlıkları güncellenir. Eğer hata oranı sıfıra yakında hata oranı düşüktür ve epok sayısı yada belirli bir hata oranının altında ise ağırlık güncelleneme işlemine gerek kalmaz ağın eğitimi sonlandırılır. Fakat hedef ve beklenen değer arasındaki fark büyükse bu hata oranı orantılı olarak geriye doğru yayılır ve ağırlıklar güncellenerek eğitime devam edilir. Bu işlem belirlene epok sayısı yada hata oranına ulaşana kadar devam ettirilir.
Çok katmanlı algılayıcıların matematiksel ifadeleri iki kısımdan oluşmaktadır. Bu kısımlar, ileri yayılma ve geri yayılma yöntemlerinden oluşmaktadır ve işleyişi şu şekilde gerçekleşmektedir.
X değerleri girdi Y değeri çıkış katmanlarını, k ise girdi katmanlarındaki k. nöronu temsil etmektedir.
Ara katmandaki gelen net girdilerin hesaplanması yapılır. W ağırlıkları j ara katmanları temsil eder.
Türevi alınabilen her hangi bir aktivasyon fonksiyonu tercih edilebilmektedir.
Geri beslemenin hesaplaması için; Beklenen değer T ile çıkan değerin Y farkı alınarak ağın hata değeri elde edilmektedir. Bu değer m. eleman için hesaplanmaktadır. Ağın genel çıktısı için E değerlerinin karelerinin toplamının yarısını hesaplamak gerekmektedir. Hesaplama sırasında eleman bazlı işlemler yapılacağı için genel hatanın hesaplanmasına gerek duyulmamıştır.
Çıktı katmanının hata değeri hesaplanır.
Ara katmanlar arasındaki hata değeri bulunur.
Ara katmanlar ile çıktı katmanı arasındaki ağırlıkların değişim miktarı hesaplanır. Burada; α momentum katsayısını, λ öğrenme katsayısını temsil etmektedir.
Ara katmanlar arasındaki ağırlıkların değişim miktarı hesaplanır. Buradaki öğrenme katsayısı ise momentum katsayısını temsil etmektedir.
Ağırlıkların değişim miktarları belirlendikten sonra ara katmanlar ile çıkış katmanı arasındaki ağırlıkların güncellenmesi yapılır.
Ara katmanlar arası ağırlıkların güncellenmesi yapılmıştır.
Ara katmanlar ile çıktı katmanı arasındaki bias değerlerinin değişim miktarı hesaplanır. B bias değerini temsil eder.
Ara katmanlar arasındaki bias değerlerinin değişim miktarı hesaplanır.
Bias değişim miktarları belirlendikten sonra ara katmanlar ile çıkış katmanı arasındaki biaslerin güncellenmesi yapılır.
Ara katmanlar arası biaslerin güncellenmesi yapılır.
KAYNAKÇA
McCulloch, WS ve Pitts, W. 1943. Sinirsel aktiviteye içkin fikirlerin mantıksal bir hesabı. Matematiksel biyofizik bülteni, 5:4, 115-133.
Rosenblatt, F. 1958. Algılayıcı: beyinde bilgi depolama ve organizasyon için olasılıksal bir model. Psikolojik İnceleme 65:6, 386–408. doi.org/10.1037/h0042519
Öztemel, E. (2003). Yapay Sinir Ağları. PapatyaYayincilik, 25–80, Türkiye
Varol Malkoçoğlu, A. B. 2020. Akut Lenfoblastik Lösemi Hücrelerinin Derin Öğrenme Yöntemleri ile Sınıflandırılması, https://tez.yok.gov.tr/UlusalTezMerkezi/tezSorguSonucYeni.jsp
Bayır, F. 2006. Yapay Sinir Ağları ve Tahmin Modellemesi Üzerine Bir Uygulama http://nek.istanbul.edu.tr:4444/ekos/TEZ/41491.pdf