» Çok Katmanlı Yapay Sinir Ağları-2

Yayınlanma Zamanı: 2012-12-25 12:53:00



3. Çok Katmanlı Yapay Sinir Ağı

Çoğu yapay sinir ağı, şu ana dek özetlenen ilkelere dayanmasına rağmen çeşitli farklı yöntemler, modeller, öğrenme kuralları vs. geliştirildi. Belirli bir ağ, sahip olduğu birleştirme fonksiyonu, transfer fonksiyonu, topolojisi, kullanılan öğrenme kuralı ve öğrenme stratejisi ile tanımlanır (Karna ve Breen, 1989). Çeşitli yapay sinir ağı modelleri arasından hatayı geriye yayma ağı ve genelleştirilmiş delta kuralı olarak bilinen denetimli öğrenme kuralı bu çalışmada kullanılmıştır.

3.1. Hatayı Geriye Yayma Ağı

İlk olarak Rumelhart ve diğerleri (1986) tarafından tanıtılan hatayı geriye yayma modeli, yapay sinir ağı modelleri arasında en çok kullanılanlardan biridir. Eksikliklerine rağmen hatayı geriye yayma modeli, yapay sinir ağlarının uygulandığı problem sınıflarını oldukça genişletti ve özellikle girdi/çıktı eşleşme problemlerinde gücünü gösteren başarılı uygulamalar üretti.

Hatayı geriye yayma ağları, temel olarak, girdi örneği ile birlikte ağa sunulmak üzere sistemin istenen çıktısını gerektiren denetimli öğrenme stratejisini kullanır. Öğrenme mekanizması, ağın gerçek ve istenen çıktıları arasındaki hatayı enazlayan iteratif Gradient Descent yöntemine dayanır. Şekil 3'de görüldüğü gibi, hatayı geriye yayma ağları, birçok katmandan oluşan tamamiyle bağlantılı ileri beslemeli ağlardır. Başka bir deyişle, bir katmandaki her işlem elemanı alt katmandaki bütün işlem elemanlarına bağlanır. Bununla birlikte, hiçbir geri besleme bağlantısı yoktur. Aynı zamanda, aynı katmandaki işlem elemanları arasında da hiçbir bağlantı yoktur. Ağ, genellikle, üç tip katmandan oluşur: herhangi bir işleme tabi tutulmaksızın girdi örneklerini sadece bir sonraki katmana aktaran girdi katmanı, bir veya birden fazla ara katman ve çıktı katmanı. Girdi katmanı dışındaki katmanlar bilgi işlemekten sorumludur.

3.2. Hatayı Geriye Yayma Ağında Öğrenme Prosedürü

Hatayı geriye yayma ağları, öğrenme esnasında ağa sunulmak üzere girdi/çıktı örneklerini gerektiren denetimli ağlardır. Bir girdi örneği sunulduğu zaman ağın çıktısı hesaplanır ve istenilen çıktı ile karşılaştırılır.

Bu çıktılar arasındaki hata gradient descent algoritması kullanılarak ağın bağlantılarından geriye doğru düzeltilir. Öğrenme yöntemi, daha sonra ayrıntılı olarak açıklanacak olan genelleştirilmiş Delta kuralıdır. Standart bir hatayı geriye yayma ağındaki işlem elemanları, birleştirme ve transfer fonksiyonları olarak sırasıyla ağırlıklı girdilerin toplamı ve sigmoid fonksiyonuna sahiptir. Öğrenme prosedürünün ayrıntılı tarifinden önce, bazı faktörlerin açıklanması gerekir. Bunlar, öğrenme oranı, moment katsayısı ve bias terimleridir.

Öğrenme oranı: Bağlantıların ağırlık değerlerindeki değişimin miktarını tanımlar. Bu oranı yüksek alma, değişimin miktarını artıracaktır. Düşük alınır ise, değişim miktarı azalacaktır.

cok_katmanli_ysa-3.png

Şekil 3. Hatayı Geriye Yayma Sinir Ağının Topolojisi.

Momentum katsayısı:

Toparlanma oranını hızlandırmak için ençok kullanılan sezgisel yöntemlerden biri, momentum faktörünün kullanımıdır. Bu faktör, ağın daha hızlı toparlanmasına yardım eder. Temel olarak, daha önceki değişimin bir kısmını halihazırdaki değişime eklemeye dayanır. Başlıca düşünce, öğrenme esnasında ağın salınımını(oscillation) önlemektir.

