Bilgisayarlar Düşünebilir mi? Bölüm 1: Yapay Zekâ Nedir, Bilgisayarla Görme Neden Zor?

Neşeli Günler (1978) filminden bir sahne. Siz bu fotoğrafa bakınca neler görüyorsunuz?

Derin öğrenme olarak adlandırılan yeni nesil yapay öğrenme yaklaşımları sayesinde son zamanlarda tüm dünyada bir yapay zekâ furyası esiyor. Google’ın çeviri hizmeti Google Translate’in çeviri kalitesinin birkaç yıl öncesine kıyasla ciddi oranda arttığını farkettiyseniz, Facebook’a yüklediğiniz bir fotoğrafta arkadaşlarınızın nasıl bu kadar başarılı bir şekilde tanınabildiğine şaşırıyorsanız veya Apple Siri, Alexa, Google Assistant gibi hizmetlerin onlara yönelttiğiniz soruları nasıl anlayıp size yardımcı olabildiğini merak ediyorsanız aslında derin öğrenmeye dayalı yapay öğrenme sistemlerinin başarıları bakımından günlük yaşantımızda geldikleri nokta hakkında bir fikriniz var demektir. Yapay zekâ ve yapay öğrenmenin getirileri sadece günlük hayatlarımızla sınırlı değil. Bu teknolojilerin yakın gelecekte ekonomiye küresel çapta çok ciddi katkı yapacağı öngörülürken, geliştirilen yaklaşımlar şimdiden diğer bilim dallarına yön vermeye başladı bile.  Diyabete bağlı göz hastalıklarının veya deri kanserinin teşhisi, Güneş sistemi dışındaki gezegenlerin, Aydaki kraterlerin bulunması, yeni ilaç moleküllerinin keşfi, Büyük Hadron Çarpıştırıcısı’nın elde ettiği verilerin analizi gibi pek çok uzmanlık gerektiren iş artık otomatik olarak etkin bir şekilde yapılabiliyor. Ancak bu hızlı gelişim, beraberinde olumsuz yönde eleştiriler de getirmiyor değil: Elon Musk, Bill Gates, Stephen Hawking gibi popülerliği yüksek isimler yapay zekânın toplu işsizliğe yol açacağını ve insanlığın sonunu getireceğini söylerken, daha kısa süreli öngörüler bu gelişmelerin Google, Facebook, Amazon gibi veri kartellerinin gücüne güç kattığını ve ülkelerin nükleer silahlanma yarışına benzer bir yarışa girmiş olduğunu yazıyor.

İlk bölümünü okumakta olduğunuz bu yazı dizisinde amacımız, derin öğrenme sayesinde tekrar alevlenen “düşünen makineler”in insan zekâsına gerçekte ne kadar yaklaştığına dair görüşlerimizi paylaşmak ve yapay zekâ ile yapay öğrenmenin ne olduğundan başlayarak bir nebze olsun bu heyecan perdesini aralayıp arkasına bakmak. İnsanların bilişsel performansına ulaşan ve belki aşan sistemler geliştirmek yapay zekânın en nihai gayesi olmuştur. Bu yazı dizisinde büyük hedefe ulaşma yönündeki dönüm noktalarından birisi olarak görülen “derin öğrenme” yaklaşımını inceleyeceğiz. “Yapay zekâ, yapay öğrenme dendiğinde ne anlamalıyız? Bugünlere nasıl gelindi? Derin öğrenmeye dayalı yaklaşımlar nasıl çalışıyor, neden bu kadar başarılılar veya gerçekten başarılılar mı?” Cevabını aradığımız sorulardan birkaçı olacak. Bu noktada ufak bir not düşmekte fayda var, kendi araştırma alanımız yapay zekânın özel bir alt alanı olan bilgisayarla görme olduğu için, ele alacağımız konulara çoğunlukla bu pencereden yaklaşacağız.

Yazımızın ana başlığı, İngiliz matematikçi ve aynı zamanda hem modern bilgisayar bilimlerinin hem de yapay zekâ alanının kurucusu kabul edilen Alan Turing’in Mind dergisinde yayınlanan ünlü Turing Testi makalesinden yaklaşık bir yıl sonraya denk düşen 15 Mayıs 1951’de BBC radyosunda yayınlanan bir konuşmasından geliyor[1].

