novruzallahverdi.karatay.edu.tr · Web viewBir sinir ağına verilen giriş sinyalleri, bağlı...

37
YAPAY SİNİR AĞLARI (YSA) DERSİ KONULARI BÖLÜM1 BİYOLOJİK SİNİR Bölüm 1.1 Genel Bölüm 1.2 İnsanda Sinir Sistemi Bölüm 1.3 Sinir Hücresinin (Nöronun) Yapısı Bölüm 1.4 Sinir Hücresi Nasıl Çalışır? Bölüm 1.5 Nöronun Matematik Modeli Bölüm 1.6 Nöronun Elektronik Modeli Bölüm 1.7 Nöronun Lojik Modeli Bölüm 1.8 Nöron Modellerinde Hatalar Bölüm 1.9 Nöron Ağları ve Karakteristikleri Bölüm 1.10 Nöron Ağları Yardımıyla Çözümlenen Problemler BÖLÜM 2 NÖRON AĞLARI MİMARİSİ Bölüm 2.1 Tam İlişkili ve Hiyerarşik Ağlar Bölüm 2.2 İki Katlı Nöron Ağları Bölüm 2.3 Çok Katlı Nöron Ağları Bölüm 2.4 Aktifleşme Fonksiyonu Bölüm 2.4.1 Lineer Fonksiyon Bölüm 2.4.2 Eşik Sinir Fonksiyonu Bölüm 2.4.3 Sigmund (Yarım Lineer) Fonksiyon Bölüm 2.4.4 Hiperbolik Tanjant BÖLÜM 3 NÖRON AĞLARI Bölüm 3.1 Deterministik Nöron Ağları Bölüm 3.2 Stabillik Problemi Bölüm 3.3 Hopfield Ağları Bölüm 3.4 Hopfield Ağının Bir Associative Bellek gibi kullanımı Bölüm 3.5 Stokastik Nöron Ağları BÖLÜM 4 EĞİTİM YÖNTEMLERİ Bölüm 4.1 Eğitim Yöntemlerinin Sınıflandırılması Bölüm 4.2 Süpervizörlü Eğitim Bölüm 4.3 Süpervizörsüz Eğitim Bölüm 4.4 Topolojik Değişiklikli Eğitim Bölüm 4.5 Skolastik Eğitim Bölüm 4.6 Süpervizörlü Eğitme Algoritmaları Bölüm 4.7 Perseptron ve Eğitimi Bölüm 4.8 Adaline ve Eğitilmesi Bölüm 4.9 Çok Katlı Perseptron Bölüm 4.10 Gizli Katmansız Ağlarda Süpervizörlü Öğrenme Bölüm 4.11 Geri Yayılım Algoritması Bölüm 4.12 Nöron Ağlarını Modellemek İçin Araçlar

Transcript of novruzallahverdi.karatay.edu.tr · Web viewBir sinir ağına verilen giriş sinyalleri, bağlı...

 

YAPAY SİNİR AĞLARI (YSA) DERSİ KONULARI

BÖLÜM1

BİYOLOJİK SİNİR

Bölüm 1.1

 Genel

Bölüm 1.2

 İnsanda Sinir Sistemi

Bölüm 1.3

 Sinir Hücresinin (Nöronun) Yapısı

Bölüm 1.4

 Sinir Hücresi Nasıl Çalışır?

Bölüm 1.5

 Nöronun Matematik Modeli

Bölüm 1.6

 Nöronun Elektronik Modeli

Bölüm 1.7

 Nöronun Lojik Modeli

Bölüm 1.8

 Nöron Modellerinde Hatalar

Bölüm 1.9

 Nöron Ağları ve Karakteristikleri

Bölüm 1.10

 Nöron Ağları Yardımıyla Çözümlenen Problemler

BÖLÜM 2

NÖRON AĞLARI MİMARİSİ

Bölüm 2.1

 Tam İlişkili ve Hiyerarşik Ağlar

Bölüm 2.2

 İki Katlı Nöron Ağları

Bölüm 2.3

 Çok Katlı Nöron Ağları

Bölüm 2.4

 Aktifleşme Fonksiyonu

Bölüm 2.4.1

 Lineer Fonksiyon

Bölüm 2.4.2

 Eşik Sinir Fonksiyonu

Bölüm 2.4.3

 Sigmund (Yarım Lineer) Fonksiyon

Bölüm 2.4.4

 Hiperbolik Tanjant

BÖLÜM 3

NÖRON AĞLARI

Bölüm 3.1

 Deterministik Nöron Ağları

Bölüm 3.2

 Stabillik Problemi

Bölüm 3.3

 Hopfield Ağları

Bölüm 3.4

 Hopfield Ağının Bir Associative Bellek gibi kullanımı

Bölüm 3.5

 Stokastik Nöron Ağları

BÖLÜM 4

EĞİTİM YÖNTEMLERİ

Bölüm 4.1

 Eğitim Yöntemlerinin Sınıflandırılması

Bölüm 4.2

 Süpervizörlü Eğitim

Bölüm 4.3

 Süpervizörsüz Eğitim

Bölüm 4.4

 Topolojik Değişiklikli Eğitim

Bölüm 4.5

 Skolastik Eğitim

Bölüm 4.6

 Süpervizörlü Eğitme Algoritmaları

Bölüm 4.7

 Perseptron ve Eğitimi

Bölüm 4.8

 Adaline ve Eğitilmesi

Bölüm 4.9

 Çok Katlı Perseptron

Bölüm 4.10

 Gizli Katmansız Ağlarda Süpervizörlü Öğrenme

Bölüm 4.11

 Geri Yayılım Algoritması

Bölüm 4.12

Nöron Ağlarını Modellemek İçin Araçlar

Prof. Dr.Novruz ALLAHVERDİ ©2001  Yapay Sinir Ağları BÖLÜM 1

BİYOLOJİK SİNİR

Genelİnsanda Sinir SistemiSinir Hücresinin (Nöronun) Yapısı Sinir Hücresi nasıl çalışır?

Genel

Canlılar, cansız varlıklardan farklı olarak çevreleriyle devamlı bilgi ve madde alış-verişi yapan açık sistemlerdir. Canlı organizmalarda iş ve dış değişikliğine cevap tepkisi sinir sistemi (SS) tarafından meydana getirilir.

İnsanda Sinir Sistemi

Canlılarda en gelişmiş SS insanda bulunur. İnsanın SS, çok çeşitli ve karmaşık faaliyetlerin kontrolünü sağlaması bakımından eşsizdir.

Değişik duyu organlarından gelen binlerce bilgi bu sistem sayesinde taşınır, işlenir ve bunlara uygun cevaplar hazırlanır.

SS, endokrin sistemle birlikte çalışarak insan organizmasının bütünlüğünü sağlar. SS sinir hücrelerinden oluşmaktadır. İnsan beynindeki sinir hücrelerinin sayısı 14 milyar civarındadır.

Sinir Hücresi = NÖRON (NEURON)

Sinir Hücresinin (Nöronun) Yapısı

Akson dendritlerle gelen uyarıyı, hücre gövdesinden başka nöronlara ve efektör organlara iletimde görev yapar.

Sinaps: Bir nöronun dendriti ile diğer nöronunu aksonunun karşılaştığı yere “sinaps” denmektedir.

Sinir Hücresi nasıl çalışır?

Nöronlar birbirleri ile iletişim kurmak ve bu iletişim yardımıyla diğer nöronları etkilemekle çalışmaktadırlar.

Bir nöronun girişleri (dendritler) ile diğer bir nöronun çıkışları (aksonlar) arasından iletişim sinaps yardımıyla yapılır. Bir nöronu etkileyebilecek sinapsların sayısı 100’den 1000’dek olabilmektedir. Nöronun elektrik potansiyeli değeri, sinapslara gelen sinyalin değeri ve uzunluğuna bağlıdır. Diğer taraftan sinaps kendisi de bu değerleri etkilemektedir. Bu etki bazı sinapsların bu değerleri azaltarak, bazılarını ise artırarak geçirmesinde kendini göstermektedir. Böyle etki, çoğu zaman sinapsın ağırlığı diye adlandırılan sinapsın efektifliği sonucunda yapılabilmektedir.

Böylece nöronun girişine verilen her bir potansiyel değeri bir ağırlıkla etkilenmekte, başka sözle çarpılmaktadır. Nörona gelen bu çarpılmış potansiyel değerler nöronda toplanarak bir toplam potansiyel değeri oluşturur. Bu potansiyel belli bir değere (40 mV gibi) ulaştıkta nöron bu değeri çıkışına iletir ve böylece yeni bir aktifleşme dalgası oluşturur. Bu etki akson boyunca iletilir, aslında bu iletme bir elektro kimyasal bir süreçtir ve iletme hızı 10 m/c’den 150 m/c’ye kadardır. Yeni etki diğer bir nöronu etkilemek için bu nörona bağlı sinapslardan geçerek (yani ağırlıkla çarpılarak) bu nöronda toplanır. Etkiler engelleyici ve kolaylaştırıcı olabilirler.

