×

Frank Rosenblatt ve Perceptron

Frank Rosenblatt ve Perceptron

Frank Rosenblatt Kimdir

Geleceği yansıtan (!) New York Times 8 Temmuz 1958 Haberi

Rosenblatt New York’ta 11 Temmuz 1928 tarihinde doğmuştur. 1946 yılında Cornell Üniversitesine başlamış 1950’de lisans diplomasını almış ve doktorasını 1956 yılında tamamlamıştır. Daha sonra New York’taki Cornell Havacılık Laboratuvarına ( Cornell Aeronautical Laboratory) gitmiştir. Burada araştırma psikoloğu ve Bilişsel Sistemler Bölüm başkanı olmuştur. Ayrıca, burada perceptronlar ile ilgili ilk çalışmalarını ve 1960 yılında geliştirileceği Mark-1 perceptron çalışmalarını yürütmüştür. Temel olarak Mark-1, insanın düşünce sürecinin simüle edildiği bir çeşit neural network kullanarak deneme-yanılma yoluyla yeni beceriler öğrenebilen ilk bilgisayardı. Genellikle yapay zekanın atası olarak bilinir. Mark-1 harfleri öğrenip, tanıyabiliyordu ve bazı komplex problemleri çözebiliyordu. 1959 yılında Cornell’in Ithaca Kampüsününe Bilişsel Sistemler Araştırma Programının yöneticisi ve Psikoloji Departmanının öğretim görevlisi olarak çalıştı. 1966 yılında yeni kurulan Biyolojik Bilimler Bölümünün Nörobiyoloji ve Davranış kısmına doçent olarak geçti. 1970 yılında Nörobiyoloji ve Davranış Alanı için saha temsilcisi (field representative) oldu. 1971’de Nörobiyoloji ve Davranış Alanının vekil başkanı oldu. 11 Temmuz 1971’de 43. yaş gününde Chsapeake Körfezinde tekne kazasında hayatını kaybetti. Yukarıda sayılan araştırma ilgi alanları dışında politika ve astronomi ile de ilgilenmiştir.

IBM 704

Perceptron (Algılayıcı)

Rosenblatt her ne kadar birçok alanla ilgisi olsa da en çok perceptronu ile bilinir. Perceptron biyolojik prensipler uyarınca ve öğrenme yeteneğini gösteren bir elektronik cihazdı. Perceptron teorisi “connectivist” (bağlantısal) bir pozisyona sahiptir. Teori temel olarak hipotetik bir sinir sistemi ya da perceptron isimli bir makine üretmektir. Perceptron zeki sistemlerin bazı temel özelliklerini temelde göstermek için tasarlanmıştır. Perceptronlar önce Cornell Havacılık Laboratuarındaki IBM 704 bilgisarında 1957 yılında simüle edildi. Perceptronun gözünün önünde (kamera=>aşağıdaki şekildeki foto-perceptron incelenebilir) üçgen şekli tutulduğunda, bu resmi alıp rastgele bir dizi satır boyunca  görüntünün kaydedildiği cevap ünitelerine iletiyordu. 

Rosenblatt perceptron ile ilgili çalışmalarını arttırdı ve 1962 yılında “Principles of Neurodynamics: Perceptrons and the Theory of Brain Mechanisms isimli kitabını yayınladı. The New York Times ve The New Yorker gazeteleri Perceptron’un bir devrim olduğuna yönelik haberler yayınladılar.

Ayrıca SRI (Stanford Research Institute) gibi başka yerlerde benzer cihazlar üzerinde araştırma yapıldı ve birçok araştırmacı neler yapabileceğine dair büyük beklentilere sahipti. Başlangıçta olan heyecan 1969 yılında Marvin Minsky ve Semour Papert’ın yayınladığı iki katmanlı ileri beslemeli (two layer feed forward) perceptronların kısıtı ile ilgili matematiksel kanıt ve çok katmanlı (multi-layer) perceptronların eğitilmesinin zorluğuna yönelik iddialar içeren  “Perceptrons” isimli kitabıyla birlikte azaldı. Kitabın kanıtladığı tek sonuç lineer fonksiyonların lineer olmayan (non-linear) fonksiyonları modelleyemeyeceğiydi. Buna rağmen perceptronlarla ilgilenen araştırmacıları ve araştırmaya yönelik yatırımları önemli bir ölçüde azalttı. Nöral ağ çalışmaları 1980’lerde ana akıma dönünce yeni araştırmacılar Rosenblatt’ın çalışması ile tekrar ilgilenmeye başladılar.

