kızımla yapay zeka sohbetleri #3
bir bebek ilk kez bir yüze bakıyor, bir baba kırk yıl önceki bir kedi deneyine gidiyor kafasında
idil artık üç haftalık.. son günlerde dikkatimi en çok çeken şey, tensel temas dışındaki duyularını da kullanmaya başlaması oldu. ve geçen gün ilk kez gözlerini doğrudan yüzüme kilitledi. en azından ben öyle hissettim. nöroloji bunu muhtemelen farklı yorumlayacaktır ama o an, bir şeyin başladığını hissettim.. sanki sistemin bir katmanı daha devreye girdi.
yenidoğanlar doğduklarında göremez, demek tam doğru değil gibi.. görmesine görüyorlar ama ne gördükleri, bizim gördüğümüzden çok farklı. görme mesafesi yaklaşık 20-30 santimetre. yüksek kontrastlara ve sert kenarlara tepki veriyorlar. gri tonlar, flu geçişler henüz hiçbir anlam taşımıyor. retina fiziksel olarak gelişimini tamamlamamış.

2010lu yılların başlangıcında toronto’da bir grup araştırmacı, imagenet yarışmasında rakiplerini ezdi geçti. alexnet! hata oranı bir anda yaklaşık %10 düştü — önceki yöntemler %26 civarında seyrederken, alexnet %15’e indi. yapay zeka tarihinde “öncesi” ve “sonrası” olarak ayrılan o kırılma noktası da büyük ölçüde bu modelle ve bu yarışmayla başladı. ama asıl ilginç olan mimarinin kendisiydi: convolutional neural network. CNN.
ImageNet Classification with Deep Convolutional Neural Networks makalesinin yazarları arasında, ilya sutskever ve geoffrey hinton var. boşu boşuna devrim demiyorum.
cnn’ler görüntüyü olduğu gibi almaz. önce kenarları öğrenir. sonra dokuları. sonra parçaları. sonra nesneleri. katmanlar halinde, her biri bir öncekinin üzerine inşa edilen bir hiyerarşi. ilk katmanda ağırlıkları görselleştirirsen, çoğunlukla dikey, yatay, çapraz çizgiler görürsünüz. ham kenarlara olan primitif, saf bir hassasiyet.. gelmek istediğim noktayı anladığınızı düşünüyorum. idil de tam olarak buradan başlıyor.

biraz da ilim & irfan ve insan beynine yolculuk yapma zamanı geldi gibi.. hadi tavşan deliğinden aşağıya yuvarlanalım.
hubel ve wiesel, 1959’da bir kedinin görsel korteksine elektrot yerleştirdiklerinde beklenmedik bir şeyle karşılaştılar. nöronlar rastgele ateşlemiyordu. belirli yönlere sahip kenar ve çizgilere seçici olarak yanıt veriyorlardı. bir nöron yalnızca 45 derece eğimli çizgilere tepki veriyordu. komşusu ise yalnızca yataylara.
Receptive fields of single neurones in the cat’s striate cortex
bu keşif, görmenin pasif bir kayıt değil, aktif bir inşa süreci olduğunu gösterdi. beyin, dünyayı olduğu gibi almıyor. onu parçalıyor, filtreden geçiriyor, yeniden birleştiriyor.

hubel ve wiesel bu çalışma için 1981’de nobel ödülü aldılar. yann lecun ve ekibi ise 1989’da bu biyolojik mimariyi bilgisayara taşıdı — “biomimetic” denen şeyi tam anlamıyla yaptılar: doğanın çözdüğü problemi, doğanın çözüm yapısını kopyalayarak yeniden çözdüler. ve 2012’de alexnet, bu fikrin ne kadar doğru olduğunu kanıtladı.
idil’in beynindeki v1 bölgesi — primer görsel korteks — şu an tam bu mantıkla çalışıyormuş. retina gangliyon hücreleri, tüm görüntüyü değil, küçük bir bölgeyi işliyor ve merkez-çevre yapısıyla: ortaya ışık vurunca heyecanlanıyor, çevreye vurunca baskılanıyor. ya da tam tersi.. ilk haftalarda v1, yüksek frekanslı sinyallere neredeyse hiç yanıt vermiyor, bir nevi tembellik hali. düşük frekans, yüksek kontrast: görüntü — gri tonlar, ince geçişler: gürültü