BİYOLOJİK SİNİR

Nöronun Matematik ModeliNöronun Elektronik ModeliNöronun Lojik Modeli 

Nöronun Matematik Modeli

Birbirine karmaşık bir şekilde bağlanmış nöronlar bir nöron ağı oluşturmaktadırlar. Böyle bir nöron ağını matematiksel olarak modelle bilmek için bir nöronun girişini etkileyen potansiyelleri X1, X2, ..., Xn (veya X vektörü) olarak adlandıracağız. Bu potansiyeller diğer nöronların çıkışları olabilirler, yani biyolojik nörondaki sinapslara verilen sinyale uygun gelirler.

X vektörünün her bir eleman sinapsın efektivliyine benzer uygun bir W1, W2, ..., Wn ilişki ağırlıklarına çarpılır. İlişki ağırlıkları okalyar değerlidir. Kolaylaştırıcı ilişkiler için bu ağırlık pozitif, engelleyici ilişkiler için ise negatif değer sahiptir.

Böylece; X; W1, X2W2, ..., XnW12 şeklindeki değerler bir toplama blokuna dahil olur. Bu blok biyolojik nöronda hücre gövdesine denk gelmektedir. Burada bu değerler toplanılır ve bununla nörondaki toplam potansiyel seviyesi belirlenir.

 (1.1.)

Nöronda çıkış sinyalinin belirlenmesi bu toplam değerin (I), bir moulineer fonksiyondan geçirilmesiyle yapılır: Y=F (I)

    Şekil 1.2. Nöronun Matematik Modeli

Aslında, Y=F(I-) gibi belirlenir; burada  nöronun eşiğidir. Bir kural olarak F fonksiyonu olarak aşağıda veriliş olan basit nonlineer fonksiyonlar kullanılır.

a) İkili (eşik)

Y =  1 , eğer I>

        0 , eğer I

b) Sigmoid

Bir sinir ağına verilen giriş sinyalleri, bağlı oldukları giriş nöronlarını aktifleştirir. Y1, Y2, ..., Ym sinir ağının çıkış aktifleşme vektörü adlanır.

Sinir ağındaki ilişkiler ağırlığı bir W matrisi ile belirlenir. Bu matrisin Wij elemanı i. ve j. Nöronlar arasındaki ilişkinin ağırlığıdır.

Ağın çalışması süreci giriş vektörünün çıkış vektörüne dönüştürülmesinden ibarettir , yani burada belirli bir imal süreci yapılmaktadır. Bu imalın tipi nöronun parametrelerine ve ağ mimarisine bağlıdır.

Nöronun Elektronik Modeli

Nöronun elektronik modeli, biyolojik nöronun bazı yapısal ve fonksiyonel özelliklerine sahip olan fiziksel olarak gerçekleştirilmiş bir eşik mantık elemanıdır. Böyle bir modelin blok şeması Şekil 1.3 ‘de gösterilmektedir.

Şekil 1.3 Nöronun elektronik modeli

 

1. blokta X1, X2, ... X4 girişlerinden oluşan bir tel ya dallanır, ya da birleşir. Onlardan bayileri çıkışa direkt bazıları ise diğer girişlerin telleri ile karşılıklı etkileşmeden sonra verilmektedir. 2. Blok giriş sinyallerini “dartmakta” ve sonra toplamaktadır.

Bu bloğun çıkışı 3. Blokta  eşik değeri ile kıyaslanır. Eğer ∑ eşikten çok veya ona eşit ise F sinyali üretilir. Aksi durumda F = 0 .

Bu nedenle eşik bloğu nonlineer negatif direnç alarmı oldu. S- ve N- tip volt-amper karakteristikli bir aktif 4 kütüğü kullanılabilir. 2. Blok yerin akım veya gerilim toplayıcısı kullanılabilir. Blok 1 VE, VEYA, DEĞİL, mantık şemalarından oluşur.

Örnek 1:Özel/VEYA

(+1).X1+(-2),X1 X2 +(+1).X2

=X1+X2 - 2X1X2

X1 = 0 ; X2 = 0 Y = 0 ; F = 0

X1 = 1 ; X2 = 0 Y= 1 ; Y    ; F = 1

 

Örnek 2

Flip-Flop

t anında bir flip-flopun çıkış durumu böyle belirlendiği bilinmektedir.

Zamanı (t), bir parametre gibi dikkate almazsak bu formül, aynen ÖZEL VEYA formülüdür. Bu yüzden şekil 1.4’dekinden yalnızca bir farkı olacak. Bu fark girişlerden birine birleştirilmesidir.

 

Nöronun Lojik Modeli

İki girişli bir lojik elemanın doğruluk tablosuna göz atalım. Tablodan göründüğü gibi bu bir VEYA elemanıdır. Burada çıkışın aktifleşmesi (ateşlenmesi - firing) yani F = 1 olması için X1 = 1 ve X2 = 1 satırı için ;

X1W1+X2W2 > 

Olmalıdır. Buradan

X1

X2

F

0

0

0

0

1

1

1

0

1

1

1

1

W1+W2 >     (1.1)

Olması sonucuna varırız.

X1 = 1 ve X2 = 0 satırı için

X1W1 > 

Ve buradan

W1 >     (1.2)

olmalıdır.

X1 = 0 ve X2 = 1 satırı için

X2W2 > 

Ve buradan

W2 >     (1.3)

Olmalıdır.

X1 = 0 ve X2 = 0 satırı için

F = 0 olduğundan dolayı girişlere bu değerler verildiğinde nöron aktifleşmemelidir. Bu yüzden

0 <     (1.4)

olması gerekmektedir. Böylece (1.1) - (1.4) ifadelerini analiz ederek  , W1 ve W2 için değerler bulunur. Tüm bu değerlerin genelde –1 ile +1 arasında değiştiği kabul edilir. (1.4) ifadesine göre q pozitif bir sayı olmalıdır. Bu yüzden, örneğin = 0.5 kabul edelim. Bu durumda W1 ve W2 ayrı ayrılıkta 0.5 ‘ten büyük bir sayı olacağı (1.2) ve (1.3) ifadelerinden görünmektedir. Bu yüzden W1 = W2 = 0.5 kabul edebiliriz. Bu değerler (1.1) koşulunu da sağlamaktadır.

Böylece girişleri ikili değerler olarak kabul edilen nöronun hesaplanması gereken diğer değerler (W1, W2 ve  ) hesaplanmış olmaktadır.

Örnek:

Buradan

W1 + W2 > 

W1 > 

W2 < 

0 > 

belirlenir. Buradan da

 = -0.2 kabul edersek;

W2 = -0.3 ve W1 = 0.5 yukarıdaki eşitsizlikleri sağlayacaktır.

BİYOLOJİK SİNİR

Nöronun Modellerinde HatalarNöron Ağları ve KarakteristikleriNöron Ağları Yardımıyla Çözümlenen Problemler 

Nöronun Modellerinde Hatalar

Nöronun matematik ve elektron modellerini oluştururken birkaç hata yapılmıştır.

1. Nöronların işine etki gösteren hormon ve kimyevi maddeler dikkate alınmamıştır.

2. Çoğu zaman nöronlar, oran ilişkilerde yalnızca sinaptik ilişkiler dikkate alınmaktadır, halbuki diğer ilişkiler de mevcut olmaktadır;

3. Bütün nöronlar senkron olarak çalışırlar;

4. Her biri nöron sinyali bir zaman birimi kadar kendinde tutmaktadır.

5. Nöronlar arası ilişkiler zamanın ve uzaya göre sabittirler, yani aktifleştirmeye bağlı olarak yok da bilmezler veya yeniden oluşamazlar.

Bunların biyolojik nöronun matematik ve elektronik modellerini sadeleştirdiği bir gerçektir. Bu yüzden modellerin beynindeki süreçlerle yeterliliğinden konuşulamaz. Buna rağmen, biyolojik ve formel nöronların çalışmasının mantıksal temelleri benzerdir.

PROBLEMLER

1. Aşağıdaki şekilde 6 sinapslı nöron gösteriliştir ve tüm sinapslar kolaylaştırıcıdır (engelleyici değil). Bu nöronun t süresinde X1, X2 ve X3 girişlerine göre hangi Y(t+1) fonksiyonunu gerçekleştirdiğini bulunuz.

2. Bu problemde (a)  = 2;  (b)  = 4 ve  (c)  = 6 olduğunda Y(t+1) nasıl değişir?

Nöron Ağları ve Karakteristikleri

