Yapay Sinir Ağlar : Çok Katmanlı

Yapay sinir ağları, "biyolojik sinir sisteminde olduğu gibi, gerçek yaşam nesneleriyle etkileşmeyi amaçlayan basit elemanların ve onların hiyerarşik düzenlemelerinin paralel, içice bağlantılı ağları" olarak tanımlanabilir (Kohonen 1987). Şekil 1’de görüldüğü gibi, genel sinir ağı modeli, işlem elemanları ile karakterize edilir. Bir işlem elemanı, beş elemandan oluşur. Bunlar;

a) Bilgiyi işlem elemanına getiren girdiler: Bilgi, diğer işlem elemanları veya ağ dışı kaynaklardan sağlanır. Bazen, işlem elemanları, kendi kendine bilgi verebilir.

b)  Belirli bir girdinin işlem elemanı üzerindeki etkisini tanımlayan ağırlıklar: Bu ağırlıklar, doğru çıktıyı üretmek üzere, ağın optimum ağırlık değerlerini bulmak için öğrenme esnasında değişirler. Başka bir deyişle, bu ağırlıklar öğrenme esnasında optimize edilirler.

c)  İşlem elemanının ağırlıklı girdilerini birleştiren birleştirme fonksiyonu: Şekil 2’de verildiği gibi, birçok birleştirme fonksiyonu vardır. Bunlardan en yaygın olanı, ağırlıklı girdileri toplayan toplama fonksiyonudur.

d)  Birleştirme fonksiyonunun sonucunu değerlendiren transfer veya aktivasyon fonksiyonu: Birleştirme fonksiyonunda olduğu gibi, birçok transfer fonksiyonu vardır. Yine Şekil 2’de gösterildiği gibi, en yaygın olarak kullanılanlar, sigmoid fonksiyonu, lineer fonksiyon ve step fonksiyonudur.

e)  Transfer fonksiyonunun sonuçlarını alan ve bu sonuçları bağlantılı olduğu işlem elemanlarına veya ağ dışı kaynaklara gönderen çıktılardır.

İşlem elemanlarının bir grubu, katman olarak adlandırılan bir yapıyı oluşturur. Genellikle, bir katmandaki her bir işlem elemanı, aynı birleştirme ve transfer fonksiyonu ile aynı öğrenme kuralına sahiptir. Tipik bir sinir ağı, Şekil 3’de gösterildiği gibi, birbirine bağlanan üç katmandan oluşur. Bunlar, dışarıdan bilgiyi kabul eden bir girdi katmanı, bilgiyi işleyen ve özellikler çıkaran bir ara katman ve sorgulanan problem üzerinde ağın kararı hakkında ağ dışı kaynakları bilgilendiren bir çıktı katmanıdır. Bilgi, bu katmanlar arasındaki bağlantılarda yayılır. Ağ, öğrenme kuralı vasıtasıyla kendi zekasını geliştirir ve bu zeka, ağın ağırlık değerleri olarak bağlantılarda saklanır.

Image

Şekil 1. Bir İşlem Elemanının Genel Yapısı.

1. Genel Özellikler

Yapay sinir ağı modellerini klasik sistemlerden ayıran çeşitli özellikler vardır. Bu özellikler, ağın algoritmik olmayan, paralel ve yayılı bilgi işleme yeteneklerine dayanır. Bu yetenekler ise, yapay sinir ağlarının herhangi bir zorlukla karşılaşmaksızın karmaşık ve lineer olmayan hesaplamaları yürütmesini ve hızlı bir şekilde yanıt vermesini mümkün kılar. Sözü edilen özelliklerden bazıları şunlardır:

Örneklerden öğrenme: Yapay sinir ağları, sadece öğrenmek zorunda olduğu girdi/çıktı ilişkilerinin örneklerini gerektirir. Bu örnekleri kullanarak genellemeler yaparlar.

Örnekleri tanıma ve sınıflandırma: Yapay sinir ağları, örnekleri girdiler olarak alır ve örneklerden oluşturulan girdi/çıktı eşleşmeleri ile ilgili bilgiyi depoladığı yerdeki yayılı belleğini kullanarak karşılık gelen çıktıyı üretir.

Örnekleri yeniden oluşturma: Ağın eksik bir örneği yeniden oluşturma yeteneğini ifade eder. Ağ, eksik bir örneği alır ve eksik örnekteki kayıp olan bilgiyi belleğinde bulunan ve tam örneklerle oluşturulan bilgilerden yararlanarak eksik örnekteki kayıp bilgiye karşılık gelen tam örnekteki bilgiyi bulabilir.

Kendi kendine adapte olabilme: Bazı yapay sinir ağları, kendi kendine organize olabilme ve öğrenme yeteneğine sahiptir. Ortamda bazı değişiklikler olduğunda, bu tür sinir ağları bu yeni duruma kendilerini kolaylıkla adapte edebilirler.