Yapay Zekâ Nedir?

Yapay zekâ (YZ) ifadesi ilk olarak John McCarthy, Marvin Minsky, Nathaniel Rochester ve Claude Shannon’ın 1956 yazında Dartmouth’ta gerçekleştirecekleri çalıştay için verdikleri öneride geçer.

Kabaca tanımlamaya çalışacak olursak bilgisayar bilimlerinin özel bir alanı olanı olarak YZ, insanların (veya hayvanların) sahip olduğu bazı karar verme yetilerini bilgisayarlara kazandırmak ile ilgilenir. YZ sistemlerinin kendi kendilerine öğrenebilme, akıl yürütme gibi yetenekler taşıması hedeflenir ki yeni durumlar ile karşı karşıya kaldıklarında insanlar veya hayvanlar gibi kendi kararlarını kendileri verebilsinler. Bu noktada bu geniş tanımı biraz daha derinlemesine inceleyip bir terminolojiye oturtmamız gerekiyor. Yukarıdaki tanım, özünde Turing’in deyimiyle taklit etmeyi barındıyor ancak taklit edilecek yeti kısıtlanırsa YZ’nin iki türünden bahsetmek mümkün:

Genel YZ: Değişiklik yapmadan veya yeniden eğitilmeden çok çeşitli görevleri gerçekleştirebilen YZ.

Dar YZ: Tek bir problemi çözmek için tasarlanan YZ.

Claude Shannon ve labirent çözebilen elektromekanik fare robotu Theseus (Popular Science, Mart 1952 sayısı).

Bu konuda çalışan araştırmacılar olarak nihai hedefimiz elbette genel YZ’ye ulaşmak. Ancak geçmişten günümüze elde edilen başarıları incelediğimizde bunların tümünün dar YZ kapsamında olduğunu kabul etmemiz gerekiyor. Soldaki resim, Popular Science dergisinin Mart 1952 sayısından alınma. “Bu Fare Sizden Zeki” başlığıyla sunulan yazı YZ’nin ilk örneklerinden biri olan Claude Shannon’ın labirent çözebilen elektromekanik fare robotu Theseus’u konu ediniyor; bu dar bir YZ . Günümüzden bir örnekle devam edelim; eminiz aranızda DeepMind’ın dünya go şampiyonu Lee Sedol’u yenen AlphaGo sistemini duyanlar vardır. Elbette go oyununda ustalaşmak bir labirenti çözmekten çok daha zorlu bir problem ancak tanım gereği bu karmaşık model bile dar bir zekâya sahip. DeepMind, şimdilerde bu sistemi genelleştirmeye çalışıyor, yeni sistemleri AlphaZero, kardeşine kıyasla Go dışında satranç ve Japon satrancı şogiyi de bir o kadar başarılı oynayabiliyor.

YZ’ye farklı bir açıdan yaklaşıp bir başka sınıflandırma ortaya koymak da mümkün. Buradaki belirleyici faktör ise YZ sistemlerinin performanslarının insanlarınkiyle kıyaslanması. Bu çerçeveden bakıldığında da yine YZ’nin iki türünden söz edebiliriz:

İnsanüstü Zekâ: Ortalama insan performansından çok daha iyi bir performansa sahip olan (en az 2 standart sapma daha fazla) YZ.

İnsan Düzeyinde Zekâ: Ortalama insanın görev performansından ayırt edilemez performansa sahip olan YZ.

İnsanüstü zekâya gösterebileceğimiz yakın tarihli örneklerden bir tanesi IBM’in Watson sistemi. Bu YZ sistemi, 2011 yılında katıldığı Jeopardy (Türkiye’de bilinen adıyla Riziko) bilgi yarışmasında bu yarışma programının tarihindeki en iyi yarışmacıların hepsini yenebilme başarısını gösterdi.