İnsan beyini sinaptik ilişkiler yardımı ile bir tümleşik ağ oluşturan yaklaşık 14 milyar nörondan oluşmaktadır. İnsanın tüm algılama, tanıma ve düşünme süreçleri bu ağda elektrik sinyallerinin geçmesi sonucudur. Tabii ki gerçek biyolojik nöronların sinyalleri işleme süreci daha önce tasvir edildiğinden daha da karmaşıktır ve yeteri derecede öğrenilmemiştir. Nöronların çalışmağa başlaması gerçek zaman ölçeğinde asenkron olarak baş vermektedir. Sinaptik ilişkilerin gücü de değişmektedir, ama bu değişme daha yavaş yapılmaktadır. İnsan yavaş öğrenir, ama hızlı düşünür.

Eğer i. Nöronun durumunu xi ile ilişkisinin j. Ağırlığını wj ile işaretlersek

 yazabiliriz.

Nöronların aktifliğinin değişmesi nöronlara dahil olan sinyallerin değerlerine ve hem de bu sinyallerin etki süresine bağlıdır.

(Hopfield D.O. (1949) The Organization of Behaviour kitabında ele alınmıştır).

Eğeri iki ilişkili nöron aynı zamanda aktifleşirse, o halde bir nöronun aksonunu diğer nöronun gövdesi (veya dendriti) ile birleştiren düğümlerin ya sayısı, ya da boyutları artmaktadır. Her iki durumda bu, her iki nöron arasında ağırlıklı ilişkinin güçlenmesi demektir.

Nöron ağlarının bazı özelliklerine bakalım.

1. Paralellik: Ağdaki her bir nörona ayrıca çalışabilen bir hesaplayıcı cihaz olarak görülür. Bu ağa yüksek hız kazandırır.

2. Güvenirlik: (2a) Girişe verilen sinyaller gürültülü olabilmekte veya tam olmamaktadır. Bu, ağın girişe sanki sinyallerin tam ve doğru olarak girilmesi gibi çalışmasını engellememektedir.

(2b) Bir ilişkinin veya nöronun bozulması halinde ağın davranışı ya değişmez, ya da çok az değişir.

(3) Eğitilme: Nöron ağı kendi parametrelerini (yapısını, ağırlık katsayılarını) değiştirerek, somut problemin çözümü için kendini adapte etmek özelliğine sahiptir. Bu zaman çözülen problem alanı hakkında çok da bilgiye sahip olmadan ağın parametrelerinin hesaplamağa imkan verir. Örneğin nöron uzman sistemler tasarlarken, çok pahalı olan uzmanlarla çalışmak mecburiyeti doğmuş (elbette, eğer yeteri derecede istatistik veriler mevcut ise).

(4) Genelleştirme: Nöron ağları yalnızca eğitilen tasvirleri üretmekten başka, yeni tasvirler de doğurabilirler. Bu sistemin daha kompetan olmasını ve bir fonksiyon approksimatoru rolünü oynamağa imkan verir.

Nöron Ağları Yardımıyla Çözümlenen Problemler

Nöron Ağları yardımı ile aşağıdaki tip problemler çözümlenmektedir:

(1) Klasifikasyon,

(2) Klasterizasyon;

(3) Approksimasyon;

(4) Otoassociasyon

(1) Klasifikasyon (Sınıflandırma)

Bu problemde bir nesnenin belirtiler vektörü verilir ve bu nesneyi m tane kesişmeyen Ct sınıflarından birine ait edilmesi istenir.

Ci  Cö =    i  j.

Örneğin: Uçan nesneler sınıflandırılmasında belirtiler (clametler) kanatların, motorun... olması ele alınabilir. Sınıflar olarak Uçak, Kuş, Roket, Uçan Tabaklar vs. götürülebilir. Sınıflandırıcı sistemin (nöron ağının) girişine belirtiler vektörü verildiğinde, sistem bu belirtileri olan nesnenin hangi sınıfa ait olduğunu belirlemelidir.

(2) Klasterizasyon: Klaster analiz probleminde belirtiler vektörleri kümesi giriş gibi ele alınır ve bu kümeyi, klasterlere bölünmesi istenmektedir. Hem de bu durumda aynı klastere ait olan vektörleri birbirine yakın, çeşitli klastere ait olanlar ise birbirinden uzak olsunlar. Böyle bir problemi çözmek için nöron ağının girişlerinin sayısı belirtiler vektörü elemanları sayısına, çıkış sayısı ise klasterlerin sayısına eşit olmaktadır.

(3) Approksimasyon: F(x) herhangi bir fonksyion olsun. Bu durumda bir approksimasyon problemi öyle bir F* (x) fonksiyonu seçmekten ibarettir ki herhangi verilmiş bir küçük  için

d (F(x), F* (x)) < 

koşulu sağlansın.

Burada d fonksiyonlar arasındaki aradır.

Genel durumda F (x)*’in şekli belli değildir. Yalnızca x1  y1, ..., xn yn çift kümeleri verilebilir,       burada xi fonksiyonun giriş değişkenleri vektörünün i. Elemanı;              yi fonksiyonunun i değeridir. Eğer klasik yöntemler kullanılsaydı, (örneğin, en az kareler yöntemi), bize appoksime eden fonksiyon yöntemini (örneğin; lineer, karesel vs.) seçmek ve sonra seçilen modelin parametrelerini değerlendirmek gerekirdi. Nöron ağı ise genel bir appoksimatördür ve herhangi bir fonksiyonu yeterli sayıda nöronu kullanmakla verilmiş  hassaslığı ile approksime eder. Bu durumda approksimasyon modeli seçmek gerekliliği de yoktur.

Nöron ağı kapproksimasyon için kullanıldığında giriş değişkeni değeri ve fonksiyonu değeri çifti (xi  yi), ağın eğitilmesi için kullanılır. Eğitildikten sonra ağ, bakılan otobrajeniyaları çok yüksek hassaslıkla yapabilir. Değişken kombinasyonlar N-boyutlu uzayda bir noktayı verirler, burada N-fonksiyon değişkeni vektörü büyüktür. Her böyle nokta fonksiyonunun değerlerinin bir boyutlu uzayında bir nokta ile ilişkilidir. Herhangi bir X, noktası çevresinde bir nokta seçildiğinde ağ Y1’in çevresindeki bir noktayı belirlemektedir ve hem de bu çevre ne kadar küçük olursa, approksimasyon o kadar hassas yapılmış sayılır. Bu yüzden (X, Y) tipi çiftler ne kadar çok seçilirse approksimasyon o kadar hassas olmaktadır.

Pratikte, bu hassas (sahi) matematik sunumunun zor olduğu nesnelerin tanınmasıda kullanılır.

(4) Otoassosiasyon: Bu tür problemin çözümü assosiatif bellek modellerinin tasarımı ile ilgilidir.

İnsan ve bilgisayar hafızalarının aynı prensipte organize edilmediği bellidir. Bilgisayar hafızadaki herhangi bir enformasyona ulaşmak için onun adresini bilmelidir. İnsan ise elde edeceği enformasyona, onun bir kısmını, veya onun gürültülü versiyonunu, veya benzerini bilmekle ulaşır.

Assosiatif nöron modelinde uygun prosedürlerin yardımı ile tasvirin hafızada tutulması bir grup nöronun yardımı ile oluşturulur. Ağır girişine bu tasvirin bir kısmı verildiğinde, çıkışta korrekt ve tam tasvir alınır. Tasvir erişme süresi ağda depolanan tasvirlerin sayısına bağlı değildir.

NÖRON AĞLARI MİMARİSİ

Tam İlişkili ve Hiyerarşik Ağlarİki Katlı Nöron AğlarıÇok Katlı Nöron Ağları 

Tam İlişkili ve Hiyerarşik Ağlar

Bir nöron ağı belirli bir yapıda ilişkilendirilmiş nöronlar topluluğudur. Bir ağın hesaplama gücü bu ilişkilerle belirlenmektedir. İlişkiler bazı nöronların çıkışlarını diğerlerinin girişine birleştirmektedir ve bunların da “gücü” ağırlık katsayıları, veya sadece ağırlıkla verilmektedir. Buradan bir nöronun davranışının diğerine etkisinin onlar arasındaki ilişkinin ağırlığı yardımı ile olduğu görülmektedir. Bundan dolayı nöron sistemler çoğu zaman konneksiyonist (connection-birlesme, ilişki) sistemleri olarak da adlandırılırlar.

Nöron ağındaki ilişkilerin düzeni onun mimarisini teşkil etmektedir. Genelde ilişkilere göre 2 sınıf mimarinin mevcut olduğu söylenebilir. (1) tam ilişkili ve (2) hiyerarşik ağlar.