Hata toleransı: Bazı işlem elemanlarının bazı nedenlerle ağdan çıkarılması veya yokedilmesi, yapay sinir ağlarının başarısız olmasına neden olmayacaktır. Bilgi, bütün ağ boyunca yayılı olduğundan bazı bilgilerin kayıp oluşu veya yok edilişi, ağın performansını fazla etkilemeyecektir. Bu durum, çok kötü sonuçlar doğurmayacak şekilde yeteneklerin azalımına yol açmasına rağmen sistemin toplam performansının tamamiyle başarısız olmasına neden olmayacaktır. Bu özellik, hesaplama ekipmanındaki ufak bir eksikliğin faciaya yol açacağı uzay araştırmaları, enerji üretimi, askeri durumlar vs. gibi kritik ortamlarda çok yararlı olacaktır.

Bulanık Girdilere Direnç: Bu özellik de önemlidir. Bulanık veya eksik bilgiler ağa sunulduğu zaman yayılı bellek girdi için en uygun veya bağdaşır olan çıktıyı seçer. El yazısı karakterleri tanıma, bu özelliğe güzel bir örnektir. Sinir ağı, eksik girdideki önemli özellikleri saptayabildiği için el yazısı karakterleri tanıyabilir.

Bu özellikler, yapay sinir ağlarının araştırmacılar tarafından kullanımını cazip hale getirmektedir. Özellikle, polinomsal zamanda çözüm bulunamayan problemlere yakın-optimal çözüm bulma çabalarına öğrenme yeteneği yüzünden büyük katkısı olabileceği düşünülmektedir.

Birleştirme İşlevleri Aktarma İşlevleri

Ençok:

Netj = ençok(XiWij)

Sigmoid İşlevi:

F(X)=1/(1+e-x)

Enaz:

Netj = enaz(XiWij)

Doğrusal İşlev:

F(X)=X

Toplama:

Netj = TOPLAMi(XiWij)

Hiperbolik Tanjant İşlevi:

F(X)=(ex-e-x)/(ex+e-x)

Artan (kümülatif) Toplam:

Netyeni = NETeski + TOPLAMi(XiWij)

Adım İşlevi (step function):

            1 eğer X >= e ik değeri
F(X) =
            0 eğer X < e ik değeri

Şekil 2. Birleştirme ve Transfer Fonksiyonları.

2. Öğrenme

Sinir ağlarının en önemli özelliği, öğrenme yeteneğidir. Bir sinir ağında öğrenmenin anlamı, ağın belirli bir probleme ait doğru çıktıları üretmesini sağlayacak optimum ağırlık değerlerinin bulunmasıdır. Bilgi, ağ boyunca bağlantılarda ağırlıklar şeklinde dağıtıldığı için tek bir bağlantı herhangi bir anlamlı bilgiyi ifade etmez. Daha doğrusu, anlamlı bir bilgi oluşturmak için işlem elemanları olan bir grup bağlantıyı tasarlamak gerekmektedir. Problemin çözümü için ağın, bağlantılarına ait doğru ağırlık değerlerine sahip olması gerekmektedir. Bu öğrenme veya eğitme olarak adlandırılan bir işlem vasıtasıyla gerçekleştirilir. Öğrenme, ağırlık değerlerinin nasıl değiştirilmesi gerektiğini ifade eden bir öğrenme kuralına dayanır. Geliştirilen birçok öğrenme kuralı vardır (Wasserman 1989). Bir öğrenme kuralının temel ilkesi, benimsenen öğrenme stratejisi ile tanımlanır. Literatürde, üç tip öğrenme stratejisinden söz edilir:

Denetimli Öğrenme: Burada, ağı eğitmek için bir öğretici gerekir. Öğretici, basitçe, çıktı katmanında ağın ne üretmesi gerektiğini söyler. Bir girdi/ çıktı örneği ağa verilir. Ağ, girdiyi süzgeçten geçirir, çıktıyı üretir ve üretilen çıktıyı doğru çıktı ile karşılaştırır. Bağlantılardaki ağırlıklar, daha iyi çıktıyı üretmek için yeniden ayarlanır ve bu işlem, kabul edilebilir bir hata seviyesine erişinceye dek devam eder.

Destekli Öğrenme: Destekli öğrenme de bir öğretici gerektirir. Ancak, çıktının ne olması gerektiği ağa söylenmez. Bunun yerine, üretilen çıktının doğru veya yanlış olduğu ağa söylenir.

Denetimsiz Öğrenme: Denetimsiz öğrenme, bir öğreticiye gerek duymaz. Bu stratejide ağ, girdi/çıktı eşleştirmesini düzenlemek için kendi ölçütlerini geliştirir. Bu nedenle, denetimsiz öğrenme stratejisini kullanan ağlar, kendi kendine organize olan ağlar olarak adlandırılır.

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.

Image

Ş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 belirlenm
elidir. 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:

Image

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 ve wbiashj, 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:

Image

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:

Image

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:

Image

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:

Image

Burada, Image öğrenme oranı, Image , momentum katsayısı, Image , 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.Image, bir önceki iterasyonda hesaplanan ağırlık değişimidir. Benzer şekilde, Image ve Image 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:

Image

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:

Image

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ı v
e çı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.

Yazar :

Yrd. Doç. Dr. M. Fatih Taşgetiren  –  Sakarya Üniversitesi, Endüstri Mühendisliği Bölümü

Posted in Uncategorized.

Bir cevap yazın