• Sonuç bulunamadı

3.1. Yapay Sinir Ağlarının Tanımı

Yapay sinir ağları biyolojik sinir sisteminden esinlenen bir bilgi işlem paradigmasıdır. Bu paradigmanın anahtar elemanı bilgi işlem sisteminin yapısıdır. Çok sayıda proses elemanının (nöron) bir araya gelerek birbirine bağlanmasından oluşan bu yapı spesifik problemlere çözüm arar (Stergiou and Siganos 1997; Fırat ve Güngör, 2004).

Yapay sinir ağlarının temeli makine tabanlı bilgi işlemeye dayanır.

Araştırmacılar McCullogh ve Pitts, ara bağlantılı eşik değer birimlerinden oluşan ağın, Boolean fonksiyonunu kopya edebileceğini göstermişlerdir. Bu fonksiyon, parametre olarak girilen dizi ya da sayı verilerini boolean veri türüne çevirmek için kullanılır. Eşik değer birimleri biyolojik sinir sistemlerindeki sinir hücrelerine karşılık gelecek şekilde modellendiğinden bu ağlara yapay sinir ağları denilir. Daha sonraları araştırmacı Rosenblatt analog elektro-mekanik sistemler kullanarak, McCullogh ve Pitts tarafından modellenmiş olan perceptron (algılayıcı) kuramını örüntü tanıma problemlerine taşımıştır. Bu çalışma yapay sinir ağlarının dağıtık çağrışımlı bellek olarak adlandırılan anahtar özelliğini ortaya çıkarmıştır (Lisboa, 2001).

1943’ de temeli atılan ve 1980 ‘lerden bu yana geliştirilen yapay sinir ağları teknolojisi nonlineer bilimin bir çeşididir ve insan sinir sisteminin, kendini uyarlama, kendini örgütleme ve hata toleransı gibi bazı temel özelliklerinden esinlenilerek geliştirilmiştir (Wang et al., 2004). Biyolojik sinir sisteminin çalışmasını şekilsel ve işlevsel olarak simule etmek için tasarlanan yapay sinir ağlarında proses elemanları (nöron) birbirine bağlanarak, öğrenme, hafızaya alma ve veriler arasındaki ilişki kurabilme işlevlerini gerçekleştirirler (Huang and Murray, 2003).

Yapay sinir ağları, örneklerden elde ettikleri bilgiler ile kendi deneyimlerini oluşturur ve daha sonra benzer konularda benzer kararlar verirler. Birbirine hiyerarşik olarak bağlı ve paralel olarak çalışabilen yapay hücrelerin (proses elemanları) birbirine

bağlandıkları ve her bağlantının bir değerinin olduğu kabul edilmekte, öğrenme yolu ile elde edilen bilgi proses elemanlarının bağlantı değerlerlerinde saklanmaktadır. Biyolojik sistemlerde öğrenme, nöronlar arasındaki sinaptik bağlantıların ayarlanması ile olur.

Yaşayıp tecrübe ettikçe sinaptik bağlantılar ayarlanır ve yeni bağlantılar oluşur. Bu sayede öğrenme gerçekleşir. Bu durum yapay sinir ağları için de geçerlidir. Öğrenme, eğitme yoluyla örnekler kullanarak olur; başka bir deyişle, gerçekleşme girdi/çıktı verilerinin işlenmesiyle, yani eğitme algoritmasının bu verileri kullanarak bağlantı ağırlıklarını bir yakınsama sağlanıncaya kadar tekrar tekrar ayarlamasıyla olur. Yapay sinir ağları, ağırlıklandırılmış şekilde birbirlerine bağlanmış birçok işlem elemanından (nöronlar) oluşan matematiksel sistemlerdir. YSA’lar Bağlantısal Mimarlar (Connectionist Architectutures), Adaptif Sistemler (Adaptive Systems) veya Paralel Dağıtılmış Đşlemciler (Paralel Distributed Processing) olarak da adlandırılırlar (Yurtoğlu, 2005; Öztemel, 2003; Wikipedia, 2006).

3.2. Yapay Sinir Ağlarının Kronolojik Tarihçesi

• 1890: Đnsan beyninin yapısı ve fonksiyonları ile ilgili ilk yazılımlar.

• 1911: Đnsan beyninin bileşenlerinin belirli bir düzenek ile sinir hücrelerinden (nöronlar) oluştuğu fikrinin benimsenmesi.

• 1942: McCulloch ve Pitts tarafından ilk hücre modelinin geliştirilmesi ve birkaç hücrenin ara bağlaşımlarının incelenmesi.

