yapay sinir ağları

35
İçerik Biyolojik sinirler ve beyin Tek bir sinirin modeli Sinir Ağları Eğitim Algoritmaları Uygulamalar Faydalar, zayıf yönler ve uygulamalar

Upload: aybueke-inanc

Post on 08-Jul-2015

887 views

Category:

Technology


8 download

TRANSCRIPT

İçerik

• Biyolojik sinirler ve beyin

• Tek bir sinirin modeli

• Sinir Ağları

• Eğitim Algoritmaları

• Uygulamalar

• Faydalar, zayıf yönler ve uygulamalar

Tarihsel Olaylar

• 1943: McCulloch ve Pitts, ilk kez sinirlerin bilgisayar ortamında modelini(computational model of neuron) önerdiler.

• 1949: Hebb, ilk kez öğrenme kuralını(learning rule) önerdi.

• 1958: Rosenblatt’s yapay nöronlar(perceptrons) üzerine çalışmalar yaptı.

• 1969: Minsky ve Papert’ın makalesi teorinin sınırlamalarını öne çıkardı.

• 1970’ler Yapay sinir ağlarının aktif olmadığı dönem

• 1980–90’lar Yapay sinir ağlarının yeniden gündeme geldiği dönem

Sinir hücreleri

Sinir hücreleri

Biyolojik sinir hücresi;

gövde(cell body),

çekirdek(nucleus),

akson(axon),

birçok sinir ucu (dendrite) ve

akson ile diğer sinir hücresinin sinir ucu arasındaki uzantılardan (synapse) oluşmaktadır.

Sinir hücreleri

Üç temel olay vardır:

• Receive(al)

• Analyze(analiz et)

• Transmit(ilet)

– Dendrite’ler, gelen sinyalleri çekirdeğe iletir.

– Çekirdek(nucleus) dendriteden gelen sinyalleri toplar ve aksona iletir.

– Aksonda toplanmış bu sinyaller, akson tarafından işlenerek synapse’lere gönderilir.

– Synapse’ler de yeni üretilen sinyalleri diğer sinir hücrelerine iletir.

Yapay sinir hücresi modeliMcCulloch ve Pitts (1943) “entegre et ve ateşle” modelini önermiştir.

Girişler(input values) : X1, X2, . . . , Xm.

Herbir giriş hücresinin ağırlıkları(weights) : W1, W2, . . . ,Wm.

Giriş değerleri, ağırlıkları ile çarpılırlar ve toplamı alınır:

Yapay Sinir Ağlarının Bileşenleri• Giriş(input values):Yapay sinir ağlarına dış ortamlar veya diğer bir hücreden

gelen veriler.

• Ağırlıklar(weights):Hücreye gelen bilgilerin etkisini, ağırlığını gösterir.

• Toplama Fonksiyonu(sum function): Hücreye gelen bilgilerle, bu hücrelerin ağırlıklarını çarpımını toplar ve o hücrenin net giriş bilgisinin hesaplanmasını sağlar.

• Aktivasyon Fonksiyonu(activation function): Hücreye gelen net bilgiyi analiz ederek, hücrenin bu giriş bilgisine göre karşılık üreteceği çıkış bilgisinin belirlenmesini sağlar.

• Çıkış(output): Aktivasyon fonksiyonlarının oluşturduğu çıkış bilgileridir.Bu bilgi,dış dünyaya, başka bir hücreye ya da kendisine giriş bilgisi olarakiletilebilir.

Yapay Sinir Ağlarının Çalışması

• Yapay sinir ağlarının genel çalışma prensibi, bir giriş setini(örnekleri) alarak onları çıkış setine çevirmektir.

• Bunun için ağın kendisine gösterilen giriş verileri için doğru çıkış değerleri üretecek hale gelmesi(yani eğitilmesi) gerekmektedir.

• Ağa gösterilecek örnekler öncelikle bir vektör haline getirilir.

• Bu vektör ağa gösterilir ve ağ bu vektör için gerekli çıkış vektörünü üretir.

• Ağın parametre değerleri doğru çıkış bilgisini üretecek şekilde düzenlenir.

Yapay Sinir Ağlarının Çalışması

• Giriş vektörü;

– haftanın günlerini gösteren sayısal değerler,

– bir resmin gri tonları,

– bir parmak izini,

