Neymiş Lan Bu Yapay Öğrenme?

Son birkaç yıldır yaygın kullanıma geçen, her alanda karşımıza çıkan bissürü kelime türedi. Neymiş efendim, artificial intelligence, machine learning, deep learning, data science, big data, gözlük, kupa…

Gözlükle kupa olmadı buraya galiba ya. Olmadığını nasıl anladık? Bi’ kere İngiliççe değil. Bi’ de onlar epeydir yaygın kullanımda. Bakın mesela, hemen nasıl anladınız? Şablona uymadı.

İşte makinelere, bilgisayarlara, efendime söyleyeyim, mikroişlemcili devre kartlarına veya kısaca, işlemcisi olan herhangi bir alete, bu tip basit işlerde algılama, ayırt etme, karar verme işlevlerini kazandırma konusuna aslında on yıllardır kafa yorulmakta. Hatta, aslına bakarsanız H. G. Wells gibi bazı bilim kurgu yazarları 19. YY’dan beri makinelere, sahip olduğundan daha büyük bir zekâ atfetmeye çalışıyorlar [1].

Yapay zekâ konulu metinlere koyulması zorunlu görsel.

İşbu bilim kurgu yazarları ile psikoloji ve nöroloji alanında yapılan bazı çalışmalar, düpedüz yangına körükle gidiyorlar ve bilim insanlarına ilham veriyorlar: 1929’da Hans Berger’in elektroensefalograf’ı (EEG) icat etmesiyle beraber nöronlar arasındaki aktivitenin büyük ölçüde elektriksel olduğu gözlemleniyor [2]. Buradan yola çıkarak mistisizme karşı koyan, bilimsel bir hipotez ortaya çıkıyor: Basit hücrelerden oluşan bir topluluk, düşünceleri, aksiyonları ve bilinci oluşturuyor [3]. Bunu John Searle isimli bir abimiz 1992’de şu şekilde kısaltıyor: “Beyin, zihne yol açar. Bir de bütün bunların üzerine Turing Baba’nın (Alan Turing) bütün hesaplamaların dijital olarak ifade edilebileceğine dair teorisi eklenince yapay zekânın büyük patlaması gerçekleşiyor.

1943 yılında Warren McCulloch ve Walter Pitts isimli iki amca yapay nöronlardan oluşan bir model ortaya atıyorlar. Bu yapay nöronların “açık” (veya “çalışır” veya dijital “1”) durumda olması, kendilerine komşu olan başka nöronları da tetikleyerek bazı hesapların gerçekleşmesini sağlıyor. McCulloch ve Pitts, bu nöronlar vasıtasıyla bütün basit mantık işlemlerini (ve, veya, değil…) gerçekleştirebileceklerini gösteriyorlar [4].

SNARC’ın tek bir nöronu [5]

1950 yılında ise Marvin Minsky adında, henüz yirmi dört yaşındaki bir lisans öğrencisi, 3000 adet vakum tüp ve bir adet B-24 bombardıman uçağının otomatik pilot sistemini kullanarak SNARC adını verdiği, kırk nöronluk ilk yapay sinir ağını üretiyor [5]. Aynı yıl, Turing Baba yayımladığı makalede [6] düşünebilen makinelerin düşünme kabiliyetini sınava tabi tutan Turing Testi’ni ortaya koyuyor: Eğer bir makine, bir insanınkinden ayırt edilemez bir sohbet sürdürebilirse, o makinenin düşünebildiğini söyleyebiliriz.

1956 yılının sıcak (ve nemli, çünkü biliyorsunuz sıcak değil de nem kötü nem!) yazında, John McCarthy isminde bir bilim insanı, Minsky’nin de içinde bulunduğu on kişilik bir ekiple beraber iki aylık Dartmouth çalıştayını gerçekleştiriyor. Aha tam da bu çalıştayda, “yapay zekâ” ismi John McCarthy tarafından ilk kez ortaya atılıyor ve alanın ismi koyulmuş oluyor [7] (Bu noktada Minsky’nin McCarthy’ye gidip “Şimdi biz neyiz?” diye sorduğu ve McCarthy’nin de “Ya üf tamam, illa isim koyacaksın,” diye karşılık verdiği dile getiriliyor ama biz de kendi hayal gücümüzün yalancısıyız).

Şimdi ben bu kadar şeyi neden anlattım? Niçin anlattım? Nasıl anlattım? Bunu izaha gerek yok. Gördünüz, yazdım, anlattım. Ama anlatmamış da olabilirim. Anlatmışsam anlatmışımdır, anlatmamışsam anlatmamışımdır. Görünen köy… uzakta değildir. Burada anlattık da sonradan anlatmadık mı dedik? Bunlar birtakım uydurma laflardır. Sahi ya ben bunları neden anlattım? Kim anlattırdı lan bunları bana?! (Miles Sunal, 1979)

Neyse, demem o ki, son zamanlarda gördüğümüz “yapay zekâ, yapay sinir ağı, yapay öğrenme” gibi tabirler aslında geçtiğimiz beş on yılda çıkmadı. Ama baktık şimdilerde herkes yapay öğrenme, büyük veri, veri bilimi filan konuşuyor; biz de durduk dedik ki, “Ya biraz da biz anlatalım.”