Graf teorisinden de belli olduğu gibi tam ilişkili konfigürasyonda tüm elemanlar birbiri ile birleştirilmişler. Nöron ağında bu, her bir nöron çıkışının diğer tüm nöronların girişleri ile ilişkilendirilmesi demektir. Bundan başka her bir nöronun çıkış hem de kendi girişi ile de ilişkilendirilmiştir (Kendi kendine ilişki). N nöronu olan böyle bir ağda ilişkilerin sayısı N.N. olacaktır. 5 nörondan oluşan tam ilişkili nöron ağı Sekil 2.1’de gösterilmektedir.

Hiyerarşik yapıda ayrı ayrı nöron grupları katlara veya seviyelere yerleştirilmişlerdir. Her bir nöron katındaki nöronlar önceki ve sonraki katlardaki nöronlarla ilişkilendirilmiştir. Burada giriş ve çıkış katlarını özel olarak ayırmak gerekmektedir. Giriş katındaki nöronlar dış dünyadan sinyalleri alarak diğer katlara iletir. Buna göre de o kattaki nöronların sayısı giriş değişkenlerinin sayısına eşittir. Dış kattaki nöronların çıkışları dış dünyaya iletilir. Buradaki nöronların sayısı ise çıkış fonksiyonlarının sayısına eşit olmaktadır. Giriş kati ile çıkış kati arasında kalan katlara gizli kat (veya katman) denmektedir, çünkü bu kat direk olarak dış dünyaya bağlı değildir.(Sekil 2.2)

Nöron ağında sinyallerin iletilmesi yönüne göre 2 tür ag mevcuttur:

(1) Geri beslemesiz ileri beslemeli, aks alakasız veya recurrent olmayan (feed-back) ağlar.

Ileri beslemeli ağlarda sinyalin yönü yalnız girişten çıkışa doğru yönlenmektedir. Geri beslemeli ağlarda ise bundan başka bir kattaki nöron kendi kendinden ve kattaki diğer nöronlardan veya diğer kattaki nöronlardan sinyal alabilmektedir. Böylece geri beslemeli ağda bir nöronun çıkış sinyali diğeri yalnızca cari andaki o nöronun girişleri ve bu girişlerin ağırlıkları ile değil, hem de bazı nöronların bir önceki süre zarfindaki çıkış değerleri ile belirlenmektedir. Sekil 2.3.’de geri beslemesiz, 2.4’de ise geri beslemeli nöron ağları örneği gösterilmektedir.

Eğer geri beslemeli ağdaki ilişkiler engelleyici iseler (yani negatif ağırlığa sahip iseler), o halde bu ağa lateral engellemeli ağ denmektedir (Sekil 2.5).

 

İki Katlı Nöron Ağları

İki katlı nöron ağı öylesine bir hiyerarşik ve ileri beslemeli ağdır ki giriş nöron katından başka, bir de nöronlarının girişlerine dahil olan sinyallerin fonksiyonu gibi belirlenen çıkış sinyalleri olan çıkış kati mevcuttur, yani bu ağın bir tane giriş kati ve bir tane de çıkış kati mevcuttur. Giriş kati sinyallerinin paylanması rolünü üstlenir.

Bu nörondan çıkış sinyalleri toplusu ağın çıkış vektörü Y’yi teşkil etsin. Bu vektörün boyutu (m) ağın çıkışlarının sayısına eşit olsun. Benzer şekilde giriş m boyutlu giriş vektörü ve boyutu n.m. olan w ağırlık matrisi de verilmiş olsun. Bu durumda ağın çıkışı ile girişi arasındaki bağlılığı aşağıdaki şekilde gösterebiliriz:

Y=X.W

Böyle bir ağ aktifleşme için lineer fonksiyon (ileride göreceğiz) kullandığında ona yeni katlar ekledikte, hesaplama gücünün artmadığını göstermek mümkündür. Diyelim ki ağırlık matrisleri W1 ve W2 olan 2 kat olsun. O zaman her bir kat için çıkış:

X1 =XW1 ve Y2 = Y.W2 = XW1W2= XW

olmaktadır. Burada W=W1W2. Böylece lineer aktifleşme fonksiyonu kullanan istenilen çok katli ağa ona denk olan iki katli ağa getirmek (dönüştürmek) mümkündür.

Çok Katlı Nöron Ağları

Nöron ağında katların sayısının arttırılması, onun hesaplama gücünün, yani daha karmaşık fonksiyonlar (tasvirler) kurmak imkanının artmasına getirir.

Gizli katmanı olmayan, yani iki katla ağ birçok problemleri çözememektedir. Buna örnek olarak “özel veya” işlemi gösterilir her zaman.

Problemi anlamak için bir nöronun fonksiyonuna detaylı bakalım. Aktifleşmesi eşik fonksiyonuna bağlı olarak oluşan bir nöronu ele alalım. Onun n girişi olsun. n- boyutlu uzayda bu uzayiçi her bir koordinate nöronun girişlerinden birine uygun olsun. Aşağıdaki denkleme bakalım:

(2.1.) denkleminin n-boyutlu uzayda bir hiperdüzlemi belirlediği görülmektedir.

Bu hiperdüzlem alt uzayı iki altuzaya bölmektedir. Bu altuzaylardan biri için

Diğeri için

Eşitsizlikleri uygun olarak geçerlidir.

Nöronun aktifleşme fonksiyonu böyle olsun (eşik fonksiyonu):

Buradan nöronun giriş sinyalleri uzayını iki kısma böldüğü görülmektedir. Bu durumda belirli giriş kombinasyonları nöronu aktifleştirir, diğer bir kısmı ise aktifleştirmez. Buradan iki katli nöronun yalnızca lineer ayrılabilen (sefarable) problemleri çözebildiği sonucuna varılır.

Sekil 2.6.’da “özel veya” (X1 O X2) probleminin geometrik yorumu verilmektedir. Parantezdeki rakamlar nöron ağındaki arzu edilen sonucu göstermektedir. Şekilde de görüldüğü gibi öylesine bir doğru çekmek mümkün değil ki, doğrunun bir tarafında yalnızca 1” çıkışına uygun, diğer tarafında ise yalnızca “0” çıkışına uygun noktalar olsun. Böylece, gizli katsız “özel veya “ işleminin yapılamadığı görülmektedir.

X1=0 0.1 + 0.1 < 0,5 => 0

X2 = 0

X1=1 1.1 + 0.1 = 1>0.5 => 1.1

X2=0 1.(-1) + 0.(-1) = -1 > 1.r => 1.1

NÖRON AĞLARI MİMARİSİ

Tam İlişkili ve Hiyerarşik Ağlarİki Katlı Nöron AğlarıÇok Katlı Nöron Ağları 

Tam İlişkili ve Hiyerarşik Ağlar

Bir nöron ağı belirli bir yapıda ilişkilendirilmiş nöronlar topluluğudur. Bir ağın hesaplama gücü bu ilişkilerle belirlenmektedir. İlişkiler bazı nöronların çıkışlarını diğerlerinin girişine birleştirmektedir ve bunların da “gücü” ağırlık katsayıları, veya sadece ağırlıkla verilmektedir. Buradan bir nöronun davranışının diğerine etkisinin onlar arasındaki ilişkinin ağırlığı yardımı ile olduğu görülmektedir. Bundan dolayı nöron sistemler çoğu zaman konneksiyonist (connection-birlesme, ilişki) sistemleri olarak da adlandırılırlar.

Nöron ağındaki ilişkilerin düzeni onun mimarisini teşkil etmektedir. Genelde ilişkilere göre 2 sınıf mimarinin mevcut olduğu söylenebilir. (1) tam ilişkili ve (2) hiyerarşik ağlar.

Graf teorisinden de belli olduğu gibi tam ilişkili konfigürasyonda tüm elemanlar birbiri ile birleştirilmişler. Nöron ağında bu, her bir nöron çıkışının diğer tüm nöronların girişleri ile ilişkilendirilmesi demektir. Bundan başka her bir nöronun çıkış hem de kendi girişi ile de ilişkilendirilmiştir (Kendi kendine ilişki). N nöronu olan böyle bir ağda ilişkilerin sayısı N.N. olacaktır. 5 nörondan oluşan tam ilişkili nöron ağı Sekil 2.1’de gösterilmektedir.

Hiyerarşik yapıda ayrı ayrı nöron grupları katlara veya seviyelere yerleştirilmişlerdir. Her bir nöron katındaki nöronlar önceki ve sonraki katlardaki nöronlarla ilişkilendirilmiştir. Burada giriş ve çıkış katlarını özel olarak ayırmak gerekmektedir. Giriş katındaki nöronlar dış dünyadan sinyalleri alarak diğer katlara iletir. Buna göre de o kattaki nöronların sayısı giriş değişkenlerinin sayısına eşittir. Dış kattaki nöronların çıkışları dış dünyaya iletilir. Buradaki nöronların sayısı ise çıkış fonksiyonlarının sayısına eşit olmaktadır. Giriş kati ile çıkış kati arasında kalan katlara gizli kat (veya katman) denmektedir, çünkü bu kat direk olarak dış dünyaya bağlı değildir.(Sekil 2.2)