Frank Rosenblatt’ın 1958 yılında yayınladığı “THE PERCEPTRON: A PROBABILISTIC MODEL FOR INFORMATION STORAGE AND ORGANIZATION IN THE BRAIN” makalesini incelersek: Mümkün olduğunca biyolojik bir sistemin çalışmasına yakın olarak bir model tasarlamayı amaçladığı bariz olarak görülebiliyor. Boole cebir ve sembolik mantığın perceptronu açıklamak için uygun olmadığını ve başka bir matematiksel açıklama içerisinde olduğunu belirtir (Not: İçeriğin geri kalanında benzer yazılardan farklı olarak bilgisayar bilimleri bakış açısı yerine bilişsel bilimler yaklaşımıyla konuyu ele almaya çalışacağım).

Rosenblatt’ın makale girişinde sorduğu üç soru vardır ve makele boyunca perceptron özelinde bu soruları tartışır. Bu sorular:

  1. Biyolojik sistemler tarafından fiziksel dünya hakkında bilgi nasıl hissedilir ya da tespit edilir?
  2. Bilgi hangi formda depolanır veya hatırlanır?
  3. Depolanmış ya da hafızadaki bilgi tanıma veya davranışı nasıl etkiler ?

Depolanmış bilgi sinir sisteminde yeni bağlantılar veya geçiş kanalları oluşturur. Daha sonra yeni bir uyarıcı bu yeni üretilmiş bağlantıları kullanır. Tanıma veya tanımlama için ayrı bir işlem gerektirmeden uygun yanıtı otomatik olarak etkinleştirir.

Perceptron teorisinin temellendiği Hebb, Hayek, Uttley ve Ashby’nin varsayımları aşağıda özetlenmiştir:

  1. Öğrenme ve tanımanın dahil olduğu sinir sisteminin fiziksel bağlantıları organizmalar arasında tamamen aynı değildir. Doğumda nöral ağların yapısının büyük çoğunluğu büyük ölçüde rastgele oluşmuştur; ancak az sayıda genetik kısıtlamalara maruz kalmıştır.
  2. Sinir sistemdeki bağlantılı nöronlar belli bir miktarda plastisiteye sahiptir. Bir süre nöral aktivite periyodundan sonra, bir hücre grubuna uygulanan bir uyaranın başka bir grupta bir tepkiye neden olma olasılığı, nöronların kendisinde nispeten uzun süreli bazı değişiklikler nedeniyle muhtemelen değişecektir.
  3.  Birçok uyaran örneği arasında, en çok benzeyen uyaranlara aynı şekilde cevap veren nöronlar arasında bağlantı oluşturma eğilimi vardır.
  4. Pozitif ve negatif pekiştirme uygulaması nöronlar arasında bağlantı oluşmasını kolaylaştırabilir ya da engelleyebilir.

Perceptron’un Organizasyonu

Tipik bir photo-perceptron (uyarıcı olarak optik patternlere cevap veren perceptron) şekil olarak verilmiştir. Organizasyon kuralları aşağıda anlatılmıştır:

