Kara Kutuyu Açmak

Görüntü işleme, doğal diller, otonom sistemler nereye baksanız yapay zekanın son on yıldır elde ettiği büyük başarıların neredeyse hepsinin altında çok katmanlı yapay sinir ağları var. Perseptron (ya da nöron) denilen çok basit hesap birimlerinin aşağıdaki gibi sıralı katmanlar halinde organize edilmesiyle elde edilen derin yapay sinir ağları, veri setleri içerisindeki karmaşık örüntüleri küçük adımlarla parametreleri güncelleyerek öğreniyor.

Pratikte, yapay sinir ağlarında akıl almaz miktarda parametrenin küçük adımlarla hesaplanması gerekiyor. Örneğin, Son zamanların meşhur dil modellerinden GPT-3 içerisinde 175 milyar parametre var! Her bir perseptronun ne yaptığını biliyor olsak da, bir derin öğrenme modelinin makro ölçekte ne öğrendiğini, nasıl öğrendiğini bilmiyoruz. Bu modellere kara kutu denmesinin sebebi bu. Bunlar yetmezmiş gibi yapay sinir ağlarının öğrenme sürecinde stokastik (olasılıksal) süreçler de kullanılıyor, başlangıç parametrelerinin olasılıksal seçimi örneğin.

Elimizde eskiden çözemediğimiz karmaşık problemleri çözen bir makine var, mikro ölçekte nasıl çalıştığını da biliyoruz ama mikro ölçekteki etkileşimlerin sonuçlarına ve süreç içindeki olasılıksal bileşenere uzaktan bakıp hangi mimarinin hangi problemi neyi öğrenerek çözdüğünü bilemiyoruz. Facebook araştırma ekibinden Daniel Roberts ve Sho Yaida’nın yeni kitabı “Principles of Deep Learning Theory” bu sorulara yanıt verme iddiasında. Henüz kitabın çok başlarındayım ama çok ilginç ve zor bir soruya taze bir bakış getirdikleri açık.

Yazarlar yapay sinir ağlarının makro ölçekte nasıl çalıştığını, pratik uygulamalarla uyum içerisinde olan “temel prensipler“le açıklamaya çalışıyor. Bu yaklaşım, yapay sinir ağlarını doğal bir fenomen olarak görüp, fizikçilerin doğayı deneylerle uyumlu temel prensipler ile açıklamaya çalışmasını örnek alıyor. Sanırım şu ana kadar beni en çok etkileyen bu doğal bilimci bakış açısı oldu. Termodinamik, quantum fiziği gibi alanlarda çok sayıda parçanın olasılıksal karmaşık etkileşimlerinin makro ölçekteki sonuçlarını öngörecek temel prensipleri bulabiliyorsak, yapay sinir ağları için de aynısını yapabiliriz.

Bu oldukça zorlu bir hedef ve yazarlar çalışmalarını bu yönde ileride yapılacak pek çok çalışmadan bir tanesi olarak tanımlıyorlar. Teknik yaklaşımlarının temellerini kitabın ilk sayfalarında oldukça güzel anlatmışlar, ben de anladığım biçimiyle tarif etmeye çalışacağım. Mikro ölçekteki bileşenleri ve bu bileşenleri bir araya getiren katmanların yapısını umursamadan sadece matematiksel olarak bakarsak yapay sinir ağları girdileri $x$ olan ve parametrelere ($\theta$) bağlı bir $$f(x;\theta)$$ fonksiyonudur. Uygulamada yapay sinir ağlarını bir olasılık dağılımından gelen rastgele parametrelerle, $p(\theta)$ başlatırız, sonra da eğitim verisini kullanarak bu parametreleri yavaş yavaş değiştirir, istediğimiz sonucu veren (bu resimde kedi var mı, bu insan bu ürüne ne kadar para harcar gibi soruların yanıtlarını bulan) bir hedef fonksiyona yaklaşmaya çalışırız. Bu sürece yapay sinir ağını “eğitmek” denir, ve aslında yaptığımız parametreleri uygun biçimde, $\theta \to \theta^{*}$, değiştirerek aradığımız hedef fonksiyonu $$f(x;\theta^{*})$$ şeklinde buluruz.