Nöron ağında sinyallerin iletilmesi yönüne göre 2 tür ag mevcuttur:

(1) Geri beslemesiz ileri beslemeli, aks alakasız veya recurrent olmayan (feed-back) ağlar.

Ileri beslemeli ağlarda sinyalin yönü yalnız girişten çıkışa doğru yönlenmektedir. Geri beslemeli ağlarda ise bundan başka bir kattaki nöron kendi kendinden ve kattaki diğer nöronlardan veya diğer kattaki nöronlardan sinyal alabilmektedir. Böylece geri beslemeli ağda bir nöronun çıkış sinyali diğeri yalnızca cari andaki o nöronun girişleri ve bu girişlerin ağırlıkları ile değil, hem de bazı nöronların bir önceki süre zarfindaki çıkış değerleri ile belirlenmektedir. Sekil 2.3.’de geri beslemesiz, 2.4’de ise geri beslemeli nöron ağları örneği gösterilmektedir.

Eğer geri beslemeli ağdaki ilişkiler engelleyici iseler (yani negatif ağırlığa sahip iseler), o halde bu ağa lateral engellemeli ağ denmektedir (Sekil 2.5).

 

 

İki Katlı Nöron Ağları

İki katlı nöron ağı öylesine bir hiyerarşik ve ileri beslemeli ağdır ki giriş nöron katından başka, bir de nöronlarının girişlerine dahil olan sinyallerin fonksiyonu gibi belirlenen çıkış sinyalleri olan çıkış kati mevcuttur, yani bu ağın bir tane giriş kati ve bir tane de çıkış kati mevcuttur. Giriş kati sinyallerinin paylanması rolünü üstlenir.

Bu nörondan çıkış sinyalleri toplusu ağın çıkış vektörü Y’yi teşkil etsin. Bu vektörün boyutu (m) ağın çıkışlarının sayısına eşit olsun. Benzer şekilde giriş m boyutlu giriş vektörü ve boyutu n.m. olan w ağırlık matrisi de verilmiş olsun. Bu durumda ağın çıkışı ile girişi arasındaki bağlılığı aşağıdaki şekilde gösterebiliriz:

Y=X.W

Böyle bir ağ aktifleşme için lineer fonksiyon (ileride göreceğiz) kullandığında ona yeni katlar ekledikte, hesaplama gücünün artmadığını göstermek mümkündür. Diyelim ki ağırlık matrisleri W1 ve W2 olan 2 kat olsun. O zaman her bir kat için çıkış:

X1 =XW1 ve Y2 = Y.W2 = XW1W2= XW

olmaktadır. Burada W=W1W2. Böylece lineer aktifleşme fonksiyonu kullanan istenilen çok katli ağa ona denk olan iki katli ağa getirmek (dönüştürmek) mümkündür.

Çok Katlı Nöron Ağları

Nöron ağında katların sayısının arttırılması, onun hesaplama gücünün, yani daha karmaşık fonksiyonlar (tasvirler) kurmak imkanının artmasına getirir.

Gizli katmanı olmayan, yani iki katla ağ bir çok problemleri çözememektedir. Buna örnek olarak “özel veya” işlemi gösterilir her zaman.

Problemi anlamak için bir nöronun fonksiyonuna detaylı bakalım. Aktifleşmesi eşik fonksiyonuna bağlı olarak oluşan bir nöronu ele alalım. Onun n girişi olsun. n- boyutlu uzayda bu uzayiçi her bir koordinate nöronun girişlerinden birine uygun olsun. Aşağıdaki denkleme bakalım:

(2.1.) denkleminin n-boyutlu uzayda bir hiperdüzlemi belirlediği görülmektedir.

Bu hiperdüzlem alt uzayı iki altuzaya bölmektedir. Bu altuzaylardan biri için

Diğeri için

Eşitsizlikleri uygun olarak geçerlidir.

Nöronun aktifleşme fonksiyonu böyle olsun (eşik fonksiyonu):

Buradan nöronun giriş sinyalleri uzayını iki kısma böldüğü görülmektedir. Bu durumda belirli giriş kombinasyonları nöronu aktifleştirir, diğer bir kısmı ise aktifleştirmez. Buradan iki katli nöronun yalnızca lineer ayrılabilen (sefarable) problemleri çözebildiği sonucuna varılır.

Sekil 2.6.’da “özel veya” (X1 O X2) probleminin geometrik yorumu verilmektedir. Parantezdeki rakamlar nöron ağındaki arzu edilen sonucu göstermektedir. Şekilde de görüldüğü gibi öylesine bir doğru çekmek mümkün değil ki, doğrunun bir tarafında yalnızca 1” çıkışına uygun, diğer tarafında ise yalnızca “0” çıkışına uygun noktalar olsun. Böylece, gizli katsız “özel veya “ işleminin yapılamadığı görülmektedir.

X1=0 0.1 + 0.1 < 0,5 => 0

X2 = 0

X1=1 1.1 + 0.1 = 1>0.5 => 1.1

X2=0 1.(-1) + 0.(-1) = -1 > 1.r => 1.1

 

EĞİTİM YÖNTEMLERİ

Eğitim Yöntemlerinin SınıflandırılmasıSüpervizörlü EğitimSüpervizörsüz Eğitim Topolojik Değişiklikli EğitimSkolastik EğitimSüpervizörlü Eğitme Algoritmaları

Eğitim Yöntemlerini Sınıflandırılması

Bir nöronu ağını tasarlamak için önce onun katmanlarının sayısını, sonra gizli katmandaki nöronların sayısını, daha sonra ilişkilerin ağırlığını vs. vs. belirlemek gerekmektedir. Bir nöron ağı ilk verildiğinde onun ağırlık katsayıları rasgele verilir ve bu yüzden ağ henüz doğru olarak çalışmağa hazır değildir. Ağın bunu yapabilmesi için, onu bu veya diğer bir yöntemle “eğitirler”, farzi gereken ağırlık katsayılarının belirliyorlar. Eğitim süreci çok makine süresi talep edilir. Eğitim sürecinde yalnızca ağırlık katsayıları değil, aynı zamanda eşik, ağın yapısı vs. gibi parametreler de değiştirilebilir. Eğitme belirli kabul edilebilir bir hata ile yapılır. Bazen bu prosedür istenilen sonucu vermez. O halde giriş başlangıç değerlerini ve prosedürünü de değerlerini değiştirerek yeniden eğitim yapılır.

Aşağıdaki şekilde eğitim yöntemlerinin genel bir sınıflandırılması gösterilmektedir.

Süpervizörlü Eğitim

Çevre ile en sıkı ilişkili eğitim metodudur. Bu yöntemde giriş vektörleri kümesi ve onlara uygun çıkış vektörleri önceden belli olmaktadır. Her bir giriş vektörünün i. elemanı, nöron ağının i. girişine verilen sinyale uygun gelmektedir. Benzer şekilde çıkış vektörünün j. elemanı, j. çıkış nöronunda elde edilmiş olan j. sinyale uygun gelmektedir. Giriş vektörü X ve ona uygun gelen çıkış vektörü Y, eğitici çifti oluşturmaktadırlar.

Tüm eğitici çiftler topluluğu eğitici kümeyi oluşturmaktadırlar.

Eğitme sürecinde, çıkış vektörlerinin cari değerlerini, eğitici kümeden alınan verilmiş değerlerden eğilimi (hatası) hesaplanır. Bu eğilime göre ağın parametrelerinin uygun tashihi yapılır. Bu yüklemenin en çok kul. (error backpropagation)

 

Süpervizörsüz Eğitim