İşte bazılarını asıl korkutan, insanüstü zekaya sahip genel bir YZ’nin ortaya çıkışı – ki böyle bir süper YZ’nin çıkarları biz insanlarınkiler ile çelişebilir. YZ’nin varoluşsal bir risk taşıma olasılığı olduğu doğru, ama bunun öyle korkulduğu kadar çok yakında gerçekleşecek bir durum olmadığını söylemek gerekiyor. Küresel iklim değişikliği, yoksulluk gibi baş etmeye çalıştığımız sorunları acilen çözmemiz çok daha elzem.

İnsan düzeyinde YZ

Bu görüntüde bir kedi görüyorsunuz, değil mi?

İsterseniz şimdi bir örnek üzerinden yukarıdaki yapay zekâ tanımlarından sadece birine, insan düzeyinde zekâya odaklanalım ve aslında ona ulaşmanın bile o kadar kolay olmadığını görelim. Yandaki resimdeki gibi bir çitin üzerinde bize bakmakta olan tüylü, şirin bir yaratık görmüş olalım. Hiç zorlanmadan bunun bir kedi olduğu çıkarımını yapabiliriz, üstelik bu kediyi hayatımızda ilk kez görüyor olsak dahi. Bu bir görüntü değil de bir çizim, bir karikatür olsaydı bile çok bir şey değişmeyeceğini kabul edersiniz herhalde. Peki biz insanların daha önce hiç karşılaşmadığı, hiç görmediği kedileri bu kadar başarıyla tanımasına yol açan şey ne? Benzer bir yeteneği bilgisayarlara kazandırmak için neler yapılabilir ki onlar da gördüklerini bizler gibi anlamlandırabilsinler?

Geçmişte bunun yolu araştırmacıların bilgisayarlara hangi tarz ipuçlarına bakmaları gerektiğini bizzat onların anlayabileceği bir dilde teker teker söylemelerinden yani bilgisayarları programlamaktan geçiyordu. Beklendiği üzere, bu tarz elle kodlanmış sistemlerin genelleme başarısı, hedeflenen insan seviyesinin çok altında kalıyordu. Yakın tarihlerde özellikle yapay öğrenme yaklaşımlarının geliştirilmesi ile birlikte işler biraz değişti. Günümüzde tanıma problemi için izlenen en genel yaklaşım, büyük miktarlarda verinin toplanması ve bir öğrenme algoritmasının bu veriyle beslenmesi şeklinde gerçekleşiyor. Yukarıdaki kedi tanıma örneğine geri dönecek olursak bu yapay öğrenme yaklaşımları şunu yapıyor:  kedi olarak etiketlenmiş onbinlerce farklı fotoğraftan ilgili nesne sınıfını diğer sınıflardan ayırt edecek özellikleri ve istatistiksel açıdan veride mevcut olan örüntüleri ortaya çıkartmaya çalışıyor. Bu özellikleri ve örüntüleri kullanarak daha önce hiç karşılaşmadığı kedileri de tanıyabileceği düşünülüyor.

Yukarıda nesneleri görüntülerden tanıma problemi üzerinde durduk, isterseniz şimdi daha geniş çerçeveden görmenin kendisini ele alalım ve onun yapay öğrenme açısından neden çok daha zorlu bir problem olduğunu anlamaya çalışalım.

Yapay Zekâ Açısından Görme Neden Zorlu Bir Problem?

