Makine Öğrenimi ve Derin Öğrenmenin Tarihi
Bugünler de makine öğrenimi (ya da ML) ve yapay zekâ (ya da AI) hakkında kaynağınıza bağlı olarak iyi ya da kötü, çok şey duymuşsunuzdur.
Çoğumuz konu yapay zekaya gelince anında 2001:Bir Uzay Macerası’ndaki HAL’ı, Terminatör robotları, C-3PO'yu, Star Trek’teki Data’yı ya da (ülkemizde Aşk adıyla gösterime giren) Her’deki Samantha'yı canlandırıyoruz zihnimizde. Ve birçokları da ayrı bir konu olarak makine öğrenimine aşina bile değil.
Bu tabirler sık sık birbirlerinin yerine kullanılabilecek şekilde ortaya atılıyorlar ama aslında aynı şey değiller. En genel anlamıyla, makine öğrenimi AI’dan evrildi diyebiliriz.
Google Trend grafiklerinde, AI’ın Eylül 2015 civarında makine öğrenimi tarafından geçilene kadar daha popüler bir arama olduğunu görebilirsiniz. Makine öğrenimi yapay zekanın -tek olmasa bile- ana uygulamalarından biri oldu. Makine öğrenimini bir alt dal ya da AI’ı elde etmenin yolu olarak tanımlayanlar da mevcut.
Eğer hala gelecekten gönderilmiş katil robotlar hayal ediyorsanız ayıp ediyorsunuz. AI da makine öğrenimi de “sadece” insanlığın kaderiyle ilgili olmaktan çok daha büyük şeyler.
Eğer makine öğrenimi yapay zekanın bir alt dalıysa, derin öğrenme de makine öğreniminin bir alt dalı olarak görüşebilir. Konunun evrimi yapay zekâ > makine öğrenimi > derin öğrenme şeklinde ilerledi.
“Derin öğrenme” tabiri ilk kez 2000’lerde ya da civarında, Igor Aizenberg ve meslektaşları tarafından Yapay Sinir Ağları (ANNs) hakkında konuşurken kullanıldı.
O zamandan beri, terim gerçekten de tüm yapay zekâ sohbetlerini ele geçirmeye başladı, hem de çalışmanın yer aldığı doğal dil işleme (ya da NLP) gibi başka dallar da olmasına rağmen.
Özetlemek gerekirse, derin öğrenme, makine öğrenimini sağlamak için bir yol. Yapay Sinir Ağları daha güçlü ve karmaşık hale geldikçe- ve birçok katman ve nöronla kelimenin tam manasıyla derinleştikçe -derin öğrenmenin sağlam makine öğrenimini kolaylaştırma ve yapay zekâ üretme kabiliyeti de arttı. 2017’de bu katmanların derinliği 1000 olabiliyordu.
Derin Öğrenme “gözetimli öğrenme” denen –sinir ağının etiketlenmiş verileri kullanarak alıştırma yaptığı- ya da “gözetimsiz öğrenme” denen -ağın etiketlenmemiş verileri kullandığı ve tekrar eden desenlere baktığı- yöntemleri kullanıyor. Her seviyedeki nöronlar “tahmin” yapıyor ve en olası görülerini belirliyor, ardından da bu bilgiyi bir sonraki seviyeye geçiriyorlar, nihai sonuca kadar. Kafanız karıştı mı? Yalnız değilsiniz. Kafayı bulandıran bir konu. Yapay zekâ dünyasında şu zamana kadarki en heyecan verici gelişme bu. Ama alanın çetrefilini kavramaya çalışmak yerine –ki bu başlı başına konu üzerine sürekli ve kapsamlı bir makale dizisi olurdu- makine öğreniminin tarihindeki büyük gelişmelerden bazılarına şöyle bir bakalım (ve konunun uzantısı olarak, derin öğrenme ve AI’a). Görece kısa zaman içinde uzun bir yol kat etti.
Walter Pitts ve Warren McCulloch
Makine öğrenimi ve derin öğrenmenin çalışabilmesi için, tabii ki, insan beynindeki sinir ağlarına dair bir anlayış geliştirmiş olmamız gerekiyordu.
Bir mantıkçı olan Walter Pitts ve nörobilimci Warren McCulloch, 1943’te sinir ağının ilk matematiksel modelini yarattıklarında bize yapbozun o parçasını vermiş oldular. Çığır açıcı çalışmaları “Sinirsel Aktivitelere İçkin Fikirlerin Mantıksal Bir Hesaplaması (A Logical Calculus of Ideas Immanent in Nervous Activity)”, insanın düşünsel sürecini taklit etmeyi amaçlayan matematik algoritmaları sunar.
Modelleri –genelde McCulloch-Pitts nöronları diye bilinir- yıllar içinde evrilmiş olsa da bugün hala standart kabul edilir.
Alan Turing
İngiliz matematikçi Turing, belki de en çok II. Dünya Savaşı’ndaki şifre kırıcılığıyla tanınıyor.
Ama matematiğe ve bilime yaptığı katkılar bununla sınırlı değil. 1947’de makine öğrenimi gelişimini öngörmekle kalmayıp meslekler üzerindeki etkisini tarif etmeye kadar gitti.
1950’de kaleme aldığı makalesi “Makinelerin İşleyişi ve Zekâ”da da tam böyle bir makine tarif ediyor bize, hatta genetik algoritmalara dair ipuçları veriyor. Burada Turing Testi olarak bilinen –oysa kendisinin Taklit Oyunu diye adlandırdığı-, bir bilgisayarı “düşünüp düşünemeyeceğini” anlamaya yarayan testi ortaya atıyor.
En basit haliyle bu test bir makinenin bir insanla metin yoluyla bir sohbet sürdürmesini gerektiriyor. Eğer beş dakika sonra insan başka bir insanla konuştuğuna ikna olursa, makine testi geçmiş oluyor. Sonuçların geçerliliği hala birçokları tarafından tartışılsa da testin geçilmesi 60 yıl aldı.
Arthur Samuel
Arthur Samuel 1952'de makine öğrenimi icat etti ve "makine öğrenimi" tabirini adlandırdı. Makine öğreniminin babası olarak anılıyor. IBM’deki Poughkeepsie Laboratuvarına katılmasının üzerine Arthur Samuel ilk bilgisayar öğrenimi programlarını yarattı. Programlar dama oynamaları için tasarlanmıştı. Arthur Samuel’in programı, her dama oynayışında daha iyiye gitmesi, hatalarını düzeltmesi ve o verilerle kazanmanın daha iyi yollarını bulmasıyla diğerlerinden ayrılıyordu. Bu otomatik öğrenme, makine öğreniminin ilk örneklerinden biri olacaktı.
Frank Rosenblatt
Bir psikolog olan Rosenblatt, Cornell Havacılık Laboratuvarı için 1957’de “Perceptron: Algılayan ve Tanıyan bir Otomaton (The Perceptron: A Perceiving and Recognizing Automaton)” başlıklı yazısını yayınladı. Burada “optik bir beynin algısal süreçlerine yakın bir şekilde, optik, elektriksel veya sese dair bilgi kalıpları arasındaki benzerlikleri veya kimlikleri tanımayı öğrenecek elektronik veya elektromekanik bir sistem inşa edeceğini” belirtiyordu. Vay canına. Fikri yazılım ya da algoritmadan ziyade donanımdı ama bu şekilde sıfırdan öğrenmenin tohumlarını ekmiş oldu ve geniş çevrelerce derin sinir ağlarının (DNN) kurucusu olarak tanındı.
David H. Hubel ve Torsten Wiesel
1959’da nörofizyolojist ve Nobel ödüllü David H. Hubel ve Torsten Wiesel birincil görme korteksinde iki tip hücre olduğunu keşfetti: yalın hücreler ve karmaşık hücreler. Birçok yapay sinir ağları (ANNs) o veya bu şekilde bu biyolojik gözlemlerden ilham almıştır. Derin öğrenmeye özgü bir dönüm noktası olmasa da alan üzerinde çok büyük etkisi olduğu kesindi.
Henry J. Kelley Kelley, Virginia Teknik Enstitüsü’nde hava-uzay ve okyanus mühendisliği profesörüydü. 1960’ta alanında herkesçe tanınan, büyük “Optimal Uçuş Rotaları için İrtifa Kuramı” makalesini yayınladı. Kontrol Kuramı konusundaki birçok fikri -girdili sistemlerin davranışları ve o davranışların geri bildirim ile nasıl değiştirilebileceği- yıllar içinde doğrudan AI ve ANNs alanlarında uygulanır oldu. Bunlar sinir ağlarını eğitmede kullanılan sürekli geri yayılım modellerinin (ya da diğer adıyla hataların geriye doğru yayılımının) temellerini geliştirmede kullanıldılar.
Alexey Ivakhnenko ve V.G. Lapa
Matematikçi Ivakhnenko ve Lapa’nın da dahil olduğu ortakları, 1965’te o zamana dek sadece teoride ve fikirde kalmış olan ilk çalışan derin öğrenme ağlarını yarattılar. Ivakhnenko, “modellerin tam otomatik yapısal ve parametrik optimizasyonunu içeren çok-parametrik veri kümelerinin bilgisayar tabanlı matematiksel modelleri için tümevarım algoritmaları ailesi” olarak tanımlanan Veri İşlemede Grup Metodu’nu (GMDH) geliştirdi ve bunu sinir ağlarına uyguladı. Sırf bu sebepten bile, birçokları Ivakhnenko’yu modern derin öğrenmenin babası olarak görür. Öğrenme algoritmaları, en iyi nitelikleri bulup onları sistem içinde öne çıkartmak için her katmanda istatistiksel yöntemler kullanan derin ileri beslemeli çok katmanlı algılayıcılar kullanır. Ivakhnenko 1971’de GMDH’yi kullanarak 8 katmanlı bir derin ağ yaratabilmiş ve Alpha denen bilgisayar tanımlama sistemindeki öğrenme sürecini başarılı bir şekilde gösterebilmişti.
Kunihiko Fukushima
Sinir ağları konusunda tanınan bir mucit olan Fukushima belki de en çok görsel kalıpları nasıl tanıyacağını öğrenen yapay sinir ağı Neocognitron’u yaratışıyla biliniyor. Bu, el yazısı karakterleri ve diğer örüntü tanıma görevlerinde, öneri sistemlerinde ve hatta doğal dil işlemede kullanıldı. Yaptığı iş -ki büyük oranda Hubel ve Wiesel’den etkilenmişti- hayvanlarda bulunan görsel korteks düzenlemesine dayanan evrişimli sinir ağlarının gelişimine yol açtı. Bunlar en az miktarda önişlem kullanmak üzere tasarlanmış çok katmanlı algılayıcı varyasyonlarıydı.
John Hopfield
1982’de Hopfield, artık onun adını taşıyan bir sistemi yarattı ve yaydı. Hopfield Ağları, ilişkilendirilebilir bellek sistemleri olarak çalışan tekrarlayan sinir ağlarıdır ve 21. yüzyılda hala derin öğrenme için popüler bir uygulama gerecidir.
Terry Sejnowski
Hesaplamalı nörobilimci Terry Sejnowski öğrenme sürecine dair bildiklerini 1985’te NETtalk’ı yaratmak için kullandı. Program İngilizce kelimeleri hemen hemen bir çocuğun yapacağı şekilde öğrendi ve metni konuşmaya çevirme süreci boyunca kendini geliştirmeye devam etti.
David Rumelhart, Geoffrey Hinton ve Ronald J. Williams
1986 tarihli “Geri-yayılımlı Hatalarla Öğrenme Temsilleri (Learning Representations by Back-propagating Errors)” makalesinde Rumelhart, Hinton ve Williams geri yayılım sürecini ince detaylarına kadar tarif ettiler. Bunun şekil tanıma, kelime tahmin etme ve bunun gibi birçok görevde, var olan sinir ağlarını ne kadar çok geliştirebileceğini gösterdiler. İlk başarının ardından gelen birkaç talihsizliğe rağmen, Hinton yeni başarılara ve övgülere ulaşmak için İkinci AI Kışı boyunca araştırmalarına devam etti. Alandaki birçok insan tarafından derin öğrenmenin manevi babası kabul edilir.
Yann LeCun
LeCun -AI ve DL evrenindeki bir başka rock yıldızı- elle yazılmış rakamları okuyabilmek için 1989’da evrişimli sinir ağlarını (ki geliştirilmelerinde kendisi de aracıydı) yakın zamandaki geri yayılım kuramlarıyla birleştirdi. Yarattığı sistem sonunda elle yazılmış çekleri ve NCR ya da diğer şirketler tarafından yazılmış posta kodlarını okumak için kullanıldı, 90’ların sonları ve 2000’lerin başında Amerika Birleşik Devletleri’nde kesilmiş çeklerin %10-20 kadarı bu işlemden geçiyordu.
Christopher Watkins
Watkins doktora tezini –“Geciken Ödüllerden Öğrenmek (Learning from Delayed Rewards)”- 1989 yılında yayınladı. Tezinde, makinelerdeki takviyeli öğrenmenin hem pratikliğini hem de fizibilitesini artıran Q-Öğrenme kavramını tanıttı. Bu yeni algoritma, Markov Karar Süreci’nin geçiş olasılıklarını veya beklenen ödüllerini modellemeden, optimal kontrolü doğrudan öğrenmenin mümkün olduğunu ileri sürüyordu.
Jürgen Schmidhuber
Alman bilgisayar bilimci Schmidhuber 1993’te, tekrarlayan sinir ağında 1000’den fazla katman gerektiren bir “çok derin öğrenme” görevini tamamladı. Bu sinir ağlarının karmaşıklığı ve yetenekleri konusunda kocaman bir adımdı.
Corinna Cortes ve Vladimir Vapnik
Destek Vektör Makineleri (Support Vector Machines) -ya da SVMs- 1960’lardan beri vardı ve onyıllar içinde ince ayarlar yapılıp düzeltildi. Günümüzdeki standart model Cortes ve Vapnik tarafından 1993 yılında tasarlandı ve 1995’te de sunuldu. Bir SVM temel olarak benzer verileri tanıyıp haritalamak için kullanılan bir sistemdir ve makine öğrenimi ve derin öğrenmeyle bağlantılı olduğu sürece metin sınıflandırması, el yazısı tanıma ve görsel sınıflandırma gibi alanlarda kullanılabilir.
Jürgen Schmidhuber ve Sepp Hochreiter
Bir tekrarlayan sinir ağı yapısı olan uzun kısa-süreli hafıza (LSTM) Schmidhuber ve Hochreiter tarafından 1997 yılında ortaya atıldı. Gereken bilginin RNN’de uzağa, çok “arkalara” bir yere konumlanıp “kaybolduğu” uzun-süreli bağımlılık problemini çözerek tekrarlayan sinir ağlarının verimliliğini ve pratikliğini artırdılar. Zamanla geliştirilerek LSTM ağları DL halkalarında sık kullanılır oldu ve Google yakın zamanda bunu Android destekli akıllı telefonları için konuşma-tanıma yazılımına entegre etti.
Yann LeCun
LeCun, 1998’de “Gradyan Tabanlı Öğrenimin Belge Tanımaya Uygulanması (Gradient-based Learning Applied to Document Recognition)” başlıklı yazısını yayınladığında derin öğrenme alanındaki bir başka gelişmenin daha önemli ismi olmuştu. Stokastik gradyan iniş algoritmasının (gradyan tabanlı öğrenim olarak da bilinir) geri yayılım algoritmasıyla birleştirilmesi derin öğrenmeye dair tercih edilen ve giderek daha başarılı olan bir yaklaşımdır.
Fei-Fei Li
Stanford Üniversitesindeki Yapay Zeka Laboratuvarının başı ve profesörü olan Fei-Fei Li, 2009’da ImageNet’i başlattı. 2019 itibariyle, 14 milyondan fazla (son sayıma göre 14,197,122) etiketli görselin araştırmacılar, eğitimciler ve öğrencilerin erişimine açık olduğu çok büyük ve ücretsiz bir veri tabanı. Etiketli veri -bu görseller gibi- gözetimli öğrenmede sinir ağlarına “alıştırma yaptırmak” için gerekli. Görseller, İngilizce kelimelerin -isimlerin, yüklemlerin, zarfların ve sıfatların- eş küme denen eş anlamlı gruplara göre sıralandığı sözcüksel bir veri tabanı olan Wordnet’e göre etiketleniyor ve düzenleniyor.
Alex Krizhevsky
2011 ve 2012 yılları arasında Alex Krixhevsky, kendi yaratımı olan evrişimli sinir ağı AlexNet ile birçok makine öğrenimi ve derin öğrenme yarışması kazandı. AlexNet yıllar önce Yann LeCun tarafından yapılan LeNet5’ın üzerine kurulmuş ve geliştirilmişti. Başta yalnızca sekiz katmanı vardı -üç tane tamamen bağlı katman tarafından takip edilen beş evrişimli katman- ve düzeltilmiş doğrusal birimler kullanarak hızı ve düşmeyi güçlendirdi. Getirdiği başarı, derin öğrenme topluluğu içinde bir evrişimli sinir ağı rönesansını tetikledi.
Kulağa şirin ve önemsiz gelebilir ama “Kedi Deneyi” denen şey çok büyük bir adımdı. Binlerce bilgisayara yayılmış sinir ağını kullanarak, takım sisteme -YouTube’dan rastgele alınmış- 10,000,000 etiketlenmemiş görsel sundu ve veriler üzerinde analiz yapmasına izin verdi. Bu gözetimsiz öğrenme seansı tamamlandığında program kendine kedileri belirlemeyi ve tanımayı öğretmişti, hem de o zamana kadar yapılmış tüm gözetimsiz öğrenmelerden %70 oranında daha iyi bir performans göstererek. Mükemmel değildi ama. Ağ sunulan objelerden yalnızca %15’ini tanıdı. Yine de, bu hakiki AI’a doğru atılmış bir başka ufak adımdı.
Devasa platformlar sıklıkla sınırların dışındaki ilk düşünmelerdir ve bunlardan hiçbiri de Facebook’tan büyük değildir. Bu sosyal medya yaratığının 2014 yılında geliştirip dünyaya sunduğu derin öğrenme sistemi -takma adıyla DeepFace- yüzleri %97.35 isabetle tanımak için sinir ağlarını kullanıyor. Bu önceki çabaların %27 daha fazlasına tekabül ediyor ve %97.5 olduğu söylenen insan becerisine de rakip bir figür olmuş oluyor.
Ian Goodfellow’un liderlik ettiği bir araştırma ekibi tarafından 2014 yılında tanıtıldığında Yann LeCun’dan aşağı kalır yanı olmayan bir otorite GANlar hakkında şunu söyledi: Bu epey büyük bir mesele. Üretken çekişmeli ağlar, modellerin gözetimsiz eğitimle mücadele edebilmesini sağlıyor ki bu da aşağı yukarı yapay zeka topluluğunun nihai hedefi diyebiliriz. Özünde, bir GAN iki rakip ağ kullanır: ilki veriyi alır ve ayırt edilemez örnekler yaratmaya çalışırken ikincisi ise veriyi de yaratılan örnekleri de alır ve her bir verinin hakiki mi yoksa üretilmiş mi olduğuna karar verir. Simultane olarak öğrenerek, ağlar birbirlerine karşı yarışır ve birbirlerini daha hızlı “akıllanmaya” iterler.
Cray Inc. ve onun gibi daha başka birçok şirket artık güçlü makine öğrenimi ve derin öğrenme ürünleri ve çözümleri sunabiliyorlar. Microsoft’un sinir ağı yazılımını kendi XC50 süperbilgisayarında 1000 tane Nvidia Tesla P100 grafik işleme birimiyle kullanarak verilere öncekine kıyasla çok küçük bir zamanda derin öğrenme uygulayabiliyorlar.
Dünyayı kurtaracak olmayabilir ama yıllar içinde oyunlara ve insanlara karşı yarışmalara dair elde edilen başarılardan bahsedilmeyen bir makine öğrenimi ve derin öğrenme tarihçesi kesinlikle eksik kalır:
- 1992: Gerald Tesauro, tavla oynamayı öğrenmek için yapay sinir ağı kullanan bir bilgisayar programı olan TD-Gammon’ı geliştirdi.
- 1997: IBM tarafından tasarlanan Deep Blue satranç büyük ustası Garry Kasparov’u altı maçlık seride yendi.
- 2011: IBM tarafından geliştirilen bir soru cevaplama sistemi olan Watson, Jeopardy! Adlı yarışma programında Ken Jennings ve Brad Rutter’a karşı yarıştı. Makine öğrenimi, doğal dil işleme ve bilgi çekme tekniklerinin bir kombinasyonunu kullanarak Watson üç maç boyunca yarışmayı kazandı.
- 2016: Google’ın AlphaGo programı en iyi uluslararası Go oyuncularından biri olan Koreli Lee Sedol’u yendi. DeepMind tarafından geliştirilen AlphaGo makine öğrenimi ve ağaç araması tekniklerini kullanıyor. Mayıs 2017’de ise dünya birincisi Çinli oyuncu Ke Jie’yi üç maçtan ikisini kazanarak yendi.
Geçtiğimiz 60 yıl içinde AI, ML ve DL alanlarında pek çok gelişme ve ilerleme oldu. Her birini tek tek tartışmak bir blog yazısından ziyade koca bir kitap gerektirirdi. Kısa bir zaman cetveline sıkıştıracak olursak derin öğrenme şöyle görünürdü:
- 1960lar: Yüzeysel sinir ağları
- 1960-70ler: Geri yayılımın ortaya çıkışı
- 1974-80: İlk AI Kışı
- 1980ler: Evrişimin ortaya çıkışı
- 1987-93: İkinci AI Kışı
- 1990lar: Gözetimsiz derin öğrenme
- 1990lar-2000ler: Gözetimli derin öğrenme yeniden moda
- 2006’dan Günümüze: Modern derin öğrenme
Bugün, derin öğrenme farkında bile olmadığımız kadar hayatlarımızın içinde: Google’ın ses ve yüz tanıması, Netflix ve Amazon’un öneri mekanizmaları, Apple’ın Siri’si, otomatik e-posta ve mesaj cevapları, sohbet botları ve daha bir sürü şey. Her yanımızı saran veriyle, bu programların analiz edip gelişim göstereceği daha da çok bilgi var. Her tarafta. Derin öğrenme buradan nereye gidecek? Bizi nereye götürecek? Söylemesi zor. Alan evrilmeye devam ediyor ve bir sonraki büyük atılım azıcık ileride olabilir. Böylesine karmaşık bir şey için sabit bir zaman çizelgesi yok. Ama kesin olan bir şey var. Hayatta olmak çok heyecan verici zamanlar… ve gerçek zekayla makinelerin iç içe geçişine tanık olmak için. Makine öğreniminin tarihi bize gösteriyor ki, gelecek, birçok açıdan, zaten burada.