Sayfanın geldiği yer: Yapay-Zeka.Org
http://www.yapay-zeka.org
Yapay Sinir Ağları ve Tanıma Sistemleri
Yapay Sinir Ağları ve Tanıma Sistemleri
İ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).
Yukarıda da görüldüğü gibi, uygulanan “Sobel operatörü”, yüz resmine
ait yatay bölümleri belirgin hale getirmektedir. Bir yüz resminde bu
bileşenler; ağız, gözler ve aslın üst kısmıdır. Daha önce de
değindiğimiz gibi, resim bilgisini sıkıştırılmış bir formata
dönüştürerek de öğrenmede kullanılır.
Aşağıda DCT (Discrete Cosine Transform) tekniğiyle bir yüz resminin
nasıl sıkıştırıldığı görülmektedir:
Görüldüğü gibi, 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.
Sayfanın adresi: :
http://www.yapay-zeka.org/index.php?page=47