Bias: Bu, 1 'e eşit olan sabit aktivasyon değerleriyle özel bir işlem elemanıdır. Bir geriye yayma ağında bias girdilerinin amacı, daha iyi öğrenme sağlamak için aktivasyon fonksiyonunun orijinini dengeye getirmektir.

Öğrenme başlamadan önce araştırılan problem için uygun bir ağ topolojisi seçilmelidir. Öğrenme oranı ve momentum katsayısı gibi bazı parametrelerin değerleri belirlenmelidir. Ağın bağlantılarının başlangıç ağırlıkları genellikle rastgele atanır. Öğrenme prosedüründe iki kademe vardır(Rumelhart ve diğerleri 1986):

•  İlki, ağın gerçek çıktılarını veya aktivasyon seviyelerini hesaplamaktır(lleri Hesap).

•  İkincisi ise, ağın gerçek ve istenen çıktıları arasındaki hatayı geriye doğru yaymaktır (Geriye Hesap).

3.2.1. Gerçek Çıktıyı Hesaplama

Daha önce belirtildiği gibi, her bir işlem elemanı birçok girdilere sahiptir, ancak daha sonra alt katmandaki diğer işlem elemanına girdi olacak olan sadece bir tane çıktıya sahiptir. Başka bir deyişle, bir katmandaki işlem elemanlarının çıktı değerlerini hesaplama, bir sonraki veya alt katmandaki işlem elemanlarının girdi değerlerini tanımlayacaktır. Çıktı katmanındaki her bir işlem elemanının çıktı değerleri hesaplandığında onlar girdi değerlerinin gerçek değerini yansıtır. Girdi katmanı, ara katman ve çıktı katmanından oluşan standart bir ağ ele alındığında ve de gizli ve çıktı katmanındaki işlem elemanlarının çıktı değerleri hesaplanmak istenirse, işlem elemanlarına gelen girdi değerlerinin birleştirilmesi gerekir. Eğer birleştirme fonksiyonu, girdilerin ağırlıklı toplamı ise, ara katmandaki j. işlem elemanına gelen girdilerin birleşimi aşağıdaki gibi hesaplanır:

cok_katmanli_ysa-4.png

Burada, x, girdi katmanındaki işlem elemanı sayısı, y, ara katmandaki işlem elemanı sayısı, Ij, girdi katmanındaki i.işlem elemanının girdi değeri, Wij, ise, girdi katmanındaki i.işlem elemanından ara katmandaki j. elemana olan bağlantının ağırlığıdır, net:j, ara katmandaki j.işlem elemanın net değeridir. Bias girdisinin ara katmandaki her bir işlem elemanı için sadece bir tane olduğuna vewbiashj, ağırlığıyla bias girdi değeri B'nin 1 olduğuna dikkat ediniz.

Bu net girdi değerine bir transfer veya aktivasyon fonksiyonu uygulandığında ara katmandaki j.işlem elemanının çıktısı veya aktivasyon seviyesi bulunur:

cok_katmanli_ysa-5.png

Burada, acthj, ara katmandaki J.işlem elemanının çıktısı veya aktivasyon seviyesidir. Bu

değerler, bir sonraki katman olan çıktı katmanındaki işlem elemanları için girdi değerleri olacaktır. Çıktı katmanı için aynı işlemler tekrarlanırsa ağın net ve çıktı değerleri aşağıdaki gibi bulunacaktır:

cok_katmanli_ysa-6.png

Burada z, çıktı katmanındaki işlem elemanları sayısı, netk ve ç ktk, çıktı katmanındaki k.işlem elemanının net ve çıktı değerleridir ve bias girdisinin çıktı katmanındaki her bir işlem elemanı için sadece bir tane olduğuna ve wbiasok ağırlığıyla bias girdi değeri B'nin 1 olduğuna dikkat ediniz.

3.2.2. Hatayı Geriye Yayma