Bu kurguda $f(x;\theta^{*})$ fonksiyonun makro ölçekteki davranışını ve eğitim verisinin parametrelerin güncellenmesine nasıl etki anlamak istiyoruz. Buradaki fonksiyonların çok değişkenli olduğunu gözardı ederek, her mühendisin birinci sınıfta öğrendiği Taylor açılımıyla soruya bakarsak elimizde $$f(x;\theta^{*}) = f(x;\theta) + (\theta – \theta^{*}) \frac{df}{d \theta} + \frac{1}{2}(\theta – \theta^{*})^2 \frac{d^2 f}{d \theta^2} + \cdots$$ eşitliği olur. Buradaki eksiklikler:

  • $\theta$ parametreleri aslında bir olasılık dağılımından geliyor.
  • Öğrendiğimiz $\theta^*$ parametreleri, öğrenme algoritmasında yaptığımız seçimlere (öğrenme hızı vs) bağlı.
  • Öğrendiğimiz $\theta^*$ parametreleri eğitim verisine bağlı.

Bu yüzden aslında aradığımız şey tek bir $f(x;\theta^*)$ fonksiyonu değil, $$p(f(x;\theta^*) | \text{ogrenme algoritması, egitim verisi})$$ şeklinde fonksiyonlar uzayında bir olasılık dağılımı. Daha kötüsü baktığımız Taylor açılımında sonsuz tane terim var, bu terimlerin hepsini hesaplamak imkansız. Taylor açılımını sonlu hale getirmenin bir yolu, kullandığımız yapay sinir ağı mimarisini sonsuz hale getirmek. Yapay sinir ağları iki yönde büyüyebilir, birincisi “genişlik“, katmanlardaki maksimum nöron sayısı; ikincisi “derinlik”, ağdaki katman sayısı. Yazının başındaki görsel örnekte genişlik 5 (birinci katmanda 5 nöron var), derinlik 3 (iki gizli katman, bir de çıktı katmanı). Bir yapay sinir ağının genişliğine $n$ der, ve bu genişliğin istediğimiz kadar büyük olmasına izin verirsek ($n \to \infty$ limiti), hayat bir anda çok kolaylaşıyor, yukarıda değerlendirdiğimiz Taylor açılımında terimler ikinci derece terimden itibaren önemsiz hale geliyor. Her türlü hesap kitabı kolayca (lafın gelişi) yapabiliyoruz.

Fakat bu “sonsuz genişlik” varsayımı, pratikte kullandığımız yapay sinir ağlarını temsil etmiyor. Matematiksel hesapları kolaylaştırmak için bir varsayım yapıyoruz, ama bu varsayım gerçekte olanları açıklamakta yetersiz. Kitapta yazarların getirdiği temel teknik yenilik, sonsuz genişlik varsayımına bir düzeltme terimi eklemek. Bu düzeltme terimi, genişlik büyüdükçe küçülecek biçimde $\frac{1}{n}$ üzerinden tanımlanıyor. Yani, $f^*=f(x;\theta^*)$ fonksiyonunu yapay sinir ağının ters genişliği $\frac{1}{n}$ ile pertürbe ederek $$p(f^*) = p^{\{0\}}(f^*) + \frac{p^{\{1\}}(f^*)}{n} + \frac{p^{\{2\}}(f^*)}{n^2} + \cdots $$ şeklinde bir açılımı hesaplamaya çalışıyoruz. Bu açılımda $p^{\{0\}}(f^*)$, yukarıda bahsettiğimiz sonsuz genişlik varsayımıyla elde edilen fonksiyon ve $p^{\{k\}}(f^*)$ terimleri bu fonksiyonun $k$ dereceli düzeltmeleri.

Kitabın odak noktası sadece birinci derece düzeltme terimini hesaplayarak, yani $$p(f^*) = p^{\{0\}}(f^*) + \frac{p^{\{1\}}(f^*)}{n}$$ varsayımı ile yapay sinir ağlarını anlamaya çalışmak. Bunu nasıl yaptıklarını henüz bilmiyorum, okumaya devam edeceğim, konuyla ilgili herkese de şiddetle tavsiye ederim.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*