Francis Crick, ömrünün sonlarını insan bilincini anlamaya adamış bir bilim insanıdır. Bu konudaki görüşlerini Şaşırtan Varsayım (The Astonishing Hypothesis, 1994) adlı kitabında detaylıca anlatır. Bu kitabın görme ile ilgili bölümünün başında ise bilimden uzak kişilerle yemeklerde yaptıkları masa başı sohbetlerine değinir. DNA sarmalını bulmuş, Nobel ödülüne sahip, bilime ciddi katkılar veren bu değerli bilim insanının görme üzerine çalıştığını duyanlar çok şaşırırlar. Öyle ya sıradan bir kişi için görme dediğimiz şey emek harcamadan, kolayca gerçekleştirebileceğimiz bir eylemdir. Gözlerimizi açar açmaz retinamıza düşen fotonlardan gerçek dünyanın yansıması olan sahneleri, bu sahnedeki aktörleri, aktörlerin kendi aralarındaki ilişkilerini hiçbir çaba sarf etmeden anlarız. Peki, ortada ne zorluk olabilir ki Francis Crick gibi bir araştırmacı görme eylemi üzerinden bilinci anlamaya çalışsın? Bu soruya yanıt vermeden önce isterseniz insanları bu yanılgıya sevk eden nedenler üzerinde duralım. Açıkçası sıradan insanlar tarafından görmenin basit bir eylem gibi değerlendirilmesinin en önemli nedeni görme sistemimizin milyonlarca yıllık bir evrim sonucunda geldiği noktadır. İnsanda, beyin kabuğunun neredeyse yarısı görme üzerine özelleşmiştir. Bu oran, hareket kontrolü işlevleri için %20-30, insanları diğer canlılardan ayıran en önemli özellik kabul edilen dil yetisi için ise %10-20 civarındadır. Bu oranlar görme eylemini anlamamızın beynimizi anlama yolunda çok önemli olduğunu da ortaya koyar.

Görmenin neden zor bir problem olduğunu Neşeli Günler’den alınan yazının başındaki sahne üzerinde açıklamaya çalışalım. Bir bilgisayarın bu yukarıdaki görüntüyü anlamlandırmaya çalıştığını düşünün. Görüntüde bir grup insan var. Bu insanları tek tek isimlendirebilirsiniz, mesela hemen solda elleri belinde duran Adile Naşit. Sahnedeki kişilerin yüzlerine odaklandığımızda yüz ifadelerinden hepsinin bir şeye şaşırdıkları belli oluyor. Onları şaşırtan yerdeki halının üzerinde duran Şener Şen gibi gözüküyor, hemen yanı başında ise boş bir sandalye duruyor. Peki neden yerde bu pozisyonda duruyor acaba? Daha da ileri gidersek yerde dengede durabilmesi için dizleri ve elleriyle zeminden güç aldığını söyleyebilir miyiz? İşte bilgisayarla görme alanında çalışan araştırmacılar olarak bizler, tüm bu tarz çıkarımları otomatik olarak gerçekleştirebilen yapay sistemler geliştirmeye çalışıyoruz. Bilgisayarların görüntüleri çok basit şekilde, her biri ilgili renk değerlerine karşılık gelen bir dizi piksel şeklinde kodladığını düşünürsek aradaki anlamsal boşluğu doldurmak hiç de kolay değil aslında.

Bilgisayarla görme denildiğinde ismini anmadan geçemeyeceğimiz isimlerden biri de David Marr. Kendisi sadece bilgisayarla görmeye değil, hesaplamalı sinirbilim ve bilişsel bilimlere de çok önemli katkılarda bulunmuş bir bilim insanıdır. Görmeyi ancak bir bilgi işleme görevi olarak tanımlayarak anlayabileceğimizi söyleyen ilk kişidir.  Bu bağlamda David Marr görme problemine üç farklı seviyeden yaklaşılması gerektiğine vurgu yapar ve her seviyenin ayrı ayrı anlaşılması gerektiğini söyler. Öncelikle ele alınan problemin hesaba dayalı bir tanımı ortaya konulmalı, neyin neden yapılması gerektiği açıklanmalıdır. Bunu problemin çözümüne yönelik girdilerin nasıl çıktılara dönüştürüleceğini tartışan gösterim ve algoritma geliştirme seviyesi takip etmelidir. En son seviye ise geliştirilen algoritmaların gerçekleştirmesidir (implementation).

David Marr’ın bilgi işleyen sistemleri anlamak adına önerdiği üç düzey:

Hesaplama Teorisi Gösterim ve Algoritma Gerçekleştirme (implementation)
Hesaplamanın amacı nedir, niçin uygundur ve uygulanma stratejisinin mantığı nedir? Bu hesaplama teorisi nasıl gerçeklenebilir? Özellikle, girdi ve çıktı için temsiller nelerdir ve bu dönüşümü sağlayan algoritma nedir? Temsil ve algoritma fiziksel olarak nasıl gerçekleştirilebilir?

 