• 1943: Yapay sinir hücrelerine dayalı hesaplama teorisinin ortaya atılması ve eşik değerli mantıksal devrelerin (threshold logic device) geliştirilmesi.

• 1949: Hebb tarafından ilk öğrenme kuralının önerilmesi ve biyolojik olarak mümkün olabilen öğrenme prosedürünün bilgisayarlar tarafından gerçekleştirilecek biçimde geliştirilmesi.

• 1956-1962: Widrow ve Hoff tarafından ADALINE, LMS ve Widrow öğrenme algoritmalarının geliştirilmesi.

• 1957-1962: Tek katmanlı algılayıcının (perceptron) geliştirilmesi.

• 1958: Rosenblatt tarafından algılayıcı (perceptron) modelinin ve öğrenme kuralının geliştirilerek bugün kullanılan kuralların temelinin koyulması.

• 1965: Makine öğrenmesi ile ilgili ilk kitabın yayınlanması,

• 1967-1969: Bazı gelişmiş öğrenme algoritmalarının (Grosberg öğrenme algoritması gibi) geliştirilmesi.

• 1969: Minsky ve Papert tarafından algılayıcıların kesin analizi yapılarak algılayıcıların karmaşık mantıksal fonksiyonlar için kullanılamayacağının açıklanması.

DARPA’nın yapay sinir ağlarını desteklemeyi durdurup diğer yapay zeka çalışmalarına destek vermesi.

• 1969-1972: Doğrusal ilişkilendiricilerin geliştirilmesi.

• 1972: Korelasyon ve matris belleğinin geliştirilmesi.

• 1974: Geriye yayılım modelinin (çok katmanlı algılayıcının) ilk çalışmalarının geliştirilmesi.

• 1978: Öğretmensiz öğrenmenin geliştirilmesi-ART modelinin geliştirilmesi.

• 1982: Kohonen tarafından öz düzenlemeli haritanın (self-organizing map) tanımlanması ve kendi adıyla anılan eğiticisiz öğrenen ağları geliştirilmesi.

• 1982: Hopfield tarafından YSA’nın birçok problemi çözebilecek kabiliyette olduğunun gösterilmesi ve optimizasyon gibi teknik problemlerin çözülmesi için doğrusal olmayan Hopfield ağının geliştirilmesi.

• 1982: Çok katmanlı algılayıcının geliştirilmesi.

• 1982: SOM modelinin geliştirilmesi.

• 1984: Boltzman makinesinin geliştirilmesi.

• 1985: Çok katmanlı algılayıcıların (genelleştirilmiş Delta öğrenme kuralı ile) geliştirilmesi.

• 1986: Rumelhart tarafından geriye yayılımın tekrar meydana çıkarılması.

• 1988: Chua ve Yang tarafından hücresel sinir ağlarının geliştirilmesi.

• 1988: RBFN modelinin geliştirilmesi, PNN modelinin geliştirilmesi.

• 1991: GRNN modelinin geliştirilmesi.

• 1991 sonrası: Günümüze kadar sayısız uygulamalar geliştirilmiştir.

(Öztemel, 2005; Şen, 2004).

3.3. Yapay Sinir Ağlarının Çalışma Prensibi

Bir yapay sinir ağının en temel görevi, kendisine gösterilen bir girdi setine karşılık gelebilecek bir çıktı seti belirlemektir. Bunu yapabilmesi için ağ, ilgili olayın örnekleri ile eğitilerek genelleme yapabilecek yeteneğe kavuşturulur. Bu genelleme ile benzer olaylara karşılık gelen çıktı setleri belirlenir (Öztemel, 2003).

Yapay sinir ağlarının temel özellikleri, mimarisi (architecture) ve fonksiyonel özellikleri (neurodynamics) olarak iki kısımda incelenebilir. Mimari yapı ağın topolojisini yani, ağdaki nöronların sayısını ve birbirleriyle olan bağlantılarını tanımlar.

Sinir ağları çok sayıda benzer karakteristiklere sahip nöronun (proses elemanı) birbirine bağlanmasından oluşur. Nöron dinamiği ile de sinir ağının özellikleri tanımlanır. Ağın öğrenmesi, öğrendiklerini hatırlaması, veriler arasında bağlantı kurması, yeni bilgilerle var olan bilgileri karşılaştırabilmesi, yeni bilgilerin sınıflandırılması ve eğer gerekli ise yeni sınıflandırmaların geliştirilmesi ağın fonksiyonel özellikleridir (Kartalopoulos, 1996). Nitel veya niceliksel analizin etkinliği için yapay sinir ağları eğitim safhasından geçmelidir. Ağın topolojisinin ayarlanması, ağırlık faktörleri, aktivasyon fonksiyonu parametreleri ve diğer ağ parametreleri, ağa özel eğitim metoduyla belirlenmelidir (Kalach, 2005).