Gerçek çıktı (ç ktk ve istenen çıktı (istenenk) arasındaki hata (hatak) aşağıdaki gibi bulunur:

hatak = istenenk + ç ktk

Enazlanması gereken toplam hata ise şöyle verilir:

cok_katmanli_ysa-7.png

Hatayı geriye yayma öğrenme algoritmasına göre, ara katman ve çıktı katman arasındaki bağlantı ağırlıklarındaki değişimlerin hesaplanması birbirinden farklıdır (Rumelhart ve diğerleri 1986).

Ağırlık değişimleri iki kademede yürütülür. İlk kademede, çıktı ve ara katmanlar arasındaki işlem elemanları için aşağıdakiler hesaplanır:

cok_katmanli_ysa-8.png

Burada, cok_katmanli_ysa-9.png öğrenme oranı, cok_katmanli_ysa-10.png , momentum katsayısı,cok_katmanli_ysa-11.png, ara katmandaki j.işlem elemanından çıktı katmanındaki k.işlem elemanına olan bağlantının ağırlık değişimidir.cok_katmanli_ysa-12.png, bir önceki iterasyonda hesaplanan ağırlık değişimidir. Benzer şekilde, cok_katmanli_ysa-13.png ve cok_katmanli_ysa-14.png ise, çıktı katmanındaki k.işlem elemanının bias girdilerinin ağırlık değişimleridir. Böylece, yeni bias girdi ağırlıkları ve bağlantı ağırlıkları aşağıdaki gibi hesaplanır:

cok_katmanli_ysa-15.png

ara katmandan çıktı katmanına olan bütün bağlantıların ağırlıkları ve bias girdi ağırlıkları yukardaki şekilde hesaplandıktan sonra, girdi katmanından ara katmana olan bağlantıların ağırlık değişimleri ve yeni ağırlıkları, bias girdi ağırlık değişimleri ve yeni bias ağırlıkları hesaplanmalıdır. Bu işlem aşağıdaki gibi yürütülebilir:

cok_katmanli_ysa-16.png

Yukardaki işlemler, toplam hata kabul edilebilir bir noktaya gelinceye dek tekrarlanır.

 

4. Sonuç

Bilgisayarın başlıca özellikleri, bilgiyi depolaması / erişebilmesi, işleyebilmesi ve dağıtabilmesidir.Bu noktada, bilginin işlenmesi özelliği, yapay zeka teknikleri ile birleştiği zaman çok önemli hale gelmekte ve yeni problem çözme yaklaşımlarının ortaya çıkmasına yol açmaktadır.

Bu özellik, karşılaşılan problemlerin doğru bir biçimde tanımlanabilmesi için yeni gerçekler ve bilgiler üretmekte ve problemin çevresinde yapısal bir bilgi tabanı ve çıkarım mekanizması oluşturarak problem çözümüne katkıda bulunmaktadır.

Açıklama yeteneği ile bir uzman gibi çalışarak sebeb-sonuç ilişkisini irdelemektedir. Uzman sistemlerden farklı olarak yapay sinir ağları, ham veri ve enformasyonu örnekler biçiminde ele alarak ve bu örneklerden öğrenip genelleme yaparak kendi çıkarımlama yeteneklerini oluşturmaktadır.

Dolayısıyla, uzman sistemlerdeki gibi karmaşık bilgi gösterim biçimleri ve sofistike çıkarım mekanizmalarına gerek duymazlar. Sadece örneklere gerek duyarlar.

Açıklama yeteneğinden yoksun bu çıkarımlama yeteneği ile problemlerin sebeb-sonuç ilişkisini irdeleyip çözüme büyük katkıda bulunmaktadırlar.

 

5. Kaynakça

1.  Karna, K. N ve Breen D. M, 1989, 'An Artificial Neural Networks Tutorial: Part 1 Basics', Neural Networks, 1, 1,4-23

2.  Kohonen T., 1987, 'State Of The Art In Neural Computing', IEEE First International Conference on Neural Networks, 1, 79-90.

3.  Rumelhart D. E., Hinton G. E., ve Williams R. ]., 1986, 'Learning Representations By Back Propagating Errors', Nature, 323, 533-536.

4.  Wasserman P. D., 1989, 'Neural Computing, Theory and Practice', ANZA Research, Inc., Van Nostrand Reinhold, New York.

Kaynak:Yrd. Doç. Dr. M. Fatih Taşgetiren

Sakarya Üniversitesi, Endüstri Mühendisliği Bölümü


Duyuru
Sitemizde güncelleme çalışmaları devam etmektedir.
Görüş ve önerilerinizi bizimle paylaşabilirsiniz !