YAPAY SİNİR
AĞLARI
Bu bölümde, öncelikle yapay sinir
ağlarının biyolojik kökeninden bahsedilecek ve daha sonra yapay sinir ağları
hakkında genel bilgi verilecektir.
1.1. Yapay Sinir Ağlarının Biyolojik Kökeni
İnsan beyni, düşünme, hatırlama ve problem çözme
yeteneklerine sahip karmaşık bir sistemdir. Beyin fonksiyonlarının bilgisayarla
taklit edilmesine yönelik girişimlerin başarısı henüz kısmi olmaktan öteye
gidememiştir.
Bu karmaşık yapının temel birimi
nörondur. Şekil 3.1’de gerçek sinir hücresinin şematik gösterimi verilmiştir.
Nöron, dendritler aracılığıyla sinyalleri alır ve birleştirir. Bileşke sinyalin
yeterince güçlü olduğu durumda nöron ateşleme yapar ve sinyal, terminalleri
aracılığıyla diğer nöronların dendritleriyle bağlantılı olan akson boyunca yol
alır. Akson boyunca yol alarak nörona ulaşan sinyaller, elektriksel yükü
değişken hızlarda ileten sıvı ile dolu çok küçük boşluklardan geçerler. Bu
boşluklar, sinaptik bağlantılar olarak anılır. Sinaptik bağlantının empedans
veya kondüktans değerinin ayarlanması, bellek oluşumu ve öğrenmeyi
sağladığından kritik önemdedir [5].
1.2. Yapay Sinir Hücresi
Sinir ağları biribirine paralel
olarak çalışan basit elemanlardan oluşur. Gerçek bir sinir hücresinin
birimlerine eşdeğer bileşenlerle modellenen yapay sinir hücresi Şekil 3.2’de
gösterilmiştir. Gövdenin giriş birimi olan bağlantıların herbirinin kendine ait
bir ağırlık çarpanı vardır. Ağırlık değeri pozitif veya negatif olabilir.
Uygulanan sinyallerin ağırlık değeriyle çarpımları, iki kısımdan oluşan
gövdenin ilk kısımında toplanır. Bu toplam, ikinci kısmı tanımlayan aktivasyon
fonksiyonunun argümanı olur.
1.3. Nöron Modelleri
Nöronlar, yapay sinir ağlarının
bilgi işleyen yapısal elemanlarıdır. Bir nöronun yapısında üç temel yapıtaşı
bulunur:
1.
Sinaps
adı verilen bağlantılar: Her
sinapsın kendine ait wij ile gösterilen bir ağırlık çarpanı
vardır. Bu ifadede i ile söz konusu nöron, j ile sinapsın giriş
uygulanan ucu tanımlanmaktadır. Ağırlık çarpanı pozitif değerli olabileceği
gibi negatif değerli de olabilir [7].
2.
Toplayıcı: Uygun ağırlıkların uygulanmış olduğu giriş sinyallerini
toplamak için kullanılır [7].
3. Aktivasyon fonksiyonu: Nöronun çıkışının genliğini kısıtlamak için
kullanılır. Genelde bir nöronun normalize edilmiş genliği [0,1] veya [-1,1]
kapalı aralığında ifade edilir [7].
1.4. Aktivasyon Fonksiyonu Çeşitleri
arg = Ij+bj tanımlaması
kullanılarak bir nöron için aktivasyon fonksiyonu F(arg) ifadesiyle gösterilir. Aktivasyon fonksiyonunun üç temel tipi takip eden
alt başlıklarda verilmiştir.
1.4.1. Eşik Fonksiyonu
Eşik fonksiyonu kullanılarak yapılmış bir nöron
literatürde McCulloch-Pitts modeli olarak adlandırılır. Fonksiyonun grafiği Şekil 3.3’te gösterilmiştir
[8].
1.4.2. Kısmi Doğrusal Fonksiyon
Doğrusal olmayan bir genlik artımı sağlayan bu aktivasyon
fonksiyonu Şekil 3.4’te gösterimiştir. Eğer doğrusal bölgedeki genlik arttıran
katsayı yeterince büyük alınırsa parçalı doğrusal fonksiyon eşik fonksiyonunua
dönüşür [8]. 4 Kısmi
Doğrusal Fonksiyon
Sigmoid Fonksiyonu
Yapay sinir ağları oluşturulurken en çok kullanılan
aktivasyon fonksiyonudur. Doğrusal ve doğrusal olmayan davranışlar arasında
denge sağlayan sürekli artan bir fonksiyon olarak tanımlanır. Sigmoid
fonksiyona bir örnek lojistik fonksiyondur ve Şekil 3.5’de gösterilmiştir [7].
Görüleceği
üzere sigmoid fonksiyonunun türevi alınabilirken eşik fonksiyonunun türevi
alınamaz.
Hiperbolik
tanjant fonksiyonu da sigmoid fonksiyon örneğidir ve Şekil 3.6’da görülebilir.
Yapay Sinir Ağı
Yapay
Sinir Ağı, öngörülen sayıda yapay sinir hücresinin, veri işlemek amacıyla
belirli bir mimaride yapılandırılmasıyla şekillenir. Bu yapı,
genellikle,numaralandırılan birkaç katmandan oluşur. İlk katman, çoğunlukla
numaralandırılmayan, giriş katmanıdır. Bu katmanın numaralandırılmaya
katılmayışının sebebi, giriş katmanındaki elemanların ağırlık çarpanları ve
aktivasyon fonksiyonlarının olmaması sebebiyle veri girişinden başka bir işlem
yapmamalarıdır. Çıkış katmanı da son katmandır. Tercihe bağlı olarak farklı
sayıda olabilen diğer ara katmanların ortak adı gizli katmandır [7].
Ağ Yapıları
Ağ
yapıları tek katmanlı ileri beslemeli, çok katmanlı ileri beslemeli ve döngülü
yapay sinir ağları olmak üzere üç temel başlıkta toplanabilir.
Tek Katmanlı-İleri Beslemeli Sinir Ağları
(FF)
Tek katmanlı ileri beslemeli yapay sinir ağı en
basit ağ yapısıdır. Bir giriş katmanı ve bir çıkış katmanı vardır. Örnek yapısı
Şekil 3.7’de gösterilmiştir. Bu tip bir ağda bilgi girişten çıkışa doğru
ilerler yani ağ ileri beslemedir. Tek katmanlı olarak isimlendirilmesinin
sebebi, giriş katmanının veri üzerinde hiçbir işlem yapmadan veriyi çıkış
katmanına iletmesidir [7].
Çok Katmanlı-İleri Beslemeli Sinir Ağları (FF)
Bu tip yapay sinir ağlarının özelliği, Şekil 3.8’da da görüleceği
üzere bir veya daha fazla gizli katman içermesidir. Gizli katmanların amacı
giriş ve çıkış katmanları arasında gerekli bir takım işlemler yapmaktır. Giriş
katmanı geniş olduğu zaman gizli katmanlar sayesinde yüksek dereceli
istatistiksel veri elde edilebilir. Çok katmanlı yapılarda (n). katmanın çıkış sinyalleri (n+1).
katmanın giriş sinyalleri olarak kullanılır. m adet giriş düğümü, ilk gizli katmanında h1 adet nöron, ikinci gizli katmanında h2 adet nöron ve çıkış
katmanında q adet nöron bulunan bir
çok katmanlı ileri besleme ağı m-h1-h2-q ağı
olarak adlandırılır. Eğer
her katmanda bulunan nöronlar bir sonraki katmanın tüm nöronlarına bağlı ise bu
tip ağa tam bağlantılı ağ denir. Eğer
bu sinaptik bağlantılardan bazıları eksikse ağ, kısmi bağlantılı ağ adını alır
[7].
Çok
katmanlı yapay sinir ağı
Radyal Tabanlı Sinir Ağları (RBF)
Radyal
tabanlı ağlar, duyarlı almaç bölgelerinin olduğu giriş tabakası, radyal tabanlı
nöronları, Şekil 3.9, içeren gizli tabaka ve çoğunlukla doğrusal aktivasyon
fonksiyonlu nöronlardan ibaret çıkış tabakasından oluşur. Radyal tabanlı ağlar,
geriyayılım algoritmalı ileri beslemeli ağlardan daha fazla nöron kullanımına
ihtiyaç 9 Radyal tabanlı nöron
Radbas transfer fonksiyonunun net girişi, ağırlık vektörü, w,
ile giriş vektörü, p’nin vektörel uzaklığının bias terimi ile
çarpımıdır. w ile p arasındaki uzaklık azaldıkça transfer
fonksiyonunun çıkışı artar ve uzaklık sıfırken çıkış maksimum değeri 1’e
ulaşır. w ile p arasındaki uzaklık arttıkça çıkış sıfıra gider
[8].
Radyal tabanlı bir ağın topolojisi
Şekil 3.11‘ de gösterilmştir.
11 Radyal
tabanlı ağ topolojisi
. Döngülü Yapay Sinir Ağları (RNN)
Döngülü yapay sinir ağlarının ileri beslemeli ağlardan farkı en az
bir adet geri besleme çevriminin olmasıdır.
Yukarıda
verilen sınıflandırmada, bağlantıların simetrik veya asimetrik olması durumuna
göre alt sınıflar ortaya çıkar. i nöronundan j nöronuna yönelik
bir bağlantı varsa j’den i’ye yönelik bir bağlantı da vardır. Bu
iki bağlantının ağırlıkları wij=wji eşitse
bağlantı simetriktir denir. Eşitsizlik durumunda, bağlantı asimetrik olur.
Farklı
katmanlara ait nöronların bağlantısına, katmanlararası(interlayer) bağlantı
denir. Aynı katmandaki nöronların bağlantısına, katmaniçi(intralayer) bağlantı,
komşu olmayan katmanlardaki nöronların bağlantısınada katmanlarötesi(supralayer)
bağlantı denir. Bunlardan başka, bir nöron kendisiyle bağlantılı olabilir.
Sıkça kullanılan bir terim olan tam-bağlantılılık, bir katmana ait tüm
nöronların komşu katmandaki tüm nöronlarla bağlantılı olduğu durumu tanımlar
[7].
YSA’da Öğrenme ve Hatırlama
YSA’nın gerçekleştirdiği iki
temel fonksiyon, öğrenme ve hatırlamadır. Öğrenme, ağırlık değerlerinin, bir
giriş vektörüne karşılık arzu edilen çıkış vektörünü sağlamak üzere
uyarlanmasıdır. YSA’nın, belirli bir girişe, ağırlık değerlerine uygun bir
çıkış üretmesi de hatırlama olarak tanımlanır.
Ağırlık değerlerinin ayarlandığı
öğrenme süreci denetimli, denetimsiz olabilir. Aralarındaki farkın kaynağı
eğitim verisinin sınıflandırmasını yapan denetim mekanizmasının olup
olmadığıdır. Bu durumda, denetimsiz öğrenme sürecinde
öğrenmenin yanısıra eğitim
verisinin sınıflandırması da başarılması gereken bir başka görevdir [7].
Mühendislik
uygulamalarının büyük çoğunluğu denetimli öğrenmeyi kullanır. Yapay sinir
ağına, yapması istenilen göreve dayalı bir dizi örnek bilgi verilerek sinir ağı
eğitilir. Burada amaç belirli bir giriş için hedef bir çıkış elde etmektir.
Hedef çıkış, denetmen tarafından sağlanır. Elde edilen çıkışla hedef
karşılaştırıldığı zaman hedefe ulaşılamamışsa bağlantıların ağırlıkları
benimsenen öğrenme yaklaşımına göre ayarlanarak işlem tekrarlanır. Blok diagram
olarak Şekil 3.12’de gösterilmiştir.
1.5.3. Eğitim ve Test Verisi Seçimi
Yapay sinir ağının eğitimi ve sınaması için
toplanan veri sistemin düzgün çalışma uzayını kapsamalıdır. Örnek kayıtlarının
çalışma uzayının sınırlarını belirlediği ve yapay sinir ağlarının yalnızca
eğitildiği çalışma aralığı için güvenilir sonuç verebildiği, yani,
ekstrapolasyon yeteneğinin güvenilemeyecek derecede kısıtlı olduğu
unutulmamalıdır. Genel özelliklerin net olarak belirlenmesi için örnek kayıdı
koleksiyonunun geniş olması tercih edilir. Bu kayıtların bir kısmı eğitim
aşamasında kullanılırken bir kısmı sınama aşamasında ağın genelleştirme
yeteneğinin teyidi amacıyla kullanılır. Sınamanın başarısızlığı durumunda,
sınama amacıyla kullanılan kayıtların bir kısmı eğitim verisine katılarak
eğitim ve sınama işlemleri kabul edilebilir bir performans kriterine kadar
tekrarlanır [7].
Yapay sinir ağı eğitiminde karşılaşılan temel bir
sorun ezberlemedir. Yapay sinir ağının eğitim sürecindeki hata seviyesi, test
sürecindeki hata seviyesine göre bariz farklılıklar gösterdiği takdirde
ezberleme sorunu ile karşılaşılmış olur. Bu da tanımlanması istenen fonksiyel
ilişkiden ziyade eğitim verisindeki gürültü gibi tuhaflıkların da öğrenildiği
anlamına gelir. Ezberlemeyi azaltmak için yapılabilecekler:
·
Eğitimde
kullanılan kayıt sayısını arttırarak gürültünün ortalamasının kendiliğinden
düşmesini sağlamak,
·
Serbest
parametre olan nöronların sayısını kullanılması gerekenin asgarisi ile
sınırlamak,
·
Eğitimi,
ezberleme başlamadan kesmek. Yöntem, çapraz değerlemeli eğitim olarak
adlandırılır. Esası, eğitim sırasında ezberleme kontrolü yapmaya dayanır.
Eğitim aşamasında biri eğitim, diğeri kontrol için olmak üzere iki veri grubu
kullanılır. Her epokun sonunda her iki grup için hatanın RMS değeri hesaplanır
ve kontrol kümesinin hatasında değişim olmadığı halde eğitim kümesinin
hatasının azalmaya devam ettiği aşama tespit edilmeye çalışılır. Bu aşamada
eğitim kesilir [7].
Geri Yayınım Algoritması (BP)
Uygun ağırlıkların bulunması için en sık
kullanılan yöntem geriyayınımdır. Geriyayınım algoritması, bir hedef fonksiyonu
minimize etmek üzere tasarlanmış optimizasyon tekniğidir[9]. En sık kullanılan
hedef fonksiyon hatanın karesidir. , hata terimini
göstermek üzere, hata (3.1a) ve hedef fonksiyonun tanımlanmasında kullanılan
hatanın karesi (3.2b) eşitliğiyle verilir.
(3.1a)
(3.1b)
Yukarıda
kullanılan gösterimde, k katman numarası, q nöron numarasını
belirlemektedir. Delta kuralıyla ifade edildiği üzere, ağırlık değerindeki
değişim, hatanın karesinin ağırlığa göre değişim oranıyla orantılıdır.
- (3.2a)
Kısmi türev, zincir kuralı kullanımıyla açılarak
(3.2b)
Bu eşitlikte,
(3.3a)
(3.3b)
(3.3c)
(3.3d)
(3.3) eşitlikleri (3.2b)
eşitliğine yerleştirilirse;
(3.4)
Esasen geriyayılacak
hata terimi olan d aynı zamanda kısa bir gösterim elde etmek için;
(3.5)
olarak tanımlanırsa;
(3.6)
N, iterasyon sayacı
olmak üzere, (N+1). adım için ayarlanacak ağırlık değeri;
(3.7)
ile elde edilir.
(3.7) eşitliğinde tanımlanan işlem, uygun ağırlık değerlerine ulaşabilmek
için çıkış katmanının tüm nöronlarına uygulanır. Hedef değerlere
ulaşılamamasının bir sebebi hatalı çıkış katmanı ağırlıklarıyken diğeri, gizli
katmanın ürettiği hatalı çıkışlardır. Gizli katmanın ağırlıklarının
ayarlanmasında kullanılan denklemler, hedef değer olmaksızın hesaplanması
gereken hata terimi haricinde aynıdır. , çıkış katmanında bağlantılı olduğu her nöronun hata terimine katkı
yapan gizli katman nöronlarının herbiri için ayrıca hesaplanmalıdır.
Hatanın ağırlıklara göre gradyanı başlangıç
noktası alınıp zincir kuralıyla devam edilirse,
(3.8a)
(3.8b)
(3.8b) Eşitliğinin sağ tarafındaki terimleri ayrı
ayrı ele alalım:
(3.9a)
(3.9b)
(3.9c)
(3.9d)
(3.9e)
(3.9) eşitlikleri (3.8b) eşitliğinde yerlerine
koyulursa,
(3.10a)
(3.10b)
(3.11)
elde edilir.
Son adım olarak, gizli katman nöronunun (N+1).
iterasyon için değeri (3.12) ile bulunur:
(3.12)
Tüm gizli katman nöronları için değişiklik
yapıldıktan sonra yeni girişler uygulanır ve süreç yeniden başlar. Hedeflenen
hata kriterine ulaşılana dek iterasyon devam eder. Hata kriterine ulaşıldığında
eğitim tamamlanmış olur [5].
Geri Yayınımlı Eğitimi Etkileyen Etmenler
Geriyayınımlı eğitimin başarımını arttırmak için
yapılabilecek bir takım düzenlemeler önerilmiştir.
Bias
Her bir nöron için bir bias elemanı ilave
edilebilir. Aktivasyon fonksiyonunun apsisi
kestiği noktayı öteleyerek nöronun eşik seviyesinde
değişiklik etkisi yaratır. Genelde, eğitim hızını olumlu etkiler. Giriş
elemanlarının biası (+1) olmak durumunda olmasına karşın diğer biaslar herhangi
bir değer alabilir ve eğitilebilir [5].
Momentum
Hareketli bir cismin momentumunun etkisine benzer,
eğitim sürecinin yönünün korunması sağlar. Bunun için, ağırlık ayarlaması
sırasında, önceki ağırlık değişimiyle orantılı bir terim ilave edilir. , momentum terimi olmak üzere denklem (3.13) elde edilir:
(3.13)
Yerel
minimumdan kurtulmayı sağlayabildiği için ilgi gören düzenlemelerdendir. Ancak,
geriyayınımın olamadığı gibi momentum ilavesi de her derde deva değildir [5].
Öğrenme Katsayısı()
Pozitif değerli olmak zorundaki öğrenme katsayısı
2’den büyük seçildiğinde YSA’nın kararsızlığına, 1’den büyük seçildiğinde de
çözüme ulaşmaktansa salınım yapmasına sebep olur [7]. Öğrenme katsayısı için uygun aralıktır. Bu
aralıkta seçilen katsayının büyüklüğüyle, öğrenme adım aralığı orantılıdır.
Eğitim verisinin değişim oranına uygun katsayı seçilmelidir. Uyarlanabilir
öğrenme katsayısı kullanımı da başvurulabilecek yöntemlerdendir.
. Sigmoid Fonksiyonunun Eğim Parametresi()
Eğim parametresine bağlı değişim Şekil 3.13’de
gösterilmiştir. Artan ağırlık değerleri, nöronun, sigmoid fonksiyonun
eğiminin(türevinin) çok küçük değerli bölgelerinde işlem yapmasına sebep olur.
Geri yayımlanan hata terimi türevle orantılı olduğundan, düşük eğimde yeterli
eğitim gerçekleşmez. Eğimin ayarlanması, eğitim süresini ve başarısını doğrudan
etkiler [7].
Yerel Minimum
Geriyayınım algoritmasının sıkıntı yaratan yanı,
yerel minimuma takılmasıdır. Algoritma, gradyan azaltma yöntemini kullandığı
için hata yüzeyinin eğimi negatif olduğu sürece ağırlıkların minimuma ulaşmayı
sağlayacak şekilde ayarlandığı kabul
edilir. Hata yüzeyi, kolaylıkla düşülebilecek fakat kurtulmanın mümkün olamayabileceği
tepe ve çukurları barındırabilir. Atanan ilk ağırlık değerleri, civarında,
azalan gradyan yönünde arama yapılacak noktayı belirler. Rasgele seçilen ilk
noktadan, global minimuma kadar olan mesafede yerel minimum problemini
yaratabilecek hata değerleriyle karşılaşmak muhtemeldir. Şekil 3.14 yerel
minimumları göstermektedir.
YSA ile Zaman Serisi Modelleme
YSA, geçmişe ait verilerin oluşturduğu zaman
serisinin modellenmesi ve geleceğe dönük kestirim yapılması işlemlerinde artan
bir ilgi görmekte ve kullanılmaktadır. Mertebesi belirlenmiş AR, MA veya ARMA
modeli kullanılarak yapılan kestirime benzer olarak, uzunluğu YSA’nın giriş
elemanlarının sayısına eşit bir pencere, zaman serisi üzerinde adım adım
ilerleyerek giriş olarak uygulanacak zaman serisi elemanlarını tanımlar. İşlem
Şekil 3.15’de gösterilmiştir. Bu işlem, hem modelleme hem de kestirim sırasında
kullanılır. Modelleme sırasında, pencere uzunluğunun p ile verildiği durumda,
serinin (p+1). elemanı hedef değer olarak alınır. Seri boyunca ilerleyen
kayan pencerenin belirlediği veriler için hedeflenen hata kriterine ulaşılana
dek YSA eğitimi devam eder. Geleceğe dönük kestirim, bir adımdan daha fazlası
için yapılabilirse de hata artacaktır. Hatanın, bir çıkış değerine göre
azaltılmaya çalışılması çözümün doğruluğunu arttıracaktır [7]. Bu noktada
vurgulanması gereken özellik algoritmanın ek yük getirmeden SISO(Tek Giriş Tek
Çıkış), MISO(Çok Giriş Tek Çıkış) veya MIMO(Çok Giriş Çok Çıkış)
çalışabilmesidir [10].
Bundan başka, farkı, eğitimde kullanılacak veriden
kaynaklanan iki alternatif modelleme yaklaşımından birincisinde ilk adım,
mevsimsel değişimler gibi periyodikliği bariz bileşenlerin veriden
çıkarılmasıdır. Gerikalan, detay niteliğindeki veri üzerinden YSA eğitilir.
Eğitilen YSA’nın kestirimlerinin, daha önce tespit edilmiş periyodik
bileşenlerle toplanmasıyla işlem tamamlanır. Diğer yaklaşımda eğitim verisi,
ardışık elemanlar arasındaki farkın veya değişim oranının hesaplanmasıyla elde
edilir [7].
0 yorum:
Yorum Gönder