GenBilim
Türkiye Bilim Sitesi  
Anasayfa | Forum | Bilimler | Arşiv Tarama | GenKalem | Destek | Site Haritası | Linkler | RSS | Reklam | Arkadaşını Davet Et | İletişim
Kontrol Paneli Anasayfa arrow Bilimler arrow Arkeoloji arrow Yapay Sinir Ağları Kontrol Paneli Kontrol Paneli Kontrol Paneli Kontrol Paneli Üye OlŞifre Hatırlat Kontrol Paneli
Şub 03 2008
Yapay Sinir Ağları Yazdır E-posta
(0 Oy)



Halit Ergezer   
Pazartesi, 04 Şubat 2008
Okunma: 1963 kez

İnsanoğlu, mağara duvarlarına hayvan figürleri çizerek başladığı veri işleme sürecine artık insan gözüyle görülemeyecek küçüklükteki “chip”lerle devam etmektedir. Bu gelişim yaklaşık 4000 yıl gibi uzun bir süreye yayılmasına karşın gerçek gelişim son 50 yıl içinde yaşanmıştır. Günümüzde hayatımızın her alanına girmiş ve hayatımızın bir rutini haline dönüşmüş olan bu teknolojiyi insan oğlunun önceden tahmin etmesi bile olanaksızdı.

Örneğin; bilgisayar sektörünün önemli firmalarından IBM’in bir yöneticisi, “Bilgisayar ne kadar küçülürse küçülsün bir odadan daha küçük olamaz” demiştir. Sektörün önde gelen isimlerinden birinin böyle büyük bir yanılgı içinde olması, bilgisayar teknolojisinin ne kadar hızlı geliştiğini çok güzel açıklamaktadır. Bu gelişim sürecinde artık kendi zekasıyla yetinmeyen insanoğlu makinelere de zeka verme uğraşı içindedir; artık amaç  daha zeki, insan davranışlarını örnekleyebilen ve karar verebilen makineler üretmektir. Bu noktada karşımıza “Yapay Zeka” kavramı çıkmaktadır.

Günümüzde insanlığın en büyük hayallerinden biri haline gelen, üzerine filmler çekilen, kitaplar yazılan yapay zeka konusunu iyi anlayabilmek için felsefeden bilgisayar bilimine, elektrik-elektronikten biyoloji ve psikolojiye kadar çok geniş bir alanda çalışma yapmak gerekir. Turing makineleriyle temeli atılan yapay zeka üzerinde en fazla araştırma yapılan konu “yapay sinir ağları”dır. Yapay sinir ağları, temelde tamamen insan beyni örneklenerek geliştirilmiş bir teknolojidir. Bilindiği gibi; öğrenme, hatırlama, düşünme gibi tüm insan davranışlarının temelinde sinir hücreleri bulunmaktadır. İnsan beyninde tahminen 1011 adet sinir hücresi olduğu düşünülmektedir ve bu sinir hücreleri arasında sonsuz diyebileceğimiz sayıda sinaptik birleşme denilen sinirler arası bağ vardır. Bu sayıdaki bir birleşimi gerçekleştirebilecek bir bilgisayar sisteminin dünya büyüklüğünde olması gerektiği söylenmektedir; ancak 50 yıl sonra bunun büyük bir yanılgı olmayacağını bu günden kimse söyleyemez. İnsan beyninin bu karmaşıklığı göz önüne alındığında, günümüz teknolojisinin 1.5 kg.lık insan beynine oranla henüz çok geride olduğunu söylemek yanlış olmaz.

Yapay sinir ağları temelde aşağıdaki özelliklere sahiptir:

YSA’ nın hesaplama ve bilgi işleme  gücünü, paralel dağılmış yapısından, öğrenebilme ve genelleme yeteneğinden aldığı söylenebilir. Genelleme, eğitim ya da öğrenme sürecinde karşılaşılmayan girişler için de YSA’ nın uygun tepkileri üretmesi olarak tanımlanır. Bu üstün özellikleri, YSA’ nın karmaşık problemleri çözebilme yeteneğini gösterir. Günümüzde birçok bilim alanında  YSA,  aşağıdaki özellikleri nedeniyle etkin olmuş ve uygulama yeri bulmuştur.

Doğrusal Olmama

YSA’ nın temel işlem elemanı olan hücre, doğrusal değildir. Dolayısıyla hücrelerin birleşmesinden meydana gelen YSA da doğrusal değildir ve bu özellik bütün ağa yayılmış durumdadır. Bu özelliği ile YSA, doğrusal olmayan karmaşık problemlerin çözümünde en önemli araç olmuştur.

Öğrenme

YSA’ nın arzu edilen davranışı gösterebilmesi için amaca uygun olarak ayarlanması gerekir. Bu, hücreler arasında doğru bağlantıların yapılması  ve bağlantıların uygun ağırlıklara sahip olması gerektiğini ifade eder. YSA’ nın karmaşık yapısı nedeniyle bağlantılar ve ağırlıklar önceden ayarlı olarak verilemez ya da tasarlanamaz. Bu nedenle YSA, istenen davranışı gösterecek şekilde ilgilendiği problemden aldığı eğitim örneklerini kullanarak problemi öğrenmelidir.