Bu eğitimde nöron ağının ortam (çevre) ile karşılıklı ilişkisi minimuma indirilir. Bu eğitimde eğitici kümede yalnızca giriş vektörleri mevcuttur. Eğitimin amacı ağın uygun parametrelerini modifiye etmekle giriş vektörü kümesine özgü olabilecek konuma uygunlukları belirlemektir. Bu sınıf eğitimde en çok kullanılan algoritma yarışmalı eğitimdir. (competitive larning) Yarışmalı eğitim çok yönü ile klaster analizine benzemektedir. Klaster analizi problemi elde olan tasvirlerin birkaç klastere göre sınıflandırılmasıdır. Nöron ağında bu problem şöyle sunulabilir: Giriş vektörü ile klaster kümeleri mevcuttur; bu klasterlerden her biri giriş nöronlarından bugüne denk gelmektedir. Bu nöronun girişine bu klastere ait edilebilecek giriş vektörü verildiğinde çıkı nöronunun aktifleştirilmesi talep edilmektedir. Bu problemin çözümü için “Galip her şeye alır (elde edilir)” stratejisi kullanılır. Buna uygun olarak tanıma bazında önce “yarışma” adlanan olay baş vermektedir. Bu olayda sınıflandırıcı katmanın nöronları kendi durumlarını girişe verilen giriş vektörü ve ağırlık katsayılarına bağlı olarak belirler. Sonuç “Galip nöron”, yani girişleri en ağırlaştırılmış toplamına sahip olan nöron “1” durumuna, diğerleri ise, “0” durumuna geçerler. Aynı bir çıkış nöronunun, çeşitli klasterlerle ait olan giriş vektörleri verildiğinde aktifleşmemesi için her bir nöronu ağırlık toplamına bir mahdudiyet koymak gerekmektedir. Burada eğitim, aktif çıkış nöronu ile aktif giriş nöronlar arasında ağırlık katsayıları değerlerini arttırmakta, aktif olmayan düğümler arasında ise ilişki ağırlıkları azaltmaktan oluşmaktadır.

Böyle eğitim sonucu her çıkış nöronu yalnızca belirli klastere ait giriş vektörleri verildiğinde aktifleşmede diğer klasterlere ait giriş vektörleri verildiğinde aktifleşecek diğer klasterlere ait giriş vektörleri uygulandığında ise pasif kalacak.

Bu iki yöntem arasında yer tutan tasdikli eğitim (reinforcement learning)’ in temel prensibini tasdik veya teşkil etmektedir. Eğer ağa giriş vektörü verildiğinde, ağın davranışı normal ise o zaman tasdik (+1) sinyali verilir, aksi durumda tekzip sinyali (0 veya –1) verili. Son durumda ağın ağırlık katsayıları değerleri değiştirilir ki bu da tasdik sinyalini elde edinceye dek devam eder.

 

Topolojik Değişklikli Eğitim

Bu yöntemde ağda ilişkili ve ilişkisiz (serbest) nöronlar mevcuttur. Eğitim sürecinde serbest nöronlardan bazıları ağa eklenerek yeni ilişkiler oluşturabilirler. Bunların yardımı ile problemin çözümüne kavuşulur. Yöntem yenidir.

Girişe konulan taleplere yönteminde bir örnek kümesi verilmekte ve bu küme ile eğitim yapılır (1860, Mitchell et al).

 

Skolastik Eğitim

Eğitici küme nöronların aktifleşme ihtimalinin amaçlı paylanmasından oluşmaktadır. Eğitmenin amacı elemanların çalışmasının cari ihtimaller paylanmasının arzu edilene en çok yakınlaştırılmasıdır (4.7) formülünde EK=WikXi olduğu için Wki ile manupule ederek paylanmanı değişmek mümkündür. Böylece Boltzman makinesinin eğitilmesi, giriş vektörleri kümesine göre belli bir hata ile ağırlıkların değerlerinin modifike edilmesi yardımıyla arzu edilen nöronun akitfleşmesi ihtimalinin paylanmasının elde edilmesidir. Fakat Boltzman makinesinin eğitilmesi çok zaman almakta ve dolayısıyla uygulama alanlarını kısıtlamaktadır. Bu eğitimin hızlanması çin determine edilmiş Bottzman makinesi kullanılır. Bu durumda skolastik makinenin işi approksime edilir.

 

Süpervizörlü Eğitme Algoritmaları

n- boyutlu Xn1 = [x11, x12, ..., x1n] giriş vektörünü m-boyutlu Y1m=[y11, y12, ..., y1m] çıkış vektörüne dönüştüren bir nöron ağına bakalım. Xn1 Y1m gömülmesini sağlamak için nöron ağı öylesine kurulur ki her bir i. giriş nöronuna karşı bir X1n vektörünün i. elemanı, her bir j. çıkış nöronuna ise Y1m çıkış vektörünün uygun elemanı karşı koyulur. Bu durumda eğitimin amacı, ağın girişine, X1h vektörü verildiğinde mümkün olduğu kadarı ile Y1m dakik elde etmektir.

EĞİTİM YÖNTEMLERİ

Hatayı Geriye Yayma AlgoritmasıSüpervizörsüz Eğitme Algoritmaları  Hopfield Eğitim Algoritması   Yarışmalı Eğitim Algoritması  Tasdikli Eğitim Algoritması   Karşı Yayılma Algoritması

Hatayı Geriye Yayma Algoritması

Ağlara Değer Atanması

1.) İlk ağırlıklar 0’a yakın rasgele küçük değerler atanır.

2.) Aktifleşmenin hesaplanması

   2.1) Ağa ilk giriş değerleri (kombinasyonu) verilir.

   2.2) Gizli katmandaki her bir nöron için aktifleşme aşağıdaki ifadelere göre hesaplanılır:

  

2.3) Çıkış katmanındaki nöronlar için aktifleşme aynen gizli katmandaki gibi hesaplanılır:

 

Gizli katmanın bir önceki 2.2 adımında hesaplanmış olan çıkış değerleri bu ifadelerde çıkış nöronunun girişleri olacaktır (tabii ki çıkış nöronlarına girişten gelen diğer değerler de olabilmektedir).

 

3.) Hatanın hesaplanması.

   3.1) Her bir çıkış nöronu için geriye yayılma hatasının hesaplanması:

j = Fj (1-Fj) (Tj - Fj)

 

Burada Fj gizli katmandaki j. nöronun 2.2 adımında hesaplanmış olan çıkış değeridir.

   3.2) Bu adımda önce verilmiş bütün çıkış hedefleri ile elde edilmiş çıkış değerleri kıyaslanır. Eğer bu değerler farklı ise hesaplama devam eder (3.3’e git). Farklı değilse hesaplama bitmiştir. Sona (5. adım) git. Genelde hesaplamanın bitmesi çıkış hatasının ortalama karesine göre bulunur: E=(1/2)∑j(Tj-Fj)2. Bütün giriş kombinasyonları için uygun çıkışların E değeri “0” veya bu değer önceden verilmiş bir hata değerinden eşit veya küçük olduğunda eğitim bitirilir (Bazen belirli bir eğitim adımı da (N) verilebilir ve eğitme adımlarının sayısı bu değere ulaşıldığında eğitme bitirilir).

 

   3.3) Gizli katmanlardan en son katmandaki nöronlar için hatanın hesaplanması:

 

Burada Fj bir önceki gizli katmandaki (eğer varsa) nöronların çıkış değerleridir. Eğer gizli katman bir tane ise, o zaman Fj yerine xj yani uygun giriş değerleri kullanılır. Böylece 3.3 adımı bütün gizli katmanlar için tekrar edilir.

 

4) Yeni ağırlıkların hesaplanması.

   4.1) Bütün katmanlar için ağırlık değerleri yeniden hesaplanılır. Bunun için aşağıdaki ifadeler kullanılır:

wji =  . i . xj

wji (t+1) = wji (t) + wji

 

Burada  - eğitim hızı (0 <  < 1, örneğin =0,3); i  - i. birimin hatasıdır.

   4.2) 2. adıma geri dön.5) Son

 

Örnek 1: Yapısı aşağıdaki şekilde verilmiş olan bir nöron ağı için geriye yayılım algoritmasını kullanarak, ağı eğitelim.

 

 

Burada Xb bias girişidir ve her zaman Xb=1 olmaktadır. Ağırlıkların değerlerini aşağıdaki gibi kabul edelim:

W25=-0.1                     W24=-0.2                  W15=0.1                    W14=0.1 

W05=0.3                      W04=0.1                    W06=0.3

W56=0.3                       W46=0.2                    W06=0.3 

Giriş değerlerini:

X1=0.9    ve    X2=0.1    olarak kabul edelim.

Çıkış (hedef) değeri Y=0.9 kabul edelim.

Eğitim: (ağırlık değerlerinin bulunması)

İlk olarak  

 

ifadesi ile gizli katmandaki 4. nöronun çıkışını ve

 

ifadesi ile aktifleşmesini hesaplayalım (2.3 adımı).

net4=(1.0×0.1)+(0.1×-0.2)+(0.9×0.1)=0.170.

F4=1/(1+exp(-0.170))=0.542.

Şimdi gizli katmandaki 5. nöronun çıkışını ve aktifleşmesini aynı yöntemle hesaplayalım:

net5=(1.0×0.1)+(0.1×-0.1)+(0.9×0.3)=0.360.

F5=1/(1+exp(-0.360))=0.589.

Şimdi çıkış katmanındaki tek çıkış için (nöron 6) aynı hesaplamaları yapalım:

net6=(1.0×0.2)+(0.542×0.2)+(0.589×0.3)=0.485.

