Derin Öğrenme ve AGI: Genelleme Sorunu - Giriş
- Kaan Bıçakcı
- 14 Ağu 2024
- 7 dakikada okunur
Güncelleme tarihi: 17 Ağu 2024
Yazının orijinali İngilizce olduğundan Türkçe çevirisinde ufak hatalar olabilir.
Derin Öğrenme... Son on yılın en popüler terimlerinden biri. Üretken Yapay Zeka'nın yükselişiyle birlikte, bunun etrafında çok fazla abartı var. Bu yazıda, derin öğrenmenin en önemli kusurunu ele alacağım: genelleme.
Derin Öğrenme konularına derinlemesine daldığımda, Nörobilim ve Psikoloji kavramlarına da dalmanın kolay olduğunu gördüm. Bunları ayrı blog yazılarında ele alacağım.
Bu blog yazısında tüm ayrıntıları göstermeyi amaçlamıyorum; sadece hızlı bir giriş olması açısından yazdım.
Genellemeyi (Generalization) Eğer Tanımlayacak Olsaydım - Yüksek Seviye
Genelleme, uyarlanabilir bilişsel süreçler ile tanıdık, yeni ve görülmemiş durumları birbirine bağlayarak, bilgiyi çeşitli bağlamlarda etkili bir şekilde uygulama yeteneğidir. Bu yetenek, beynin belirsizlik içeren ortamlarda (yani dünyamızda) esnek problem çözme kapasitesini yansıtmalı ve mevcut derin öğrenmeye dayalı yaklaşımların veri açlığı doğasının aksine, veri açısından verimli (yani daha az veri kullanarak) yollarla modellenmelidir.
NOT: Derin Öğrenmenin işe yaramaz olduğunu söylemiyorum. Tasarlandığı şey için yararlıdır (bir işin otomasyonu vb.), ancak gerçekten zeki veya genelleme yapabilen sistemler oluşturmak için yeterli değildir.
Topics:
İnterpolasyon ve Ekstrapolasyon
Bu tanımın neden olduğundan basit olduğunu düşünüyorum?
Makine öğrenmesiyle bunun (daha spesifik olarak derin öğrenmeyle) ilişkisi nedir?
Temel bir örnek - f(x) = x^2'yi yakınsamaya çalışalım
Daha Karmaşık Bir Senaryo - Üretken Modeller
Basit bir örnek olarak, bir GAN modelini MNIST rakamlarını üretecek şekilde eğittiğinizi düşünelim
Eğri Uydurma ve Manifold Hipotezi
GAN'lara geri dönelim
İnterpolasyon & Ekstrapolasyon
Soru şu, derin öğrenme modelleri ekstrapolasyon yapabilir mi? Bu iki terimin kavramlarını açıklamak için önce ekstrapolasyonun Learning in High Dimension Always Amounts to Extrapolation makalesinden tanımına bakalım [1]:
Definition 1. Interpolation occurs for a sample x whenever this sample belongs to the convex hull of a set of samples X ≜ {x_1, . . . , x_N }, if not, extrapolation occurs.Önce bunu 2D olarak görselleştirelim, sonra daha karmaşık senaryolara geçelim:
Yüksek boyutlu uzaylarda, tanıma göre, "mesafeler" birbirinden uzak olma eğiliminde olduğundan, enterpolasyon ile ekstrapolasyon arasındaki ayrım daha az belirgin hale gelir.
Bu tanımın neden konunun karmaşıklığını yeterince yansıtmadığını düşünüyorum?
Günümüzde kullanılan derin öğrenme modelleri yalnızca ham girdi (raw input) alanında çalışmaz. Verileri birden fazla katmandan dönüştürerek bu esnada yeni temsiller öğrenirler. Bu dönüşümler verilerin geometrisini değiştirebilir ve sabit bir dışbükey gövdenin "içinde" veya "dışında" kavramını daha az alakalı hale getirir.
Yazarlar ayrıca sonuç [1] bölümünde şu ifadeyi de sunmaktadırlar:
In short, the behavior of a model within a training set’s convex hull barely impacts that model’s generalization performance since new samples lie almost surely outside of that convex hull. This observation holds whether we are considering the original data space, or embeddings. We believe that those observations open the door to constructing better suited geometrical definitions of interpolation and extrapolation that align with generalization performances, especially in the context of high-dimensional data.Interpolasyon ve ekstrapolasyonu farklı şekillerde düşünmemiz gerektiğini düşünüyorum. Derin öğrenme, yüksek boyutlu verilerin sıklıkla daha düşük boyutlu manifoldlar üzerinde veya yakınında bulunduğunu öne süren manifold hipotezinden (sonraki bölümlerde açıklanacaktır) yararlanır. Bu bakış açısı, bu modellerin nasıl genelleme yaptığına dair anlayışımızı değiştirir. Yüksek boyutlu bir dışbükey zarf içinde interpolasyon düşünmek yerine, modellerin bu veri manifoldları boyunca nasıl gezinmeyi öğrendiğini düşünebiliriz
Ekstrapolasyonun Vikipedi'de bulunan tanımı:
In mathematics, extrapolation is a type of estimation, beyond the original observation range, of the value of a variable on the basis of its relationship with another variable. It is similar to interpolation, which produces estimates between known observations, but extrapolation is subject to greater uncertainty and a higher risk of producing meaningless results. Extrapolation may also mean extension of a method, assuming similar methods will be applicable. Extrapolation may also apply to human experience to project, extend, or expand known experience into an area not known or previously experienced so as to arrive at a (usually conjectural) knowledge of the unknown[1] (e.g. a driver extrapolates road conditions beyond his sight while driving). The extrapolation method can be applied in the interior reconstruction problem.Makine öğrenmesiyle bunun (daha spesifik olarak derin öğrenmeyle) ilişkisi nedir?
Ekstrapolasyon, eğitim verisinin aralığı dışındaki veri noktalarını tahmin etmektir. Eğer veri noktası bu aralık içindeyse, model interpolasyon yapmaktadır; aksi takdirde, model ekstrapolasyon yapmaktadır.
Başka bir deyişle, ekstrapolasyon, öğrenilen fonksiyon veya görevin (bu durumda derin öğrenme modeli tarafından öğrenilen -yaklaşık olarak hesaplanan-) veri üreten süreci sadece gözlemlenen veri noktaları arasında değil, tüm alan boyunca doğru bir şekilde yaklaşık olarak hesaplaması durumunda gerçekleşir.
Bu iki terimin daha ayrıntılı tanımlarını sonraki blog yazılarımda ele alacağım.
Temel bir örnek - f(x) = x^2'yi yakınsamaya çalışalım
ANN'ler x^2'yi tüm domain için öğrenemez (öğrenme burada yanıltıcı olabilir) (basit bir örnek olarak):
Bu nedenle, eğitildiği noktalar arasında iyi bir iş çıkardığını görebilirsiniz, ancak o bölgeden çıktıkça hata artmakta ve sonsuza yaklaşmaktadır. Bu bize modelin ekstrapolasyon yapamadığını, ancak interpolasyon yapabildiğini gösterir.
Daha Karmaşık Bir Senaryo - Üretken Modeller
Daha karmaşık bir örnek için, GAN modellerine bakalım. Bu modeller eğitim verilerinde olmayan görüntüler üretebilirler (basitlik açısından görüntü örneğinde kalıyoruz, yoksa ses vb. de üretebilirler!). Bu durumda, bu modeller ekstrapolasyon mu yapıyor? Tam olarak değil.
Temel bir örnek olarak, MNIST rakamları üretmek için bir GAN modeli eğittiğinizi varsayalım.
Yukarıdaki ekstrapolasyon tanımını hatırlayalım
Başka bir deyişle, ekstrapolasyon, öğrenilen fonksiyon veya görevin (bu durumda derin öğrenme modeli tarafından öğrenilen -yaklaşık olarak hesaplanan-) veri üreten süreci sadece gözlemlenen veri noktaları arasında değil, tüm alan boyunca doğru bir şekilde yaklaşık olarak hesaplaması durumunda gerçekleşir.GAN modelleri aslında eğitim verilerinin dağılımını modellemeyi öğrenir. Yeni örnekler üretirken, genellikle bu öğrenilmiş dağılımdan örnekleme yaparlar. Üretilen örnekler, genellikle tamamen yeni özellikler veya kavramlar yerine, eğitim verisinde görülen özelliklerin kombinasyonları veya varyasyonlarıdır.
Eğri Uydurma ve Manifold Hipotezi
Bu oldukça mantıklı çünkü sonuçta bu derin öğrenme ve mantıken bir eğri uydurma işlemi.
Peki, buradaki eğri nedir? Interpolasyonun bununla ne ilgisi var?
İşte burada manifold terimi devreye giriyor. Manifold, keyfi boyutlardaki uzayları tanımlamak için kullanılan matematiksel bir kavramdır. Daha kesin bir ifadeyle, yerel olarak bakıldığında tanıdık Öklid uzayına benzeyen, ancak daha büyük ölçekte daha karmaşık bir yapıya sahip olabilen bir tür uzaydır.
Bir basketbol topunun yüzeyinde yürüyen bir karınca hayal edin. Karıncanın küçük bakış açısından, yüzey düz görünür - yukarı veya aşağı gittiğini hissetmeden her yöne serbestçe hareket edebilir. Bunun nedeni, yerel olarak, karıncanın küçük ölçeğinde, basketbol topunun yüzeyinin düz bir düzleme benzemesidir. Ancak, küresel olarak basketbol topunun aslında küresel olduğunu biliyoruz.
Bir manifoldun özü şudur:
Yerel (local) olarak, (düz - her zaman düz olmayabilir ama anlaşılması kolay olması için olarak düz düşünebilirsiniz) bir uzay parçası (Öklid uzayı) gibi görünür.
Global olarak, daha karmaşık veya eğimli bir yapıya sahip olabilir.
Yerel 'düz' bölgeler arasındaki geçişler pürüzsüzdür.
Derin öğrenme bağlamında, çalıştığımız veriler genellikle yüksek boyutlu bir uzayda bir manifold oluşturur. Bahsettiğim 'eğri uydurma' aslında bu manifoldun yapısını öğrenmekle ilgilidir.
Veri noktaları arasında interpolasyon yaptığımızda, esasen bu manifold boyunca hareket ediyoruz, daha basit yerel özelliklerinden yararlanarak karmaşık küresel yapısında geziniyoruz.
GAN'lara Geri Dönelim
GANlar hakkında konuşuyorduk, sonra manifold hipotezine geçtik. GAN'lar bağlamında, üretici, giriş uzayından (genellikle rastgele gürültü) bu manifoldun üzerindeki veya yakınındaki noktalara eşlemeyi öğrenir. GAN'ın üretme yeteneği bu öğrenilmiş manifoldla sınırlıdır. Gördüğü özelliklerin yeni kombinasyonlarını oluşturabilir (interpolasyon), ancak yeni özellikler üretmekte veya eğitim verisinin sınırlarının ötesine geçmekte (ekstrapolasyon) zorlanır.
StyleGAN'lar gibi daha gelişmiş mimarilerde, stil parametreleri bu manifold üzerindeki koordinatlar olarak görülebilir. Stilleri karıştırdığımızda veya aralarında interpolasyon yaptığımızda, eğitim verisinin farklı yönlerini birleştiren şekillerde manifold boyunca hareket ediyoruz.
Daha sezgisel bir örnek, gerçekçi görüntüler üreten bir GAN olabilir. Bu GAN'ın gerçekten ekstrapolasyon yapıp sadece gördüklerinin varyasyonlarını değil, herhangi bir olası gerçekçi görüntüyü üretebilmesi için fiziğin, optiğin ve daha fazlasının temel prensiplerini anlaması gerekecektir.
Peki Ya LLM'ler?
Büyük Dil Modellerini (LLM'leri) manifoldlar ve genelleme perspektifinden ele alalım.
GAN'ların görsel veri manifoldunda gezinmeyi öğrenmesine benzer şekilde, LLM'ler de dil ve kavramların geniş, karmaşık bir manifoldu üzerinde çalışır.
Bir LLM metin ürettiğinde, aslında bu yüksek boyutlu uzayda dolaşıyor, eğitim sırasında öğrendiği öğeleri kombinliyor ve yeniden birleştiriyor.

Elbette, gerçek bir manifold yukarıdaki şekilden daha karmaşıktır, ancak mantık olarak anlayışımız aynıdır. Word embeddingleri manifoldda yerel yerler oluşturarak çok boyutlu bir anlamsal uzay yaratır. Gerçek manifoldu görselleştirebilseydiniz, embedding uzayındaki benzerlik bölgelerinin yerel özelliklerini temsil eden kümeler (veya tepeler vb.) oluşturduğu bir manzara görürdünüz.
LLM'ler öğrendikleri manifold içinde interpolasyon gerçekleştirir ve bu manifold eğitimden sonra statik kalır. Çıkarım (inference) sırasında, parametrelerini güncellemeden veya yeni harici bilgilere erişmeden bu sabit manzarada gezinirler. Bu, çevrelerindeki dünyadan sürekli olarak yeni bilgiler öğrenebilen ve bunları dahil edebilen insanlardan farklıdır.
LLM'lerin Sorunları (AGI'ye giden yol olarak görülüyorlar?)
Eğer 2016'dan bu makaleye göz atabilirseniz: https://www.graphcore.ai/posts/is-moravecs-paradox-still-relevant-for-ai-today. Bu sorunların bugün hala devam ettiğini görebiliriz.
Burada, robotik alanındaki Moravec paradoksuna benzer ilginç bir paradoksla karşılaşıyoruz (linkteki makalede bahsedilen). LLM'ler, biz insanlar için karmaşık görünen görevlerde - tutarlı paragraflar üretmek veya hatta sözdizimsel olarak doğru kod oluşturmak gibi - mükemmel performans gösterirler. Ancak bizim çok kolay bulduğumuz görevlerde, örneğin temel neden-sonuç ilişkisini anlamak veya sağduyu muhakemesi sergilemek gibi konularda zorlanırlar.
GPT-4 veya o seviyedeki diğer LLM'ler gibi mevcut modeller, soyut akıl yürütmede zorlanır ve eğitim verilerinin ötesine geçerek genelleme yapamazlar.
Soyut akıl yürütmede başarısız olurlar.
Özetle, soyut akıl yürütmeyi sınırlı bilgiden kalıpları veya kuralları fark etme ve bu kalıpları yeni durumlara uygulama yeteneği olarak açıklayabiliriz. Çocuklar, sadece birkaç örnekten genel kurallar öğrenme ve bunları yeni şekillerde kullanma konusunda iyidirler. Örneğin, bir çocuk birkaç nesneyi karşılaştırarak "daha büyük" kavramını öğrenebilir, sonra bu fikri daha önce hiç görmediği şeylere uygulayabilir.
Comparing Humans, GPT-4, and GPT-4V On Abstraction and Reasoning Tasks bu konuyu oldukça iyi açıklıyor, bazı ilginç sonuçları da var.
Yapay zeka yetenekleri hakkında abartılı iddialar hayal kırıklığına yol açıyor.
Bunun bir örneğe ihtiyacı olup olmadığını bilmiyorum, teknik olmayan insanlar LLM'leri her problemin çözümü olarak kullanma eğilimindeler.
Mevcut LLM'ler doğru olmak üzere tasarlanmamıştır, sıklıkla yanlış ifadeler (halüsinasyonlar) üretirler.
Yani LLM'ler sadece son derece gelişmiş otomatik tamamlama sistemleridir. Makul ve akıcı görünen metinler üretmekte harikadırlar, ancak her zaman gerçekleri doğru bir şekilde belirtmek üzere tasarlanmamışlardır. Söylediklerinin doğruluğunu anlamaz veya doğrulamazlar.
Yukarıdaki manifold şeklini hatırlarsanız, model için yanlış bilgi ürettiğinde aslında bir fark yoktur. Manifoldlarında bir yere varır ve o tokeni çıktı olarak verir. Belki manifolddaki bu bölgeleri tanımlamak, model tarafından çıktı olarak verilen yanlış bilgi miktarını azaltabilir. Bu aslında modeli belirli bir alan için fine tune yaptığınızda elde etmeye çalıştığınız şeylerden biridir.
LLM tarafından oluşturulan içeriğin artışı
İnterneti giderek daha fazla LLM tarafından oluşturulan materyal dolduruyor, bu durum hepimizin paylaştığı bilgilerin kalitesine ve güvenilirliğine zarar verebilir. Ya da daha ileriye düşünürsek, insanlar modellerini eğitmek için internetten veri topluyor, eğer bunlar doğru değilse zamanla daha kötü modeller ortaya çıkacaktır.
Benim Fikrimce Gerçek Zeka - Kısaca
Yeni ve öngörülemeyen durumlarda etkili bir şekilde hareket etme yeteneğidir.
LLM'ler, geniş bilgi tabanlarına rağmen, bu açıdan yetersiz kalıyor. Eğitim verilerinin alanı içinde interpolasyon yapmada inanılmaz derecede yeteneklidirler, ancak bunun ötesine anlamlı şekillerde ekstrapolasyon yapmakta zorlanırlar. Başka bir deyişle, zeki değillerdir.
Bu sınırlama, LLM'lerden gerçekten yeni problemleri çözmelerini veya insanların üstün olduğu türden esnek, uyarlanabilir düşünme sergilemelerini istediğimizde açıkça ortaya çıkar. Modeller, özünde, ne kadar geniş olursa olsun statik bir dağılımda gezinmektedir.
Temel problem, bu modellerin eğitimden sonra statik olan fonksiyon optimizasyonuna dayanmasıdır. Daha fazla veri eklemeye ve SADECE bu yeni veriler üzerinde eğitim yapmaya çalışırsanız, modeller daha önce öğrendiklerini unutma eğilimindedir. (Catastrophic Forgetting)
Son Sözler
Gelişmiş yapay zekanın sadece bu modelleri büyütmek veya onlara daha fazla veri beslemekle ilgili olduğunu düşünmüyorum. Gerçek dünya problemlerinin dinamik, sürekli değişen manzarasında gezinebilen, gerçekten uyarlanabilir modeller oluşturarak genelleme yapabilen sistemler geliştirmekle ilgilidir.
Yapay zeka araştırmasının merkezinde yatan zorluğun bu olduğuna ve bizi Derin Öğrenme tabanlı modelleri kullanmak yerine yaklaşımlarımızı yeniden düşünmeye ittiğini düşünüyorum.
References:
[1]: Balestriero, R., Pesenti, J., & LeCun, Y. (2021). Learning in High Dimension Always Amounts to Extrapolation. arXiv [Cs.LG]. Retrieved from http://arxiv.org/abs/2110.09485