Genelleme

YSA, ilgilendiği problemi öğrendikten sonra eğitim sırasında karşılaşmadığı test örnekleri için de arzu edilen tepkiyi üretebilir. Örneğin, karakter tanıma amacıyla eğitilmiş bir YSA, bozuk karakter girişlerinde de doğru karakterleri verebilir ya da bir sistemin eğitilmiş YSA modeli, eğitim sürecinde verilmeyen giriş sinyalleri için de sistemle aynı davranışı gösterebilir.

Uyarlanabilirlik

YSA, ilgilendiği problemdeki değişikliklere göre ağırlıklarını ayarlar. Yani, belirli bir problemi çözmek amacıyla eğitilen YSA, problemdeki değişimlere göre tekrar eğitilebilir ve değişimler devamlı ise gerçek zamanda da eğitime devam edilebilir. Bu özelliği ile YSA, uyarlamalı örnek tanıma, sinyal işleme, sistem tanılama ve denetim gibi alanlarda etkin olarak kullanılır.

Hata Toleransı

YSA, çok sayıda hücrenin çeşitli şekillerde bağlanmasından oluştuğu için paralel dağılmış  bir yapıya sahiptir ve ağın sahip olduğu bilgi, ağdaki bütün bağlantılar üzerine dağılmış durumdadır. Bu nedenle, eğitilmiş bir YSA’nın bazı bağlantılarının hatta bazı hücrelerinin etkisiz hale gelmesi, ağın doğru bilgi üretmesini önemli ölçüde etkilemez. Bu nedenle, geleneksel yöntemlere göre hatayı tolere etme yetenekleri son derece yüksektir.

Yapay sinir ağları; ses tanıma, yazılan karakteri tanıma, robot kontrolleri, resim işleme ve yüz tanıma sistemlerinde çok sık olarak kullanılmaktadır. İnsanı (özellikle insan beynini ve algı sistemlerini) modellemenin giderek öne çıktığı son yıllarda, yüz tanıma sistemlerinin önemi de giderek artmaktadır. Gelecekte hem de çok yakın gelecekte yüz tanıma sistemleri havaalanlarında, ATM’lerde, güvenlik kamerası olan yerlerde kullanılmaya başlanacaktır. Şu sıralarda birkaç havaalanında ve şirkette deneme aşamasında olan bu sistemlerin performanslarının gerçek zamanlı çalışmalara uygun hale getirilmesi için çalışmalar yapılmaktadır. Bu sistemlerin en büyük zorluğu, gerçek zamanlı olarak doğru bir şekilde çalışmasının sağlanmasıdır; çünkü gerçekleştirilecek sistemin çok değişik görüntüleme şartlarında çalışması gerekmektedir ve görüntü işleme algoritmalarının uygulanması için çok hızlı ve çok büyük bellekli bilgisayarlara ihtiyaç vardır. Gerçek zamanlı çalışmaya ihtiyaç duymayan uygulamalarda -örneğin polis sabıka kayıtlarında-, çok yüksek doğruluk oranları ve çok hızlı ile çalışan sistemler kullanılmaktadır.

Yüz tanımada kullanılan çok çeşitli teknikler olmasına rağmen, aslında bu tekniklerin büyük çoğunluğu insan algısı modellenmeden geliştirilmiş tekniklerdir. Bu noktada ilk yapılması gereken iş resimleri bilgisayar için anlamlı hale getirmektir. Bilgisayarda resimler, insan için fazla anlamlı olmayan sayı kümeleri halinde tanımlanır ve resimler üzerinde yapılacak her iş, bu sayı kümesi üzerindeki matris operasyonları sayesinde yapılır. Aslında yapılan tüm bu hesaplamaların gerçekte beynimizde elektrik sinyalleriyle yapıldığını, hatta işi biraz daha abartarak tıpa tıp aynı şekilde gerçekleştiğini söylemiş olsak, pek de yanılmayız. Sonuçta, bilgisayarda 1 veya 0 dediğimiz her şey, beynimizde pozitif (+) ve negatif (-) voltaja karşılık gelmektedir. Peki nasıl oluyor da insan gözü, gördüğü bir nesneyi yeniden gördüğünde bunun ilk gördüğü nesne olduğunu anlayabiliyor. En basit anlamda o nesneyi bir şekilde hafızaya kaydediyor, yeni bir görüntü aldığında ise elektrik sinyallerinden oluşan bu görüntüyü bir şekilde hafızasındakilerle karşılaştırıyor. Tabii ki bu karşılaştırma bildiğimiz anlamda olmaktan öte, değişik hesaplamalarla yapılır. İşte bu işlemler, yapay sinirler için de hemen hemen  aynıdır. Yalnız burada sinyaller değil, çeşitli matematiksel hesaplamalar söz konusudur.