Bilgisayarla görmede derin öğrenme sayesinde son 5-6 yılda çok ciddi bir dönüşüm gerçekleşti ama isterseniz bu gelişmelere geçmeden önce biraz geçmişten, bilgisayarla görme konusunda atılan ilk adımlardan bahsedelim.

Bilgisayarla görmenin çıkış noktası, pek çok kişi tarafından Larry Roberts’ın 1963 yılında MIT’de sunduğu Machine Perception of Three-Dimensional Solids (Üç Boyutlu Katıların Makine Tarafından Algılanması) başlıklı doktora tezi kabul edilir. Bu tezde tamamen kontrollü bir ortamda elde edilen görüntüler üzerinden basit üç boyutlu şekillerin kenar bilgisi çıkarılmaya çalışılmıştı.

Bilgisayarla görmenin başlangıcı kabul edilen Larry Roberts’ın MIT’de sunduğu doktora tezinden (1963) örnek sonuçlar.

1960’lı yıllarda insan görme sisteminin karmaşıklığı büyük ölçüde küçümsendi.  1966 yazında John McCarthy ve Marvin Minsky’nin kurduğu MIT YZ labında verilen yaz stajı projesi bu küçümsemeyi çok iyi anlatıyor. İlk sayfasına altta yer verdiğimiz bu projede birkaç lisans öğrencisinin yaz sonuna kadar çalışarak kamerada görünen nesneleri tanıyan bir bilgisayar programı geliştirebilecekleri düşünülmüştü. Yarım yüzyıl sonra, hala bu konuda üzerinde çalışmaya devam ettiğimizi belirtelim.

MIT’de 1966 yılında lisans öğrencilerine yönelik hazırlanan ve konusu yapay bir görme sistemi geliştirmek olan yaz stajı duyurusu

Aradan geçen 30-40 yılın ardından David Marr’ın hesaplamalı modelinin, insan beynini ve görmeyi anlamada bir noktayı eksik bıraktığı iddia ediliyor. Tomaso Poggio gibi araştırmacılar David Marr’ın üç seviyeden anlama modeline dördüncü bir seviye eklenmesi gerektiğini söylüyorlar. Bu yeni seviye ise öğrenme.

Canlıların gelişim süreci incelendiğinde yukarıda sıraladığımız hesaplamalı teorilerin ve ilgili algoritmaların gerçekleştirdiği dönüşümlerin hep bir öğrenme süreciyle birlikte var olduğunu görürüz.  Yenidoğan bir bebek dünyaya adımını attığı andan itibaren çevresini gözlemleyerek, belli durumlarda ebeveyni veya başka yetişkinlerle etkileşim halinde, onların yol göstermesiyle ve  zamanla belli görevleri tek başına veya belli bir yardım ile yerine getirir duruma gelir. Daha sonra ise tek başına bir öğrenme kurdu haline dönüşür. Parmaklarıyla ona yabancı gelen her nesne için “Bu ne?” sorusunu sorma içgüdüsü aslında öğrenme sürecinin de önemli bir işaretidir. Bu bakımdan “yapay makinelerin belli görevleri tek başlarına yapabilmesinin, girdileri çıktılara dönüştürmesinin yolu da öğrenmeden geçer” dersek hatalı bir şey söylemiş olmayız. Öğrenmenin nasıl gerçekleşeceği veya öğrenme denen sürecin nasıl tanımlanacağı da aslında öğrenme teorisi dediğimiz bir alanın doğmasına yol açmıştır. Bu da yazı dizimizin bir sonraki bölümünün konusunu oluşturacak.

Aykut Erdem (Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü öğretim üyesi)
Erkut Erdem (Hacettepe Üniversitesi Bilgisayar Mühendisliği Bölümü öğretim üyesi)

[1] Yazının temeli 6 Mayıs 2018’de Boğaziçi Üniversitesi’nde düzenlenen International Symposium on Brain and Cognitive Science 2018 etkinliğinde Ethem Alpaydın moderatörlüğünde gerçekleşen panelde Aykut Erdem’in sunumuna dayanıyor.