Aslında veri biliminin temelinde, büyük veri (İng. big data) adı verilen, kapsamlı, alışılagelmiş yazılım araçları tarafından incelenemeyen boyuttaki verinin incelenebilmesi için yapay öğrenme kullanılması yatıyor. Peki şimdi yapay zekâdan bu kadar konuştuk da, yapay öğrenme ne?

Yapay öğrenme (İng. machine learning) dediğimiz şey, aslında yapay zekânın bir alt dalı. Yapay zekâyı insan gibi düşünme, insan gibi davranma, mantıklı düşünme, mantıklı davranma gibi alt kısımlara ayırabiliriz [3]. Yapay öğrenme, yapay zekânın insan gibi davranma alt kısmında yer alan, belirli örüntüleri (şablon ya da düzen de diyebiliriz) inceleyerek yeni durumlara ayak uydurmayı sağlayan bir yöntemdir diyebiliriz. Ya da isme ve popüler terimlere uyduracak olursak, bir makineye bir veri setini göstererek, bu veri içindeki örüntüyü öğrenmesini ve bunun sonunda yeni bir veri parçası gördüğünde bu yeni parçanın verinin neresine oturduğunu öğrenmesidir.

Bu metnin yazarı olarak, yapay öğrenme denince akla beyindeki nöronların yapay olarak taklit edilmesinin geldiğini çok iyi anlıyorum (kendisi de yıllarca yapay öğrenmeyi bundan ibaret sanmıştı). Gerçekten de beyinden ve nörolojiden ilham alan yapay öğrenmenin temeli diyebileceğimiz “perceptron” (Tr. algılayıcı), bir nöronun çalışma mantığından esinlenerek geliştirilmiş.

İlk Perceptron [9]

Teknik olarak gerçek bir nöronun çalışma mantığı şu şekilde işlemekte: Başka nöronlardan gelen uyarı sinyalleri, impuls (iki nöron arasında gerçekleşen iletim olayı) vasıtasıyla nörona ulaşır, nöronda toplanan tüm uyarı sinyalleri eğer belli bir eşik değerinin üstündeyse, uyarı sinyali bir sonraki nörona aktarılır veya beyin tarafından algılanır. Bunu matematiksel olarak ifade etmeyi başaran Rosenblatt, perceptron vasıtasıyla bu mantığı uyguluyor ve impulsları çarpanlarla ifade ediyor. Nöronun “eğitilmesi” veya “öğrenmesi” dediğimiz kısım, işte bu çarpanların değerlerinin değiştirilmesiyle gerçekleşiyor. Bu değiştirme, insanlar tarafından elle değil de bir algoritma tarafından gerçekleştirildiği için, öğrenme süreci tamamen otomatik gerçekleşiyor.

Perceptron, şimdilerde bir algoritmanın ismi olsa da, ilk olarak Frank Rosenblatt tarafından 1957 yılında geliştirilen bir makine imiş. Görsel tanıma amaçlı olarak kullanılan bu makine, 400 fotoselin, yapay nöronlara rastgele bağlanması ile oluşturulmuş. Bu 400 fotosel vasıtasıyla algıladığı ışık sinyalleri üzerinden yapılan hesaplamalar sonucunda 1 ya da 0 çıktısı sağlayabilen perceptron, görseller üzerinden ikili sınıflandırma yapmak için kullanılmış. Yani, farklı görseller vasıtasıyla “eğitilen” (yani çarpan değerleri değiştirilen) perceptron, günün sonunda gösterilen görselin iki gruptan hangisine ait olduğunu belirtebilir hâle gelmiş [8].

Ne var ki yapay öğrenme teknikleri, yalnızca yapay nöronlar vasıtasıyla işlememekte. Temelde, yapay öğrenme, olasılık, istatistik ve optimizasyon tekniklerinin birlikte kullanılmasına dayanıyor. Günümüzde yapay öğrenme de pek çok alt dala ayrılıyor ve çok farklı kullanım alanları var.

Bir sonraki yazımızda başka yapay öğrenme yaklaşımlarına ve uygulamalarına değineceğiz.

[1] Doktor Moreau’nun Adası, 1896

[2] “The origins of EEG”, David Millet, 2002http://www.bri.ucla.edu/nha/ishn/ab24-2002.htm

[3] “Artificial Intelligence: A Modern Approach 3rd Ed.”, Norvig & Russel, 2003

[4] “A logical calculus of the ideas immanent in nervous activity.“, McCulloch & Pitts, 1943, Bulletin of Mathematical Biophysics

[5] “1951 – SNARC Maze Solver – Minsky / Edmonds (American)“, Cybernetic Zoo, 2009, http://cyberneticzoo.com/mazesolvers/1951-maze-solver-minsky-edmonds-american/

[6] “Computing Machinery and Intelligence“, Alan Turing, 1950

[7] “A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence”, John McCarthy, 1955, http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html

[8] “The Perceptron–a perceiving and recognizing automaton. Report 85-460-1″, Frank Rosenblatt, 1957

[9] “Pattern Recognition and Machine Learning”, Christopher Bishop, 2006

The following two tabs change content below.

Neymiş Lan Bu Yapay Öğrenme?” için bir yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.