cnn mimarilerinin ilk katmanları da tam bu seçiciliği gösteriyor aslında. her pikseli eşit işlemek yerine, konvolüsyon filtresi küçük bir pencere gibi görüntü üzerinde kayıyor ve her adımda yalnızca lokal bir yapıya bakıyor.
görme biyolojisi ve cnn mimarisi arasındaki bu benzerlik tesadüf değil nitekim. lecun’un 1989 tarihli “backpropagation applied to handwritten zip code recognition” makalesi, bu yapıyı açıkça biyolojiden ödünç aldığını söylüyor. 2012 sonrasında gelen deep learning devrimi ise bu mimarinin ne kadar verimli bir başlangıç noktası olduğunu defalarca kanıtladı.
Backpropagation applied to handwritten zip code recognition mnist veri setinin de doğuşudur bu makale bir yerde.
2015’te microsoft’un resnet’i “residual connections” fikriyle 152 katmana ulaştı ve bu mimariler, yüzey özelliklerinin çok ötesine geçmeye başladı: derin katmanlar artık yalnızca kenar değil, nesne parçalarını, yüz ifadelerini, sahne bağlamını işliyordu. aynı sene biz de, ebedi dostlarım azmi ve onur ile katıldığımız bu yarışmada kimler kimlerle dövüşüp on dokuzuncu olmuştuk. yine de fikrimiz “the most innovative entry” olarak değer görmüştü. o sene gri pasaportlarımız yetişse ve şili’deki konferansa katılabilsek, kim bilir neler neler değişirdi.
bebek görme gelişimi de benzer bir katmanlı olgunlaşma izliyormuş. üçüncü ayda yüzleri ayırt etmeye başlıyor, dördüncü ayda renk ayrımı netleşiyor. altıncı ayda iki göz arasındaki fark işlenmeye başlıyor ve derinlik algısı kuruluyor. ilk yılın sonunda görme sistemi büyük ölçüde yerli yerine oturmuş oluyor. her aşama, bir öncekinin üzerine inşa ediliyor. backpropagation yok ama deneyim var, tekrar var, pekiştirme var. buralar gerçekten öyle mi işleyecek, takipçisi olacağız efenim hiç şüpheniz olmasın.
cnn’lerin o dönem yapay zeka dünyasını sarsan başarısı, aslında alçakgönüllü bir ders de içeriyordu, almasını bilene tabi. sıfırdan başlamak zorunda değilsin. doğru yapı, doğru veri, doğru tekrar.. gerisi bir şekilde gelir.
hatta işi bir tık daha öteye de götürebiliriz. transfer learning denen bir yaklaşım var. imagenet üzerinde eğitilmiş bir modeli alıp bambaşka bir göreve uyarlıyorsunuz. çünkü o ilk katmanlar — kenarlar, dokular, basit geometriler — neredeyse evrensel. hangi görev olursa olsun, bu temel özellikler işe yarıyor.
2014’te zeiler ve fergus’un “visualizing and understanding convolutional networks” makalesi bunu çarpıcı biçimde gösterdi: farklı veri setlerinde, farklı görevlerde eğitilmiş CNN’lerin ilk katmanları birbirine neredeyse aynıydı. evrensel bir görsel alfabe.
Visualizing and understanding convolutional networks
idil de sıfırdan başlamıyor. milyonlarca yıllık evrimsel optimizasyon, ona kenarları nasıl bulacağını bir şekilde aktarmış. bu “pretrained weights” ile dünyaya geliyor. ben de şimdi, o ilk filtrelerin ne üzerine inşa edileceğini düşünüyorum. hangi yüzler, hangi sesler, hangi ışıklar — bunlar onun ilk eğitim verisi.
peki ya ben ne yapabilirim, tam olarak?
cnn eğitiminde en kritik kararlardan biri, ilk katmanlara ne kadar müdahale ettiğindir. aşırı özelleştirirsen, genelleme gider. çok serbest bırakırsan, hiçbir şey öğrenmez. en iyi sonuçları veren yaklaşım genellikle şu: temel katmanları dondur, üst katmanları ince ayar yap. bildiğin fine-tuning..
ilk yazıda babalığı bir fine-tuning süreci olarak tanımlamıştım — on beş yıllık deneyimin ağırlıklarının yeni bir göreve aktarıldığını söylemiştim, ve bunun hem yardımcı olabileceğini hem de yanlış yöne çekebileceğini. o zaman soyut bir benzetmeydi. burada, cnn’lerin diliyle, bunun tam olarak ne anlama geldiğini görüyorum: ilk filtreleri — merak, güven, bağlanma — dokunmadan bırakmak. üst katmanlara, yani dünyayla ilgili spesifik şeylere, yavaş yavaş şekil vermek. ve her aşamada en önemli soruyu sormak: idil şu an hangi katmandadır? ona ne gösteriyorum?
bunun pratikte ne demek olduğunu hâlâ tam çözebilmiş değilim. ama en azından artık yanlış soruyu sormadığımı biliyorum. soru “idil’e ne öğretmeliyim” değil — soru “idil’in ağının şu an hangi katmanında olduğumu ve o katmana ne kadar müdahale etmem gerektiğini nasıl anlarım.” bir modelin ne zaman donuk kalması, ne zaman güncellenmesi gerektiğini bilmek, mühendislikte bile hâlâ kısmen sanat sayılır — deneyimle, deneme yanılmayla öğrenilen bir şey. babalıkta da öyle olacak sanırım.
bugün gözlerini yüzüme kilitleyip baktığında, muhtemelen henüz “baba” kavramını işlemiyordu. yüksek kontrastlı, hareketli bir yüzey görüyordu. ama o yüzey tekrar ettikçe, güvenli bir şeyle eşleşmeye başlayacak. ve bir gün, çok daha derin bir katmanda, bu tekrara anlam yüklenecek. (içim kıpır kıpır oluyor O_O)
hubel ve wiesel’in kedisi bunu 1959’da göstermişti: beyin, dünyayı pasif kaydetmiyor, aktif olarak inşa ediyor. john berger de aynı şeyi, farklı bir dilden söylemişti: bakmak, seçmektir — göz neye bakacağını seçer, ve o seçim, göreni de tanımlar. idil bugün yüzüme baktığında, muhtemelen henüz beni “görmüyordu” — yüksek kontrastlı, hareketli bir yüzeye bakıyordu. görmek, o yüzeyin bir anlam kazanmasıyla başlayacak; bakmak çoktan başladı bile.
aradaki fark bana hiç de küçük gelmiyor. bakmak, bir girdi almaktır — pasif, mekanik, retinanın işi. görmek ise bir yorumdur, bir seçimdir, bir inşadır. cnn’lerin ilk katmanı da tam olarak “bakıyor” — kenar, doku, kontrast. üst katmanları ise “görüyor” — yüz, nesne, bağlam. idil’in bugünkü bakışı, henüz o üst katmanlara ulaşmamış bir sinyal. ama sinyal orada, ve bir gün karşılığını bulacak.
belki de asıl soru şu: idil ne zaman sadece bakmayı bırakıp görmeye başlayacak — ve ben bunu nasıl anlayacağım, o an geldiğinde?
sonuçta, ilk yazıda dediğim gibi, ben de bu işte fine-tuning halindeyim — ama bugün öğrendiğim şey şu: bazen en önemli katman, hiç dokunmadığın o ilk filtrelerde saklı.