Sinirsel (neural) hesaplamanın merkezinde, dağıtılmış, adaptif ve doğrusal olmayan işlem kavramları vardır. Yapay sinir ağları, geleneksel işlemcilerden farklı bir şekilde işlem yapmaktadırlar. Geleneksel işlemcilerde, tek bir merkezi işlem elemanı her hareketi sırasıyla gerçekleştirir. YSA’lar ise her biri büyük bir problemin bir parçası ile ilgilenen, çok sayıda basit işlem elemanlarından oluşmaktadırlar. En basit şekilde, bir işlem elemanı, bir girdiyi bir ağırlık kümesi ile ağırlıklandırır, doğrusal olmayan bir şekilde dönüşümünü sağlar ve bir çıktı değeri oluşturur. Sinirsel hesaplamanın gücü, toplam işlem yükünü paylaşan işlem elemanlarının birbirleri ile arasındaki yoğun bağlantı yapısından gelmektedir. Çoğu YSA’da benzer karakteristiğe sahip nöronlar tabakalar haline yapılandırılır ve transfer fonksiyonları eş zamanlı olarak çalıştırılırlar.

YSA’nın ana öğesi olan matematiksel fonksiyon, ağın mimarı tarafından şekillendirilir.

YSA’nın yapısı oluşturulduktan sonra çeşitli matematiksel algoritmalardan bir tanesi

kullanılarak üretilen çıktıların doğruluk (accuracy) düzeyinin maksimize edilmesi için gerekli olan ağırlık değerleri belirlenir. YSA’lar önceki örnekleri kullanarak ağırlıkları belirlemek yoluyla girdi değişkenleri ile tahmini değişkenler arasındaki ilişkiyi ortaya çıkartırlar; diğer bir deyişle YSA’lar eğitilir. Bir kez bu ilişkiler ortaya çıkartıldıktan sonra YSA yeni verilerle çalıştırılabilir ve tahminler üretebilir. Bir ağın performansı, amaçlanan çıktı ve hata kriteri ile ölçülür. Ağın çıktısı ile amaçlanan çıktı karşılaştırılarak hata payı elde edilir. Geri yayılma (backpropagation) olarak adlandırılan algoritma ile hata payını azaltacak şekilde ağırlıkları ayarlamak mümkündür. Bu işlem defalarca tekrar edilerek performans ölçümleri bazında optimum çözüme ulaşılır (Yurtoğlu, 2005).

YSA hesaplamaları arasında biri ileriye doğru girdileri çıktılar haline dönüştürmek, diğeri de hataların azaltılması için ağırlıkları geriye doğru yenilemek olmak üzere iki aşama vardır. Sonuçta modelin hata uzayında en küçük değere yaklaşması istenir ama bunu garanti etmek zordur. YSA bir yerel en küçükleme değerine ulaşarak sanki en iyi durum elde edilmiş gibi bir yanılgıya da sebep olabilir. Bundan kaçınmanın tek yolu aynı YSA’yı değişik başlangıç değerleri atanması ile birkaç defa çalıştırmaktır. Eğer her seferinde de aynı en küçük hata değerine ulaşılıyorsa bunun aranan mutlak en küçük hataya karşı geldiği kararına varılabilir (Şen, 2004).

3.4. Yapay Sinir Ağlarının Genel Özellikleri

• Paralel olarak çalışırlar ve hata tolere edebilirler.

• Bilgi, ağın bağlantılarının değerleri ile ölçülmekte ve bağlantılarda saklanmaktadır.

• Örnekleri kullanarak öğrenirler (adaptif öğrenme).

• Belirli bir algoritma yerine sezgisel yöntemler kullanırlar.

• Problemdeki değişime göre tekrar eğitilebilirler.

• Genelleme yapabilirler.

• Görülmemiş örnekler hakkında bilgi üretebilirler.

• Algılamaya yönelik olaylarda kullanılabilirler.

• Şekil(örüntü) ilişkilendirme, örüntü tamamlama ve sınıflandırma yapabilirler.

•Kendi kendine organize etme ve öğrenebilme yetenekleri vardır. Eksik bilgi ile çalışabilmektedirler. Belirsiz, tam olmayan bilgileri işleyebilmektedirler.

