Bu sayfadaki yazılar
Sayfanın metni
Sayfa 10
Gün gelecek bilgisayarlar konuşacak, duyacak, görecek belki düşünecekler bile. Tabii ki bugün o noktadan çok uzağız, ama araştırmacılar beyinde bulunan yapıları kullanıp bilgisayar modelleri yaparak insan beyninin çalışma temellerini keşfetmek için uğraşıyorlar. Bu yapılar “sinirsel ağ sistemleri” olarak isimlendiriliyor. Arayış, yavaş yavaş yeni bir bilim dalının doğmasını sağlıyor ve biz de bu alanda önemli ilerlemeler görmeye başlıyoruz. Geleceğin bilgisayarlarını anlamak için insan beyninin yapısını bilmemiz gerekiyor. Beynin en basit yapıtaşı “nöron” olarak bilinen sinir hücreleridir. Nöronlar hepimizin düşünmesini sağlayacak bir şekilde ve çok kompleks olarak birbirlerine bağlıdırlar. Hiç kimse nöronların kendi aralarında nasıl bir şekilde bağlandıklarını bilmemektedir, ama hemen hemen bütün bilim adamları beynin gücünün nöronların kendi aralarındaki ilişkiye bağlı olduğunda anlaşmaktadırlar. Bir nöron hücre gövdesi, gövdeden çıkan “dendrit” adlı birkaç uzantı ve “akson” adı verilen diğerlerinden daha kalın ve uzun olan bir uzantıdan oluşur. Bu hücrelerden çoğu, aksonlarından diğer nöronlara doğru bir elektrik sinyali gönderir ve aksona değen dendritleri bulunan diğer nöronlarla bu yolla iletişim kurarlar. Aksonların dendritlerle birleştiği yere “sinaps” denir ve burada bir kimyasal reaksiyon olur. Bir hücre elektriksel sinyali diğer bir hücreye gönderince ikinci
hücrede bir elektriksel potansiyel oluşur. Bu potansiyel belli bir duyum eşiğini geçince, elektriksel sinyal ikinci hücrenin aksonundan diğerlerine doğru iletilir. İşte beyin içindeki bilgiler bu yolla işlenir. Beynin kendi içindeki bilgi transferi çok ilginç bir konudur. Ama biz hâlâ beynin en önemli özelliğini tartışmadık - öğrenme yeteneği. 1949 yılında Donald O. Hebb beynin öğrenebilmesi için bir teknik önerdi; bu teknik genel olarak 'Hebb Sinapsı” olarak bilinir. Bu teknik iki hücre arasındaki bağlantıların kuvvetlerinin modifikasyonu (yavaş yavaş olumlu yönde değişmesi) olarak açıklanabilir. Ama Hebb bu sistemi şöyle açıklar: A hücresinin aksonu, B hücresini devamlı olarak uyarıyorsa bir süre sonra bir gelişme veya metabolik değişme olur ve B hücresini uyaran hücreler arasında A hücresinin verimliliği artar. Bugün bir elektronik beyin yapmaya ne kadar yaklaştık? Bugünün teknolojisi beyin kadar büyük ve karmaşık bir bilgisayar yapmamıza elverecek kadar gelişmiştir. Bilgisayarlar, nöronlardan 100.000 kat daha hızlı çalışan silikon yongalardan oluşurlar. Buradan çok hızlı ve çok güçlü bilgisayarlar yapabileceğimiz sonucunu çıkarabilirsiniz, ancak dünyanın en hızlı bilgisayarı bile bir kol ve bacak arasındaki farkı bilemez. Silikondan bir beyin yapacak teknolojiye sahip olmamıza rağmen ona zeka verecek olan elemanları nasıl organize edeceğimizi hâlâ bilemiyoruz. Sinirsel bilgisayarlarla uğraşanlar beyinde bulunduğu farz edilen organizasyon özelliklerinin bilgisayar modellerini yapmakla uğraşırlar. İyi ama beynin modeli nasıl yapılır? Bu çok karmaşık bir sorudur, ama sinirsel ağları örnek aldığımızda daha basit olan iki soruya ayrılır: 1. Ne tür bir yapı kullanılmalıdır? 2. Öğrenmeyi taklit etmek için ne tür bir algoritma kurulmalıdır? Geçen birkaç yıl içerisinde sinirsel ağ modellerine birçok örnek geliştirilmiştir. Bunlar genellikle üç ana grupta toplanır: 1. Associate (ortak), 2. Optimizing (en iyi seviyeyi bulan), 3. Self-organizing (kendi kendini düzenleyen) ağ sistemleri. Associate (ortak) ağlar giriş ve çıkış modellerini ortak olarak işlemeyi öğrenir, böylece bir giriş yapıldığında ona karşılık gelen doğru çıkış sağlanır. Bunun bir örneği “Çizgisel Ortaklık” olarak biraz sonra anlatılacaktır. Optimizing (en iyi seviyeyi bulan) ağlar, kolay bir algoritmanın bulunmadığı ve ortalama bir sonuç gerektiren problemlerin çözümünde kullanılır. Bu tür ağlar 1982'de fizikçi J.J.Hopfield tarafından keşfedilmiştir. Bu ağ sistemi istatistiki fizik ve termodinamik gibi konularda en iyi sonucu verir. Temel fikir sistemdeki
2. Şekil: En karmaşık dijital bilgisayar bile bir kol ile bacak arasındaki farkı anlayamaz. 10
Klavyeyle gezinmek için ← ve → tuşları.
Sayfa 11
2
(PE) ve bağlantılar.
Bir Çizgisel İşlemcideki (LA), işlem elemanları enerjiyi en aza indirmektir. İlk önce ağ sistemine sıcaklık için bir parametre verilir ve sistem yüksek bir sıcaklıkta işlemeye bırakılır. Bu “processing element” denen işlemci elemanların hızla hareket etmesini ve daha sonra soğuyarak çözümün bulunmasını sağlar. Self Organizing (kendi kendini düzenleyen) ağlar beyinde bulunan organizasyon prensibine en yakın olan modeldir. Beynimiz çalışmaya tamamen düzensiz olarak başlar ve biz öğrendikçe o da yavaş yavaş kendini çok teşkilatlı bir biçimde düzenler. Hiçbir beyin birbirinin aynısı değildir ancak organizasyon olarak benzerlikler vardır. Self organizing ağlar da beyin gibi rastlantısal ve dağınık bir biçimde çalışmaya başlar, yavaş yavaş kendilerini teşkilatlı bir biçimde düzenlerler. Birazdan anlatılacak olan Linear Associator - Çizgisel Ortaklık sistemi, giriş çıkışları eşler ancak bunun da sınırları vardır. Sadece bazı girişler öğrenilebilir. Ne yazık ki bu girişlerin sayısı giriş katmanındaki işlemci elemanların (PE) sayısına bağlıdır. Bu yüzden ilk katmanda beş PE olsa ve toplam 32(2^5) değişik giriş modeli olsa bile çizgisel ortaklık sistemi bunlardan sadece beş tanesini öğrenebilir. Bu sorunun çözümü başka bir tip ortaklık sistemi olan “Geri Yayılma” sistemindedir. Bu yapı günümüzde en çok kullanılan sinirsel ağ tipidir. Bu sistemi gelecek bölümde örnek programlarıyla beraber tartışacağız.
2) 2. Katman
3) 1. Katman
LA'daki PE'lerin arasındaki bağlantıların ağırlıklarını gösteren bağlantı matrisi.
1. Katman
2. Katman
ÇİZGİSEL ORTAKLIK - LINEAR ASSOCIATION (LA)
Tek bir bağlantı katmanının yardımıyla giriş ve çıkışları düzenleyen, basit sinirsel ağ sistemi, çizgisel ağ sistemine (LA) bir göz atalım. Sinirsel ağ sistemleri farklı olsalar da aralarında bazı benzerlikler bulunur: — Bir grup işlem elemanı (PE) * — İki PE arasındaki bağlantıların kuvvetlerini kapsayan bir bağlantı matrisi — Bir etkinleştirme (aktivasyon) katmanı — Öğrenme ve geri çağırma aşamaları — Giriş vektörü — Çıkış vektörü Bir çizgisel ortaklıkta, her işlem elemanı (PE) -şeklinde yuvarlak içinde bir rakamla belirtilmiştir- beyindeki bir nöronun, bazen de birlikte çalışan bir grup nöronun yerini tutar. Her PE gerçek dünyadaki bir kavramı anlatır; bir kelime, bir harf, hatta bir resmin bir tek pixeli. PE'ler bir kaç gruba veya katmana ayrılmışlardır ve bu katmanlara göre numaralandırılırlar. PE'leri birleştiren çizgiler de beyindeki aksonların yerini tutar ve bunlar bir bağlantı matrisinde tutulurlar. Değişik katmanlardan iki PE birleştiği zaman, bağlantının gücü veya ağırlığı bağlantı matrisine yapılır. Bağlantı matrisi hatalar arasındaki sinyal yayılmasını kontrol eder. Sinyal, bağlantı matrisinin yatay katmanından başlar ve düşey katmanından doğru yayılır. Bizim örnek aldığımız LA'da sinyal birinci katmandan başlar ve ikinci katmana doğru yayılır. Normal olarak sinyal küçük numaralı katmandan yüksek numaralı katmana doğru yayılır. Bu her sinirsel ağ sistemi için geçerli değildir ama genel olarak doğrulanır. Bağlantının ağırlığı genellikle bir sayı ile belirlenir. Eğer bağlantı uyarıcı ise (yani birinci katmandaki PE ikinci katmandaki PE'yi uyarıyorsa)
bağlantının ağırlığı pozitiftir. Eğer bağlantı tutucu ise (yani birinci katmandaki PE ikinci katmandaki PE'yi bastırıyorsa) bağlantının ağırlığı negatiftir. LA'da (ve diğer sistemlerde) hem uyarıcı hem de tutucu bağlantılar olmalıdır. Her PE açık, kapalı veya arada bir yerde olabilir. Buna aktivasyon düzeyi denir. Aktivasyonun yani etkinliğinin sınırlı 0 ile 1 veya -1 ile 1 arasındadır. LA 0 ile 1 arasındaki düzeyleri kullanmaktadır. Eğer 0 ise tamamen kapalı, 1 ise tamamen açıktır. Bir PE'nin değeri 1'e yakınsa aktif olarak yorumlanır. Ve eğer bu PE ile diğer bir katmandaki başka bir PE arasındaki bağlantı uyarıcı ise ikinci katmandaki PE daha aktif hale geçer, yani aktivasyon düzeyi artar. Bunun tersi aradaki bağlantı tutucu ise gerçekleşir. Sinirsel ağların amacı girişleri çıkışlara çevirmektir. Bunu iki ayrı safhada yapar:
2. Geri çağırma. Öğrenme sırasında siz giriş ve çıkış vektörlerini LA'ya verirsiniz ve sistem bunları eşlemeyi öğrenir. İkinci safhada yani geri çağırma sırasında siz giriş vektörünü verirsiniz sistem de size çıkış vektörünü verir. LA'ya doğru olan modeli öğrenmek için bağlantı matrisinin ağırlıklarını düzenleyecek bir algoritmaya sahip olmalıyız, böylece geri çağırma safhasında doğru olan çıkış vektörü verilir. Sinirsel sistemin öğrenebilmesi, en önemli özelliğidir. Öğretici algoritma olmaksızın sistemler sadece iki programlandıkları işlemleri gerçekleştirirler. Ama öğretici algoritma bağlantı matrisinin ağırlıklarını düzenler ve böylece her seferinde yapılan değişik girişlere değişik çıkışlar verir.