Şekil: Bir foto-perceptron organizasyonu
  1. Retina üzerindeki algılayıcı birimler (Sensory points= S-noktaları) üzerindeki görüntü uyaranına ya hep ya hiç kuralına göre cevap verir.
  2. Algılayıcı birimlerden yansıtma alanı içerisinde bulunan A-birimleri kümesine (association cells= A-units) impulslar iletilir. Yansıtma alanı, retinanın doğrudan bağlantı alanına bağlı olduğu bazı modellerde atlanabilir. Yansıtma alanındaki hücrelerin her biri algılama noktarıyla bir dizi bağlantı kurar. S-noktası kümeleri impulsları belirli bir A-birimine iletir. Burası A-biriminin başlangıç noktası olarak adlandırılacaktır. Bu başlangıç noktaları A-birimine olan etkisine göre uyarıcı ya da ketleyici olabilir. Eğer uyarıcı ve ketleyici impuls yoğunluklarının cebirsel toplamı A-birimin eşik değerine eşit ya da fazla ise A-birimi ateşlenir. Yansıtma alanındaki A birimlerinin başlangıç noktaları, her bir A birimine karşılık gelen bir merkezi nokta etrafında kümelenme veya odaklanma eğilimindedir. Söz konusu A-birimi için merkez noktadan retina mesafesi arttıkça başlangıç noktalarının sayısı katlanarak düşer.
  3.  Yansıtma alanı ve bağlantı alanı arasındaki bağlantıların rastgele olduğu varsayılır. Bağlantı dağılımı dışında,  Yansıtma alanıdaki birimler ile bağlantı birimleri ile aynıdır ve benzer durumlarda tepki verirler.
  4. Tepki hücreleri (R1,R2,…Rn) A-birimleri gibi tepki verir. Her bir tepki büyük sayıda A-birimleri kümesinin başlangıç noktalarının içerisine rastgele yerleşmiştir. Belirli bir cevaba impuls ileten A-birimleri kümesi, kaynak kümesi olarak da adlandırılabilir. Son bağlantı kümelerinde diğer bağlantılardan farklı olarak bağlantı alanı ve R-birimleri arasındaki bağlantıları iki yönlü olarak kurulur. Geri bildirim bağlantılarındaki kural çoğu perceptron modelinde iki alternatife sahiptir:
    1. Her bir tepki, kendi kümesindeki hücrelere uyarıcı geri bildirim verir
    2. Her bir tepki, kendi kümesindeki hücrelere ketleyici geri bildirim verir. Başka bir ifadeyle, herhangi bir bağlantı alanı hücresindeki aktivitenin aktarılmasını önleme eğlimindedir.
  • Her A-birimi tarafından iletilen impulsların, bir genlik, frekans, gecikme veya iletimi tamamlama olasılığı olabilen bir V (value= değer) değeri ile karakterize edilebileceği ilgili makalede varsayılmıştır. Bir A-birimi yüksek değere sahipse, tüm çıktı impulsları daha etkili, daha güçlü veya uçlara impuls ulaşması daha düşük değere göre daha olasıdır.
  • Baskın hale gelen tepki başlangıçta rastgeledir ama eğer A-birimleri pekiştirilirse (aktif birimlerin değer kazanmasına izin verilirse) ve daha sonra aynı uyaran bir süre sonra tekrar sunulursa aynı tepki daha güçlü tekrar etme eğilimine sahip olacak ve öğrenme gerçekleşmiş denenebilir. 
  • Perceptronların A-birimlerinin aktive olması için sabit bir eşik değeri (theta) değerine sahip olduğu varsayılır.
  • Perceptronun hafızası dağıtıktır bu anlamda herhangi bir bağlantı (assosiyasyon) sistemdeki hücrelerin büyük bir oranını kullanabilir ve bağlantısal sistemin bir kısmının kaldırılması, herhangi bir ayırt etme performansı üzerinde kayda değer bir etkiye sahip olmayacaktır ama öğrenmiş tüm bağlantılarda genel bir eksiklik gözlenmeye başlanacaktır.

İki Değerli (Bivalent) Sistemler

Perceptron iki değerli (bivalent) sistem olarak düşünülürse, iki değerli sistemde pozitif ve negatif pekiştirme türü vardır ve sistemdeki anlık duruma bağlı olarak aktif bir A-birimi ya değer kazanır ya da kaybeder. Eğer pozitif ve negatif pekiştirme dışsal bir uyaranın uygulanması şeklinde sunulursa, bu uyaranlar temelde öğrenme psikolojisindeki “ödül” ve “ceza” kavramlarına denk gelecektir. Bu koşullar varsayılırsa, bir perceptronun deneme-yanılma öğrenme yeteneğine sahip olduğu görülür. İki değerli bir sistem anlayışı biyolojik olarak daha makul varsayımları kullanır. A-birimleri bağlantılı tepkilerinin etkisine göre uyarıcı ya da ketleyici olabilir. +ΔV olan sistemde uyarıcı biriminin artışına karşılık gelirken, –ΔV ketleyici birimlerin artışına karşılık gelir. Aktif bir A-birimi tarafından pekiştirme veya deneyim sonucunda kazanılan değer artışları, aktif bir A-biriminin bağlı olduğu tepkileri aktive etme gücünü kazanmış olması anlamında pozitif olur. Pozitif geri bildirim olursa  kendi kümesinde “açık (on) ” tepki olur, negatif geri bildirim olursa (aktif A birimi değer kaybederse) “kapalı (off)” tepki olur. Başka bir şekilde ifade edilirse sisteme pozitif pekiştirme durumunda, “açık” tepkilerin kaynak kümelerindeki tüm aktif A-birimlerinin değerlerine +ΔV eklenir, negatif pekiştirme durumunda  –ΔV  “kapalı” tepkilerin kaynak kümelerdeki aktif birimlerinin değerlerine –ΔV eklenir. “açık” yanıtların olduğu ve +ΔV A-birimlerinin olduğu kümeye negatif pekiştirme olursa “kapalı” yanıtlar ve –ΔV eklenir. Bu ifadenin tersi de pozitif pekiştirme için doğrudur. Sistem iki “farklı” sınıftan rastgele bir uyaran dizisine maruz kalırsa ve tüm yanıtları “doğru” veya “yanlış” olmalarına bakılmaksızın otomatik olarak pekiştirilirse, sistem kararlı bir son koşula yönelecektir. burada yanıt (her ikili yanıt için), bir uyaran sınıfının üyeleri için “1” ve diğer sınıfın üyeleri için “0” olacaktır. Yani, perceptron kendiliğinden iki sınıf arasındaki farkı tanıyacaktır.