F6=1/(1+exp(-0.485))=0.619.

j = Fj (1-Fj) (Tj - Fj)

 

ifadesi ile çıkış nöronu için geriye yayılma hatasını hesaplamaya geçiyoruz (adım 3.1):

6 = 0.619 × (1.0 - 0.619) × (0.9 – 0.619)=0.066.

 

E=(1/2)∑j(Tj-Fj)2 ifadesi ile eğitimin bitip bitmediğini kontrol ediyoruz (Adım 3.2). E = 0.5 × (0.9 – 0.619)2 =0.5 × 0.078961 = 0.03948. E ≠ 0 olduğu için hesaplama devam edecektir.

  

 

ifadesi ile gizli katmanlardaki 5. ve 4. nöronlar için hataları hesaplamaya geçiyoruz (adım 3.3):

5 = 0.589 × (1.0 - 0.589) × (0.066 × 0.3)=0.005.

4 = 0.542 × (1.0 - 0.542) × (0.066 × 0.2)=0.003.

Şimdi ağırlıkların değerlerini yenilemek için 4. adımı kullanarak hesaplamalar yapabiliriz:

wji =  . i . xj

wji (t+1) = wji (t) + wji

Bu örnek için =0.25 kabul edilmiştir.

w5,6 = 0.25 × 0.066 × 0.589 = 0.01

w5,6 (t+1) = w5,6 (t) + w5,6 = 0.3 + 0.01 = 0.31.

w4,6 = 0.25 × 0.066 × 0.542 = 0.009

w4,6 (t+1) = 0.2 + 0.009 = 0.209.

w0,6 = 0.25 × 0.066 × 1.0 = 0.017

w0,6 (t+1) = 0.2 + 0.017 = 0.217.

w1,5 = 0.25 × 0.005 × 0.9 = 0.001125.

w1,5 (t+1) = 0.1 + 0.001125= 0.1001125.

            w1,4 = 0.25 × 0.003 × 0.9 = 0.000675.

w1,4 (t+1) = 0.1 + 0.000675= 0.1000675.

            w2,5 = 0.25 × 0.005 × 0.1 = 0.000125.

w2,5 (t+1) = -0.1 + 0.000125= -0.999875.

            w2,4 = 0.25 × 0.003 × 0.1 = 0.000075.

w2,4 (t+1) = -0.1 + 0.000075= -0.999925.

            w0,5 = 0.25 × 0.005 × 1 = 0.00125.

w0,5 (t+1) = 0.3 + 0.000125= 0.300125.

            w0,4 = 0.25 × 0.003 × 1 = 0.00125.

w0,4 (t+1) = 0.1 + 0.00125= 0.10125

 

Böylece hesaplamanın bir adımını bitirmiş oluyoruz. Bundan sonra yeniden 2.1 adımına geri dönüyoruz. Bu adımda ağın yeni girişlerini (ve tabii ki bu çıkışa uygun olacak hedef çıkışı) alarak hesaplamayı yeniden devam ediyoruz. Böyle hesaplama ağın tüm giriş (ve her girişe uygun çıkış) değerleri için tekrar ediyoruz. Bu bir epok adlanır. Birinci epok bittiğinde yeniden 2.1 adımına dönerek bu kere ilk giriş kombinasyonu (ve uygun) çıkış için hesaplama tekrarlanır. Hesaplamaların bitmesi 3.2. adımında epoktaki bütün adımlarda çıkış hatasının (E) sıfır (veya önceden verilmiş bir hata) değerine eşit olması ile belirlenecektir.

Eğer yeni giriş ve çıkış yoksa hesaplama aynı giriş ve çıkış değeri için devam edecektir.

 

Örnek 2: XOR Fonksiyonu

Girişler

Çıkış

1

1

0

1

0

1

0

1

1

0

1

0

 

α= 0,3 kabul edilir.

Aktifleşmenin hesaplaması

(x1, x2) = (1,1) olduğunu varsayalım. O halde XOR fonksiyonuna göre (tablodan da görüldüğü gibi) Y1=0 olmalıdır.

I.  epok - 1. adım

Çıkış katmanındaki 1 nolu nöronun aktifleşmesi:

F1= y1 = 1/[1+e –(0,02 ×(-0.02) + 1 × 0.02 + 1 × 0.03 +  1 × (-0.01))]= 1/[1+e-0.0396] = 1/[1+e-0.04] = 0.509.

Çıkış hatası: E=0.5(0-0.509)2=0.1295. Çıkış hatası “0” olmadığı için eğitim devam etmelidir.

Çıkış nöronunun geriye yayılma hatasını hesaplayalım:

1 = 0.512 × (1- 0.512) × (0-0.512)= - 0.1219.

Gizli katmandaki 2. nöronun aktifleşmesi:

F2 = y2 = 1 / [1+e –(1 × 0.01 + 1 × 0.02 + 1 × 0.01)] = 1/[1+e-0.02] = 0.512.

Gizli katmandaki nöron için hata:

2 = 0.512 × (1- 0.512) × ((-0.1219 × (-0.02))= 0.000609.

Ağırlıkların yeni değerlerini hesaplayalım:

W12 = α × 1 × y2 = 0.3 × (–0.1219) × 0.512= -0.01872

W12 = -0.02 × (-0.01872)= 0.00128

W13 = α × 1 × X1 = 0.3 (–0.1219) 1 = -0.03657

W13 = 0.02 + (–0.03657) = -0.01657 

W23 = α × 2 × X2 = 0.3 × 0.000609 × 1 = 0.0001827

W23 = 0.01 + (–0.0001827) = 0.0101827

W14 = α × 1 × X2 = 0.3 × (-0.1219) × 1 = -0.03657

W14 = 0.03 + (–0.03657) = -0.0057

W24 = α × 2 × X2 = 0.0001827

W24 = 0.02 + (0.0001827) = -0.0201827

W1b = α × 2 × 1= 0.0001827

W1b = -0.01 + (–0.0001827) = -0.0101827

W2b = α × 2 × 1 = 0.0001827

W2b = -0.01 + 0.0001827 = -0.0098173

 

1. epok - 2. adım

Bu hesaplamalardan sonra X1=1 ve X2=0 ve y=1 çıkışı için elde ettiğimiz en son ağırlık değerleri kullanılarak yeni hesaplamalar yapılır ve bu adım için yeni ağırlık değerleri bulunur.

1. epok - 3. adım

Bu hesaplamalardan sonra X1=0 ve X2=1 ve y=1 çıkışı için elde ettiğimiz en son ağırlık değerleri kullanılarak yeni hesaplamalar yapılır ve bu adım için yeni ağırlık değerleri bulunur.

1. epok - 4. adım

Bu hesaplamalardan sonra X1=0 ve X2=0 ve y=0 çıkışı için elde ettiğimiz en son ağırlık değerleri kullanılarak yeni hesaplamalar yapılır ve bu adım için yeni ağırlık değerleri bulunur.

 

2. epok - 1. adım

...

 

 

Çok epok alır.

 

Hesaplamalar çıkışların verilmiş hata ile elde edilmesine kadar devam eder.

Süpervizörsüz Eğitim Algoritmaları

Bu tür algoritmalarda yalnızca giriş vektörleri bellidir. Çıkış ama vektörleri ve dolayısı ile hatanın değerleri belli olmamaktadır. Biyolojik açıdan supervizorsuz eğitim hatanın geriye yayılması ile eğitimden daha uygundur.Supervizorsuz algoritmalar arasında Hopfield ve yarışmalı eğitim algoritmaları en çok yaygındır.

1) Hopfield Eğitim Algoritması

Bu yöntem 2 nöronun aktifleşmesinin onların arasındaki ilişkinin güçlenmesine dayanmaktadır. Biyolojideki son araştırmalar da Hopfield’in bu fikrin lehinedir.

Algoritmanın özü:

Kaynak nöronlar ve kabul edici nöronlardan oluşan ağ olsun. Kaynak nöronlar direk kabul edici nöronlara bağlanmışlar. Kaynak nöronların aktifleşme seviyesinden oluşturulan vektör Ş, ve kabul edici nöronların çıkış sinyallerinin oluşturduğu vektör Y olsun. Her bir kaynak nöronun bir kabaların nörona Wji ağırlıklı bir ilişki ile bağlandığını kabul edelim. Wij toplam bir W vektörü oluştursun.

Eğitim süreci W matrisinin elemanlarının korrekt edilmesinden oluşmaktadır. Matrisin her bir elemanının değiştirilmesi:

Wij = EXiYj

İfadesi ile belirlenmektedir. Burada E- eğitim hızını gösteren sabit bir değerdir. Vektör şeklinde bu ifade böyle yazılabilir.

W=EYXT