• Dereceli bozulma (graceful derradation) gösterirler.

• Dağıtık belleğe sahiptirler.

• Sadece nümerik bilgiler ile çalışabilmektedirler.

• Doğrusal olmayan karmaşık problemlerin çözümünde kullanılırlar.

•Ağ fonksiyonları nonlineerdir. Ağ yapısal esnekliğe sahip olduğundan işlevseldir.

(Öztemel, 2005; Ergezer vd., 2003).

3.5. Yapay Sinir Ağlarının Uygulama Alanları

Yapay sinir ağları çeşitli alanlarda kompleks problemlerin çözümünde yaygın olarak kullanılmakta olup örüntü tanıma, sınıflandırma ve kontrol sistemlerinde başarı ile uygulanmaktadırlar. Geleneksel bilgisayarlar ve insanlar için oldukça zor olan problemleri çözmek için eğitilebilmektedirler. Diğer taraftan istenilen bilgiyi verilerden doğrudan elde edebildikleri için geleneksel yaklaşımların sınırlamasının üstesinden gelebilirler (Sözen vd., 2003).

Yapay sinir ağları, yaygın olarak kullanılan çok değerli, lineer olmayan sistemlerdir.

YSA yazılım teknikleri özellikle gerçek zamanlı fonksiyonların kullanıldığı problemlerde (belirsizlik işleme, sensör tümleme gibi) uygulanabilir çözümler önerebilirler (Viharos et al., 2001: Monostori et al.,1996).

Yapay sinir ağları esnekliği ve performansı nedeniyle mekanik sistemlerdeki yeni teknolojilerin etkisini analiz etmede yaygın olarak kullanılırlar ve analiz için gereken zamanı azaltırlar. Yapay sinir ağları dizayn nesnelerinin optimizasyonunda önemli performans gelişimi sağladığı gibi, dizayn nesneleri arasında zıtlık olduğunda dahi hem tekli hem çoklu nesneler için yakın gerçek zamandaki sistem çıktısının tahminini sağlar.

Yapay sinir ağlarının kullanımı yakın gerçek zamanlı karmaşık sistemlerin tasarım analiz araçlarının kabul edilebilir toleranslarla simülasyonunu olanaklı kılar (Jules and Lin, 2002). Yapay sinir ağları herhangi bir konuda çözüm bulmanın en iyi ikinci

yoludur. En iyi yöntem, problemi tam olarak kavrayarak doğru formülü ve en iyi algoritmayı bulmaktır. Fakat bu her zaman mümkün olmamaktadır ve çoğu problem en iyi 2. yaklaşıma başvurularak çözülmektedir (Jepsen, 2006). Yapay sinir ağları, doğrusal olmayan, çok boyutlu, karmaşık, kesin olmayan, eksik, kusurlu, hata olasılığı yüksek verilerin olması ve problemin çözümü için özellikle bir matematik modelin ve algoritmanın bulunmaması hallerinde yaygın olarak kullanılmaktadırlar. Yapay sinir ağları çok değişken ve karmaşık etkileşim içeren üretim prosesleri için mükemmel sistemlerdir.

Yapay sinir ağlarının uygulandığı alanlardan en yaygın olanları şunlardır;

probabilistik fonksiyon kestirimleri, sınıflandırma, ilişkilendirme veya örüntü eşleştirme, zaman serileri analizleri, sinyal filtreleme, veri sıkıştırma, örüntü tanıma, doğrusal olmayan sinyal işleme, optimizasyon, zeki ve doğrusal olmayan kontrol, kümeleme, vektör sayısallaştırması, tahmin problemleri, planlama ve kontrol, proses kontrolü, robotik, bio-enerji, endüstriyel işlem modelleme, malzeme formülasyonu, uydu görüntülerini ve sonar sinyalleri sınıflandırma (Öztemel, 2003; Şen, 2004;

Dreyfus, 2005). Yapay sinir ağlarının mühendislik alanındaki bazı uygulamaları ise;

rulman hata sınıflaması, tornalama, vida dişi açma ve kaynak karşılaştırması, araç titreşimi gözleme için akustik emisyon, sürekli karıştırmalı tank reaktörlerinin sıcaklık kontrolü, çip üretimi izleme ve kesme takımı dayanımı gibi uygulamalardır. Pham ve Öztemel 1994’ de kontrol haritalarının analizi ve yorumlanması için örüntü tanıma ve uzman sistem esaslı tüm devre sinir ağlarını kullanmışlardır (Stich et al., 1999).