Pseudocode ve Python Uygulaması

Yukarıda paylaştığım pseudocode’a ek olarak github’um da perceptron uygulamasını paylaştığım link’e ulaşabilirsiniz.

Perceptron’un Kısıtları

  • Basit bir perceptron düşünülürse, ilk olarak perceptronun çıktı değerleri  sadece iki değer alır (0-1). Yani çoklu sınıflama (0-1-2 gibi) için uygun değildir. Ancak bu sorun çok sınıflı (multiclass) perceptron ile çözülebilir.
  • Perceptron sadece lineer ayrılabilir vektör kümelerini sınıflandırabilir [Eğer düz çizgi ya da bir düzlem (plane) girdi vektörlerini doğru kategorilere ayırmayı başarabilirse ona lineer ayrılabilir denir]. Lineer ayrılabilir vektörlerde adaptif olarak eğitilmiş perceptronlar her zaman sonlu bir zamanda bir çözüm bulacaktır (yani perceptron tranining’i her zaman yakınsanacaktır [converge]). Lineer ayrılabilir değilse, öğrenme hiçbir zaman vektörlerin düzgünce sınıflandırılmasıyla sonuçlanmayacaktır.
  • perceptron pozitif ve negatif sınıfları ayırmak için hiper-düzlem (hyperplane) kullanır.  Basit bir snıflandırma problemi örneğinde XOR (exclussive OR) lineer olarak ayrılamaz. Yani, perceptron’un  XOR gibi basit mantıksal fonksiyonu öğrenme yeteneğine sahip değildir. XOR’un çıktısı, bir girdi 1e diğer girdi 0 a eşit olduğu zaman 1’dir. diğer türlü 0’dır.  XOR’un girdileri ve çıktıları grafiğe çizilirse, 2 boyutlu grafik aşağıda verilmiştir. 0’lar sınıfı mavi kare 1’ler sınıfı kırmızı daire ile işaretlenmiştir.
X1X2SONUÇ
101
110
000
011
Tablo: XOR Fonksiyonu Doğruluk Değerleri
Şekil: XOR mantıksal fonksiyonu

Sonuç

Yukarıda anlatıldığı gibi Rosenblat’ın biyolojik bir sistemin (yani bir nöronun) işleyişine yakın bir model tasarlama girişiminde olduğunu söylemek yanlış sayılmaz. Ayrıca, perceptronun organizasyonu ve çalışmasında “ya hep ya hiç kuralı” gibi nöronlardaki ateşleme mantığı, bağlantısalcılık akımından etkilenmesi ve perceptronun hafızasının dağıtık olduğunu varsayması öğrenme psikoloisindeki pekiştirme kuramlarına değinmesi, [gerçi negatif pekiştirmeyi tam tanımıyla kullanmamış. Negatif pekiştirme basitçe olursak itici bir uyarıcının ortamdan kaldırılması durumunun davranışı gerçekleştirme sıklığının artışına sebep olması olarak tanımlanabilir.], Hebbci öğrenmeye [Birlikte ateşlenen nöronlar, birbirlerine bağlanırlar] değinmesi yine bir organizmanın işlevini (öğrenme-tanıma) canlı olmayan bir yapıda gerçekleştirme çabasını yansıtır. Kısaca, perceptronda bilgi işlemde biyolojik yapıdan ilham alınmıştır. Her ne kadar XOR gibi basit mantıksal fonksiyonu öğrenme yeteneğine sahip olmasa ve lineer olmayan vektör yapılarını sınıflandıramasa da perceptronlar nöral ağların ilk örneklerinden birisidir.

Kaynaklar ve İleri Okumalar

Yorum gönder