– bir ürünün satış miktarı vb. gibi değişik olayları gösteren nümerik değerlerden oluşan vektörler olabilir.

Yapay Sinir Ağlarının Çalışması

• Benzer şekilde çıkış vektörü de giriş vektörünün sınıfını gösterebilir.

• Bir değerin tahmin edilmesi olabilir.

• Giriş ve çıkış vektörlerinin tasarımı ağı geliştiren kişi tarafından belirlenir ve örnekler(girişler) belirlenen formatta toplanarak eğitim sırasında ağa gösterilir.

Toplama Fonksiyonu

• Toplama fonksiyonu y = f (v)

• Örnek:

Girişler x = (0, 1, 1) ve

Ağırlıklar w = (1,−2, 4).

Toplama fonksiyonu:

v = 1 · 0 − 2 · 1 + 4 · 1 = 2

Aktivasyon Fonksiyonları

• Lineer fonksiyon:f (v) = a + v = a +∑wi xi

Aktivasyon Fonksiyonları

Örnek: a=0 ve v=2 > 0, ise f(2) = 1

•Basamak(step) fonksiyonu

Aktivasyon Fonksiyonları

•Sigmoid fonksiyonu

Yapay Sinir Modeli

• Giriş(x) ve çıkış(y) değişkenleri arasındaki ilişki aşağıdaki

şekildedir.

y = f(x) + Hata(Error)

•Hatayı azaltmak için ağırlık(weight) bilgileri ayarlanır.

• Eğer lineer aktivasyon fonksiyonu kullanılırsa model aşağıdaki şekilde ifade edilebilir:

f(x1, . . . , xm) = a + w1x1 + · · · + wmwm

İleri Beslemeli Yapay Sinir Ağları

Düğümler(Nodes) sinirleri temsil ederler ve oklar da bunlar arasındaki bağlantıları gösterirler.

Her bir düğümün bir numarası vardır ve ikili numaralarla gösterilirler. Örneğin, (1,4) 1 ve 4 numaralı düğümün bağlantısını gösterir.

Düğümler, girişten çıkışa doğru katmanlarşeklindedir. Giriş düğümlerine gelen bilgiler, gizli katmanları geçerek çıkışa gider. Bu tür ağlara ileri beslemeli (feed-forwardnetworks) ağlar denir.

Giriş ve Çıkışlar

Giriş(input) :1,2 ve 3

Çıkış(Output): 4 ve 5

Gizli Düğümler ve Katmanlar

•Bir yapay sinir ağı gizli düğümlere sahip olabilir( Ağ içinde gizli ve çevreyle doğrudan bağlantısı olmayabilir).•Bir yapay sinir ağının birçok gizli katmanı olabilir.

Katmanlar(Layers):•Giriş( input): 1,2 ve 3•Gizli(hidden): 4 ve 5•Çıkış( output):6 ve 7

Ağırlıkların(weigths) Numaralandırılması

•Ağdaki herbir düğümün ağırlığı Wij olarak gösterilir.

•Örneğin 4 nolu düğümün ağırlıkları : W14, W24 ve W34

Örnek

• Giriş değerleri X1 = 1 ve X2 = 0 için çıkış değeri nedir?

1. İlk gizli katmandaki ağırlıklarlarla giriş değerleri çarpılarak toplamı

hesaplanır:

2. Aktivasyon fonksiyonu uygulanır:

3. 5 nolu düğümdeki ağırlıklarlarla giriş değerleri çarpılarak toplamı hesaplanır:

4. Sonuç:

Yapay Sinir Ağlarının Eğitilmesi

• Bir önceki problemi şu şekilde düşünelim:

– Yapay sinir ağında giriş değerlerimiz X1 = 1 and X2 = 0, ve f bir basamak(step) fonksiyonu

– y5 = 0 verilmiş ve biz ağırlıkları(weights) yani Wij değerlerini bulabilirmiyiz?

• Bu problem oldukça zordur, çünkü bilinmeyen birçok ağırlık var ve sonsuz çözüm olabilir.

• İstenilen sonuç için bir grup ağırlık değerlerinin bulunmasına ağın eğitilmesi denir.

Yapay Sinir Ağlarında Öğrenme

• Yapay sinir ağlarında düğüm elemanlarının ağırlık(weight) değerlerinin belirlenmesi işlemine “ağın eğitilmesi” denir.

• Başlangıçta bu ağırlık değerleri rastgele olarak atanır.