Yeni ağırlık değerleri böyle hesaplanılabilir:

Wji (n+1) = Wji (n) + Wji (n+1)

Veya

W (n+1) = W (n) W (n+1)

(4.8) ve (4.9) ifadeleri Hopfield eğitim algoritmasını vermektedir.

Hopfield algoritmasının dezavantajı tüm giriş vektörlerinin ortogonal olmasının talep edilmesidir, yani:

X1. X2. ... Xn = 0

Aksi durumda ağın çalışmasında her zaman belirli bir hata olacaktır.

Böylece Hopfield algoritması danışmasız ‘yani amaç çıkışın değerini dikkate almadan) yalnızca iki lokal nöronun karşılıklı ilişkisini dikkate alarak yapılan bir eğitim algoritmasıdır.

2) Yarışmalı Eğitim Algoritması

Bu supervizorsuz eğitim yöntemi klaster analizi yapılmasından çok kullanılır. Yarışmalı eğitim kullanan ağ, girişe verilen giriş vektörlerinin birbirine yakın olanlarını aynı bir klastere farklı olanları ise farklı klastere, farklı olanları ise farklı klasterlere ait etmektedir.

(Rummelhart & Zipser)

Aksi alakasız, bir veya birden çok katmanı olan ağa bakalım. Belirtiyi tanımak için belirli katmanları, girişe verilen giriş vektöründeki karakterik belirtileri belirlemeye çalışmaktadır.

Çeşitli nöronların “yarışması” başverir ve onlar çeşitli başarıya ulaşırlar. (Bu, onların ağırlık katsayılarının farklı olmasından ileri gelmektedir). Bu “yarışma” süresinde nöronlardan biri en çok “başaran” olmakta ve dolayısı ile yarışı kazanmaktadır. Galip nöron, klasteri o anki giriş vektörüne en yakın olanıdır. Yarış bitince galip nöron diğer nöronlara, giriş vektörünü tanımağa aday olmalarını “yasaklıyor”, yani yalnız galpi nöron bu vektörü tanımağa hak kazanır. Bu süreç “Galip her şeyi alır” (Winner takes all) stratejisidir.

Tanıyıcı (belirleyici) nöronun girişe verilen vektör yalnızca uygun olduğunda aktifleşmesi için, belirli sınır koyulmalıdır. Bu sınır olarak bu nöronu önceki katmanlardaki nöronlarla ilişki ağırlıkları toplamının tüm nöronlar için sabit bir sayı olması kabul edilir.

Sadelik için 2 katmanlık nöronu ele alalım.(Şekil 4.7)

Eğitimi başlamadan önce giriş vektörünün öyle normalleştirilmesi arzu edilendir ki, onun genel uzunluğu aşağıdaki ifade üzere 1’e eşit olsun.

xi – normalleştirilmeden sonraki giriş vektörü i. elemanının değeridir. X ikili bir vektördür. Böylece, önceden çıkış nöronlarının aktiflik seviyesi “0” ile “1” arasında olmaktadır. Sonra en yüksek aktiflik değerine sahip olan nöron galip gelir, yani

Yw= max (Y1, Y2, ..., Ym)

Burada Yw- galip nöron (w-winner); max ise (...) değerlerinin en maksimum olanının seçilmesini göstermektedir. Galip nöronun aktiflik seviyesi “1”, diğerlerininki ise “0”k götürülür.

Yw = 1

Yi = 0, i  w.

Böylece, yalnızca bir nöron galiptir, burada ikinci, üçüncü vs. kavramları yoktur. Yn’den başka diğer nöronlar hepsi yenilmiş olurlar.

Eğitim süreci

1. Girişe eğitim kümesinden bir vektör verilir.

2. Yarışma başlıyor ve galip belirlenir.

3. Bu nöronla aktif giriş nöronları arasındaki ilişki güçlendirilir. Bunun için ağırlıklar korrekte edilir:

Wji (n+1) Wji (n) + Wji

Burada  XiK – K. giriş vektörünün i. eleman, nk – n. vektör verildiğinde aktif olan giriş nöronlarının sayısı; g- eğitim hızı adlanan sabittir.

Bu yöntemle eğitim hatası şöyle hesaplanmaktadır.

Burada WWK – galip nöronun ağırlık vektörünün k. elemanıdır.

3) Tasdikli Eğitim Algoritması

Bu yöntemle nöron ağının davranışını teşkil edebilmesi için beğendiği veya beğenmediği gösteren 1.b. kullanılmaktadır. Böyle eğitim bir çocuğu eğitilmesine benzemektedir. Bu tasdik/tekzip veya ödül/ceza yükü ile okumaktadır (Reward/Penalty) Tasdik sinyali ağın ağ kendi cari davranışını “tutmağa” çalışır. Tezkip sinyali verildiğinde ise ağırlık katsayılarını değişmekle o anki davranışını atmağa çalışır.

FM çeşitli ağ mimarileri oluşturmağa ve çeşitli veri biçimlerini ödül/çeza eğitim algoritması lineer ve associative olmakla (LR-P ve AR-P) iki türdürler.

4) Karşı Yayılma (Counter Propogation) (Hecht-Nielson)

Bu yöntem giriş, klasterleme (kümeleme) ve çıkış katmanları olan çok katmanlı ağlarda veri sıkıştırılması, fonksiyonların approksime edilmesi veya örüntülerin tanınması için kullanılmaktadır. İki aşamalı eğitim yapılmaktadır:

1.aşamada giriş vektörleri klasterlendirilir. 2.aşamada klaster birimlerinden çıkışlara olan ağırlıklar arzu olunan cevabı üretmek için uygunlaştırılır.

Karşı yayılmalı iki tip ağ vardır: Tam ve yalnız ileriye.

Tam ağın eğitilmesi algoritması:

Z_inj = kXiVij + kYkWkj  veya Dj = k(Xi - Vij)2 + k(Yk - Wkj)2

X*i = tji    

         Y*k = Uj k

Vi j (yeni) = (1 - ) Vi j (eski) + Xi ;  j = 1 , ... , n

Wk j (yeni) = (1 - ) Wk j (eski) + Yk  ;  k = 1 , ... , m

Kohonen Eğitimi

II. fazda yalnızca klaster katmanında j birimi aktif olarak kalır. Bu galip j nöronundan çıkış birimine  (W ler) öylesine düzenlenir ki Y’nin aktifleşme vektörü Y* giriş vektörü Y’ nin ; X* ise X’ in approksimesi olur.

Uj k (yeni) = (1 – a) Uj k (eski) + aYk   k = 1 , ... , m

Tj k (yeni) = (1 – b) Tj i (eski) + bXi     i =  1 , ... , n

Grosberg Eğitimi

Örnek: Y = 1 / X [0.1,10.0] 10 klaster.

Adım 1: Giriş olarak X = 0.12; Y = 0.0

Adım 2:

D1 = (0.12 – 0.11)2 + (0.0 – 9.0)2 = 81

D2 = (0.12 – 0.14)2 + (0.0 – 7.0)2 = 49

D3 = ... = 25

Nöron Ağlarını Modellemek İçin Araçlar

İki yere ayrılırlar:

(1) Program araçları

(2) Teknik araçlar (nörobilgisayar çipi)

Program ara çarı çeşitli bilgisayarlar için hazırlanır ve çeşitli nöron algoritmad orta karmaşıklı problemler için eğitim ve test aşamalarının yapmağa olanak tanır. Tam bir modelleme program aracı en az 3 modelden oluşur: (1) Fonksiyonel modeli (FM); (2) ağın Kompilyatoru (AK) ve (3) kullanıcı ile grafik arayüz bilgisayarın dahili biçiminde modellemeye; eğitim ve aktifleşmenin yayılmasını sağlamaya imkan verir.

AK- yüksek seviyeli bir deklaratif dilde (ağın topolojisi, nöronun tipi, nöronun aktifleşme seviyesi, değeri, eğitim algoritması vs) verileri sunmağa imkan verir.

C a nöron ağındaki süreçleri kullanıcının görmesine olacaktır.

Örnekler:

NESILA (Network Sımulation Language)

Teknik Araçlar

Model

Nöron sayısı (Min. Adedi)

İlişkilerin sayısı (Min. adedi)

Hız (Min. Cups)

Özellikler

Mark – 3 TRW 1983

65

1.0

0.45

15 tane 68020 işlemci 68881

Mark – 4 TRW 1986

256

5.5

5.0

Pipe – Line 4 işlemci kart DSP TMS 32020

ANZA HNC 1987

30

0.5

0.14

68020 ...

ANZA Plus HNC 1988

1000

1.5

6.0

Wietek mat. Coproces.

CUPS

Connection

Updates

Per

Second

Neuro – 07 Nihon Deuki

 

 

 

PC PC – 9800 IMPP plate neuro