Yüz tanıma işlemi, insan yüzünün tamamı kullanılarak gerçekleştirildiği gibi, alınan bu yüze çeşitli teknikler uygulayarak da gerçekleştirilebilmektedir. Bu teknikler, temel olarak, yüzün tanımayı kolaylaştıran kritik bölgelerini ortaya çıkararak veya yüzün bütününü yine değişik metotlarla sıkıştırarak öğrenmeyi kapsamaktadır.

Yaptığımız çalışmalarda, insan yüzünün çeşitli bölgelerini çıkararak da testler gerçekleştirdik. Bunlardan biri, yüz resmi üzerinde gözlerin tespitidir. Gözlerin tespit edilmesi, yukarıda da gösterildiği gibi resmin yatay ve düşey izdüşümlerinin bulunması ile gerçekleştirilir. Aslında bu işlem yüzün arka planını çıkarmakta kullanılır; ancak biz çalışmalarımızda, izdüşümler üzerinden göz çukurunun bulunduğu bölgeyi tespit ederek gözleri ortaya çıkardık. Bundan sonra resmin tümünün yerine yalnızca bulunan gözler oluşturduğumuz yapay sinir ağı modeline verilerek tanıma işlemi gerçekleştirilebilmektedir.

Resimlere uygulanan bir başka teknik ise, yüzlerin yatay ve dikey elemanlarını bulmak için kullanılan sobel operatörleridir. Sobel operatörleri 3x3 ’lük matrislerdir. Bu matrisler resme uygulandığında resmin özel bölgeleri tespit edilebilir. En sık kullanılan sobel operatörü, kenar tespit operatörüdür (Edge Detection).
 
Sıkıştırılmış resmin orijinaliyle hiçbir benzerliği bulunmamaktadır. Hatta işin ilginç yanı, bu teknik hangi resme uygulanırsa uygulansın, oluşan görüntü yukarıdaki ile hemen hemen aynı olmaktadır. Yani bir çiçek resmi ile bir yüz resmine bu tekniği uyguladığımızda, fark insan gözü ile fark edilememektedir. Her iki resimde de bilginin sol üst köşede toplandığı görülecektir. Ancak insan gözünün fark edemediği şey, ince detayda saklıdır. Aynı gibi görünen her bilgi, matematiksel olarak farklı değerler içerir. Yalnız işin püf noktası da burada yatmaktadır. Gözle görünen anlam verebildiğimiz o küçük kısım, resmi tekrar elde edebilmemiz için yeterli olmaktadır. Bir bakıma öğrenmeyi sağlayacak, akılda kalıcı noktaların buraya toplandığını da söyleyebiliriz. Bu şekilde resmin çok küçük bir bölümü alınarak da öğrenme tamamlanabilir, üstelik daha da hızlı gerçekleşir.

Yüz tanımayı gerçekleştirmenin bir başka yolu da “Özdeğer ve  özvektörleri (Eigen Faces)” nin bulunmasıdır. Bu yöntemde öncelikle yüz resimlerinin ortalaması hesaplanır ve her resmin bu ortalamadan uzaklığı bulunur. Bulunan bu matris, transpozu ile çarpılır, elde edilen yeni matrisinin “Öz değer ve  öz vektörleri” bulunur. Bu yöntemin en önemli artısı, bulunan öz değer ve öz vektörlerin ortogonal olması, yani çarpımlarının ‘0’ olmasıdır. Bu öğrenmeyi daha etkin kılar, çünkü resimler ortogonal oldukları için hiçbir benzerlikleri bulunmaz. Bu farklılaşma da tanıma işleminde büyük kolaylık sağlar.

Şu an üzerinde çalışılan konular, gerçek zamanlı tanıma işlemlerinin performanslarının iyileştirilmesi yönündedir. Çok kısa bir süre içerisinde şifre, anahtar, kredi kartı, parmak izi, imza vb. hiçbirine ihtiyaç kalmayacaktır.

Halit Ergezer, Mehmet Dikmen ve Erkan Özdemir
Başkent Üniversitesi, Bilgisayar Mühendisliği Bölümü

Kaynak: Ergezer, H., Dikmen, M. ve Özdemir, E. (2003). Yapay sinir ağları ve tanıma sistemleri. PiVOLKA, 2(6), 14-17


Etiketler:  



Sadece kayıtlı kullanıcılar yorum yazabilirler.
Lütfen hesabınıza giriş yapınız veya kayıt olunuz.





Reddit!Del.icio.us!Facebook!Slashdot!Netscape!Technorati!StumbleUpon!Newsvine!Furl!Yahoo!
 

GenBilim
GenBilim
Makale İçinde Ara GenBilim    
GenBilim
        RSS Kategorileri GenBilim
Lütfen listeden bir RSS kategorisi seçiniz.
GenBilim
Makale İşlemleri
Sizde Yazi Ekleyin
Yorum Ekleyin
Terim Ekleyin
Bu makaleyi favorilerime ekle
Sizde Link Ekleyin
Bu makaleyi PDF olarak kaydet
 Makaleyi rapor et
GenBilim
Sponsor Bağlantılar


        Favori Makalelerim
Sadece kayıtlı üyeler bu bölümü kullanabilir!
GenBilim
GenBilim