• Yapay sinir ağları kendilerine örnekler gösterildikçe bu ağırlık değerlerini değiştirirler.

• Amaç ağa gösterilen örnekler için doğru çıkış değerlerini üretecek ağırlık değerlerini bulmaktır.

• Örnekler ağa defalarca gösterilerek en doğru ağırlık değerleri bulunmaya çalışılır.

Yapay Sinir Ağlarında Öğrenme

• Ağın doğru ağırlık değerlerine ulaşması örneklerin temsil ettiği olay hakkında genellemeler yapabilme yeteneğine kavuşması demektir.

• Bu genelleştirme özelliğine kavuşması işlemine ağın öğrenmesi denir.

• Ağırlıkların değerlerinin değişmesi belirli kuralara göre yürütülmektedir. Bu kurallara öğrenme kuralları denir.

Yapay Sinir Ağlarında Öğrenme

• Yapay sinir ağlarında öğrenme olayının iki aşaması vardır:

– Ağa gösterilecek örnek için ağın üreteceği çıkış belirlenir.

– Bu çıkış değerinin doğruluk derecesine göre ikinci aşamada ağın bağlantılarının sahip olduğu ağırlıklar değiştirilir.

Yapay Sinir Ağlarında Öğrenme

• Ağın eğitimi tamamlandıktan sonra öğrenip öğrenmediği(performansını) ölçmek için yapılan denemelere ağın test edilmesi denir.

• Test etmek için ağın öğrenme sırasında görmedikleri örnekler kullanılır.

• Test etme sırasında ağın ağırlık değerleri değiştirilmez.

• Test örnekleri ağa gösterilir.

Yapay Sinir Ağlarında Öğrenme

• Ağ eğitim sırasında belirlenen bağlantı ağırlıklarının kullanarak görmediği bu örnekleri için çıkış üretir.

• Elde edilen çıkış doğruluk değerleri ağın öğrenmesi hakkında bilgiler verir.

• Sonuçlar ne kadar iyi olursa eğitimin performansı o kadar iyi demektir.

• Eğitimde kullanılan örnek setine eğitim seti, test için kullanılan sete ise test seti denir.

Öğretmensiz Öğrenme

• Yapay sinir ağının öğrenmesini sağlayacak bir öğretmen yoktur.

• Yapay sinir ağı,giriş verilerinden ve parametrelerden kendi kendine öğrenmeye çalışır.

Basit algılayıcı öğrenme kuralı-örnek

Yapay Sinir Ağlarının Yapısını Oluşturan Bilgiler

• Ağın Topolojisi

• Kullanılan toplama fonksiyonu

• Kullanılan aktivasyon fonksiyonu

• Öğrenme stratejisi

• Öğrenme kuralı

Yapay Sinir Ağlarının Uygulamaları

• Örüntü sınıflandırma-Pattern classification (analysis of time–series, customer databases, etc).

• Obje tanıma- Object recognition (ör. Karakter tanıma)

• Güvenlik-security (kredi kartı sahteciliği)

Yapay Sinir Ağlarının Yararları

• Birçok alana uygulanabilir.

• Doğrusal olmayan çok boyutlu, gürültülü, eksik

veri olması durumlarında ve özellikle problemin çözümünde kesin bir matematiksel modelin veya algoritmanın bulunmadığı koşullarda uygulanabilir.

Yapay Sinir Ağlarının Zayıf Yönleri

• Diğer birçok algoritmada olduğu gibi az sayıda veri ile kullanılamaz.

• Gizli düğümlerin sayısı, öğrenme oranı, minimum hata gibi parametrelerin belirlenmesi için net bir kural yoktur.

• Aritmetik ve kesin hesaplamalarda başarılı değildir.

• Ağda çok fazla çok fazla düğüm varsa, bu nedenle çok fazla ağırlık vardır ve bunların yorumlanması oldukça zordur.

Kaynaklar

• Middlesex University, Dr. Roman V Belavkin, BIS4435, Lecture notes.

• Russell, S. and Norvig, P. (2010). Artificial Intelligence: A Modern Approach. Series in Artificial Intelligence. Prentice-Hall.

• Öztemel E., Yapay sinir Ağları, 2012, Papatya Yayıncılık.

• Bilecik Üniversitesi, Dr. Cihan Karakuzu, Nöral Sistemlere Giriş Ders Notları