Day 003 · Yapay Zeka
Bir bilgisayar, ona açıkça kural yazmadığımız halde doğru cevaba nasıl yaklaşabilir?
Cevap bazen şaşırtıcı ölçüde küçüktür: birkaç sayıyı değiştirir. Perceptron, “öğrenme” denen büyük fikri ağırlık, bias ve hatadan sonra atılan küçük bir düzeltme adımına kadar indirger.
01 / Kuralı kim yazdı?
Elmayı elmadan ayıran kuralı tek tek yazmak istemediğini düşün.
Bilgisayara “yuvarlaksa elmadır” demek kolaydır. Ta ki yuvarlak bir domates gelene kadar.
Bir nesneyi yalnızca biçimiyle değil; rengi, ağırlığı, dokusu ve onlarca başka özelliğiyle tarif edebilirsin. Fakat her yeni istisna için yeni bir if kuralı eklersen, kısa sürede kurallar birbirine dolanır. Makine öğrenmesinin temel hamlesi burada başlar: kararı doğrudan kodlamak yerine örnekler ve doğru yanıtlar verirsin. Model, bu örneklerde işe yarayan sayısal ayarları arar.
Bu düzende her gözlem bir özellik vektörüdür: x = (x₁, x₂, …, xₙ). Örneğin x₁ renk yoğunluğu, x₂ çap olabilir. Her gözlemin etiketi de iki sınıftan biridir; matematikte bunları çoğu zaman −1 ve +1 diye yazarız. Perceptronun işi, özellik uzayını bu iki etiketi ayıracak biçimde bölmektir. Cornell’in ders notlarında sınıflandırıcı açıkça h(x) = sign(wᵀx + b) biçiminde verilir.1
Model “elma nedir?” cümlesini öğrenmez. Hangi özelliklerin kararı hangi yönde ittiğini belirleyen sayıları öğrenir.
Bu ayrım önemlidir. Öğrenme; bilinç, niyet ya da kavramın insan gibi anlaşılması demek değildir. Burada daha dar ve test edilebilir bir anlamı var: örneklerden gelen hatalara göre parametreleri değiştirmek. Perceptron, bu fikri çıplak halde görmemizi sağlar.
02 / Kararın anatomisi
Önce her işarete ne kadar kulak vereceğine karar verir.
Her özelliğin yanında bir ağırlık vardır: w₁, w₂, …, wₙ. Büyük ve pozitif bir ağırlık, ilgili özellik arttığında sonucu +1 tarafına güçlü biçimde iter. Negatif ağırlık ters yöne çeker. Sıfıra yakın ağırlık ise o özelliğin bu karar için az etkili olduğunu söyler.
skor = w · x + b
tahmin = sign(skor)
Bias olan b, bütün özelliklerden bağımsız bir başlangıç eğilimidir. Onu, karar eşiğini yerinden oynatan bir ayar gibi düşünebilirsin. Bias olmasaydı karar sınırı koordinat sisteminin merkezinden geçmek zorunda kalırdı; Cornell notları, sabit değeri 1 olan ek bir özellik tanımlayarak bias’ın ağırlık vektörüne nasıl dahil edilebildiğini de gösterir.1
İki özellik olduğunda w · x + b = 0 bir doğru çizer. Üç özellikte bu bir düzlem, daha çok boyutta ise hiperdüzlemdir. Ağırlık vektörü bu sınırın hangi yöne baktığını belirler; bias sınırı paralel biçimde kaydırır. “Karar sınırı” dediğimiz şey, modelin iki sınıf arasında kurduğu geometrik ayrımdır.
03 / İlk tahmin
Başlangıç çizgisi yalnızca bir denemedir.
Ağırlıklar sıfırdan ya da küçük değerlerden başlar. Model ilk örneğe bakar, skoru hesaplar ve bir taraf seçer. Yanlış noktalar olması olağandır; henüz “kural” oluşmamıştır.
04 / Hata sinyali
Yanlış cevap, düzeltmenin yönünü söyler.
Gerçek etiket y, tahminin tersindeyse perceptron ağırlıkları günceller: w ← w + ηyx. Bias için benzer adım b ← b + ηy olur. Buradaki η, adımın büyüklüğünü belirleyen öğrenme oranıdır.
05 / Sınır hareket eder
Bir noktaya verilen düzeltme bütün çizgiyi değiştirir.
Pozitif bir örnek yanlış taraftaysa onun özellikleri ağırlıklara eklenir; negatif örnekte çıkarılır. Böylece sınır hem dönebilir hem kayabilir. Algoritma yalnızca hata yaptığında güncelleme yapar.2
06 / Ayrım
Hatalar bittiyse, sayılar bir sınır kodlamıştır.
Örnekler tekrar tekrar gösterilir. Veri tek bir doğruyla ayrılabiliyorsa süreç sonunda bütün eğitim örneklerini doğru tarafa koyan bir ağırlık kümesine ulaşabilir. Bulunan çizgi tek mümkün çizgi olmak zorunda değildir.
07 / Bir güncellemeyi yavaşlatalım
Küçük bir hesap, “öğrenme” fiilinin içini açar.
İki özellikli tek bir örnek düşün: x = (0,8; 0,2) ve gerçek etiket y = +1 olsun. Başlangıçta ağırlıklar w = (0,1; −0,4), bias ise −0,05 olsun. Modelin skoru 0,1 × 0,8 + (−0,4) × 0,2 − 0,05 = −0,05 çıkar. İşaret negatif olduğu için model −1 tahmini verir; gerçek etiket +1 olduğundan bu bir hatadır.
Öğrenme oranını 0,5 seçersek güncelleme w ← w + ηyx olur. İlk ağırlık 0,1’den 0,5’e, ikincisi −0,4’ten −0,3’e çıkar; bias da −0,05’ten 0,45’e gelir. Aynı örneğin yeni skoru 0,79’dur ve işaret artık pozitiftir. Model o örnek için doğru tarafa geçmiştir. Bu adımda veri tabanına “bu bir +1 örneğidir” cümlesi kaydedilmedi. Değişen şey, gelecekteki bütün örneklerin skorunu etkileyecek üç sayıdır.
Burada küçük ama önemli bir problem var: bir örneği düzeltmek başka bir örneği yanlış tarafa itebilir. Bu nedenle eğitim, tek noktayı ezberleyen bir hamle değil; örnekler arasında gidip gelen bir müzakeredir. Veri birkaç kez dolaşılır; her tam dolaşıma epoch denir. Örnek sırası ve öğrenme oranı izlenen yolu etkileyebilir. Doğrusal ayrılabilir veri için farklı yollar yine ayıran bir sınıra ulaşabilir; fakat aynı ağırlıklara ulaşmaları gerekmez.
Bu sayısal örnek aynı zamanda özellik temsilinin gücünü gösterir. Model yalnızca kendisine verilen koordinatlarda çizgi çizebilir. Renk ve çap sorunu çözmüyorsa, doku gibi yeni bir özellik eklemek veriyi daha yüksek boyutlu bir uzaya taşır. Bazen “daha iyi algoritma” diye aradığımız şey aslında daha açıklayıcı bir ölçümdür. Makine öğrenmesinde temsil ile öğrenme kuralını birbirinden ayırmadan konuşmak bu yüzden yanıltıcıdır.
08 / Ne zaman gerçekten biter?
“Öğrenir” sözcüğünün küçük yazıları vardır.
Perceptron yakınsama teoremi güçlü ama koşullu bir vaattir. Eğitim verisi doğrusal olarak ayrılabiliyorsa, örneklerin uzunluğu sınırlıysa ve iki sınıfı ayıran sınırın etrafında pozitif bir marj varsa algoritma sonlu sayıda hatadan sonra ayıran bir çözüm bulur. Stanford ders notlarındaki standart biçimde hata sayısı, veri yarıçapı R ve marj γ için (R/γ)² ile sınırlandırılır.3
Marj, en yakın eğitim noktasının ayırıcı sınıra güvenli uzaklığıdır. Marj küçüldükçe problem daha kırılgan hale gelir ve hata sınırı büyür. Bu teorem, modelin görülmemiş her örneği doğru sınıflandıracağını söylemez; yalnızca belirli koşullarda eğitim örneklerini ayıran bir çözümün bulunacağını söyler. Cornell’in alıştırması da önemli ayrımı vurgular: algoritmanın bulduğu vektör, varsaydığımız ideal vektörün aynısı olmak zorunda değildir.4
Veri doğrusal ayrılabilir değilse klasik perceptron sürekli hata yapıp ağırlıkları oynatabilir. Gürültülü etiketler, çakışan sınıflar ve yetersiz özellikler bu durumu doğurur. Ayrıca perceptronun çıktısı olasılık değildir. Skorun büyük olması otomatik olarak “yüzde 97 emin” anlamına gelmez; bunun için ayrı bir olasılık modeli ve kalibrasyon gerekir.
09 / 1958’in büyük sorusu
Bu küçük algoritma neden bir dönüm noktasıydı?
Frank Rosenblatt, perceptronu 1957’de Cornell Aeronautical Laboratory’de teknik rapor olarak tanıttı; 1958 tarihli Psychological Review makalesi modeli bilgi depolama ve beynin örgütlenmesi üzerine olasılıksal bir yaklaşım olarak sundu.5 Bugün kullandığımız sade doğrusal sınıflandırıcı, Rosenblatt’ın farklı bağlantı düzenleri ve fiziksel makineler içeren daha geniş araştırma programının yalnızca bir kesitidir.
Cornell arşivinde Mark I Perceptron’un laboratuvar fotoğrafı korunuyor.6 Üniversitenin tarih anlatısına göre 1958’deki bir gösterimde IBM 704 üzerinde çalışan sistem, işaretlerin kartın solunda mı sağında mı olduğunu 50 deneme sonrasında ayırt etti.7 Bu, makinenin kendi hedefini seçtiği anlamına gelmiyordu; hedefi ve örnekleri insanlar vermişti. Yenilik, doğru eşlemeye giden ayarların tek tek elle yazılmamasıydı.
10 / Düz çizginin duvarı
Bazı dört nokta, bütün numarayı bozar.
XOR mantığında sonuç, iki girdiden yalnızca biri 1 olduğunda 1’dir. Noktaları bir karenin köşelerine koyarsan aynı sınıfa ait köşeler çaprazda kalır. Ne kadar döndürürsen döndür, tek bir doğru iki rengi bütünüyle ayıramaz. Sorun perceptronun yeterince uzun eğitilmemesi değil; temsil edebildiği karar ailesinin soruna yetmemesidir.
Marvin Minsky ve Seymour Papert’ın 1969 tarihli Perceptrons kitabı, belirli perceptron düzenlerinin ifade gücünü sistematik biçimde inceledi; MIT Press tanıtımı kitabın bazı yapılandırmalarda imkânsızlık sonuçları kanıtladığını ve aynı zamanda gelecekteki ilerleme olasılıklarını da tartıştığını belirtir.8 Tarihi “XOR bulundu ve sinir ağları bitti” diye tek cümleye sıkıştırmak yanıltıcıdır. Teknik sınır gerçekti; araştırma yönlerinin değişmesi ise finansman, hesaplama gücü, veri ve algoritmaların birlikte şekillendirdiği daha geniş bir süreçti.
Çözüm, doğrusal parçaları doğrusal olmayan dönüşümlerle katmanlamaktır. Bir katman veriyi yeniden temsil eder; sonraki katman yeni uzayda daha kolay bir sınır kurar. Modern derin ağlar perceptronun güncelleme kuralının büyütülmüş hali değildir: farklı aktivasyonlar, kayıp fonksiyonları ve geri yayılım kullanırlar. Fakat temel soru aynıdır: hangi parametre değişikliği hatayı azaltır? Deep Learning kitabı da perceptron ve ADALINE’ı modern derin öğrenmenin erken doğrusal öncülleri olarak konumlandırır.9
11 / “Makine öğrendi” derken
Daha doğru cümle, daha iyi düşünme sağlar.
Perceptron örneğinde “makine öğrendi” demek şunları gizleyebilir: Özellikleri insan seçti. Etiketleri insan verdi. Başarı ölçütünü insan belirledi. Algoritma ise bu çerçevede hatayı azaltan parametreleri buldu. Modelin yeteneği yalnızca güncelleme kuralından değil, ona hangi dünyanın sayılara dönüştürülerek gösterildiğinden gelir.
Bu yüzden eğitim başarısı ile gerçek dünya başarısını ayırmak gerekir. Eğitim noktalarını kusursuz ayıran çizgi, yeni noktalarda başarısız olabilir. Veri geçmişteki önyargıları taşıyorsa ağırlıklar bunları da öğrenebilir. Ölçmediğin bir özellik önemliyse model onu kendiliğinden icat edemez. “Öğrenme” sihirli bir özellik değil; veri, temsil, hedef ve optimizasyon arasındaki ilişkidir.
Yine de perceptronun fikri küçümsenecek kadar küçük değildir. Bir programın bütün karar kurallarını önceden saymak yerine, hatadan düzenli biçimde yön çıkarabileceğini gösterir. Bugünkü dev modellerin yanında bir çizgi kadar sade görünür; ama tam da bu sadelik, öğrenmenin mekanik çekirdeğini görünür kılar.
Aklında Kalsın
Üç fikir
Öğrenilen şey parametredir.
Perceptron, kavramın sözlü tanımını değil; özellikleri ağırlıklandıran w ve eşiği kaydıran b değerlerini öğrenir.
Hata bir yön işaretidir.
Yanlış sınıflanan her örnek, ağırlıkların hangi yönde düzeltilmesi gerektiğine dair sınırlı ama kullanışlı bilgi taşır.
Garanti koşulludur.
Yakınsama, verinin doğrusal ayrılabilir olması gibi varsayımlara bağlıdır; XOR tek bir doğrusal sınırın temsil sınırını gösterir.
Kendini Test Et
Çizgiyi gerçekten anladın mı?
Kaynaklar
Okuma ve doğrulama izi
- 01Lecture 3: The PerceptronCornell University · CS 4780 · 2018 · Üniversite ders notu
- 02The Perceptron AlgorithmStanford University · MS&E 317 / CS 263 · 2014 · Üniversite ders notu
- 03Perceptron mistake boundStanford University · 2014 · Yakınsama teoremi ve ispat özeti
- 04Perceptron convergence exerciseCornell University · CS 4780 · 2015 · Akademik ders materyali
- 05The perceptron: a probabilistic model for information storage and organization in the brainFrank Rosenblatt · Psychological Review 65(6), 386–408 · 1958 · DOI 10.1037/h0042519 · Özgün araştırma
- 06Mark I Perceptron at the Cornell Aeronautical LaboratoryCornell University Library · Division of Rare and Manuscript Collections · Arşiv kaydı
- 07Professor’s perceptron paved the way for AICornell University · 2019 · Kurumsal tarih yazısı
- 08Perceptrons: An Introduction to Computational GeometryMarvin Minsky & Seymour A. Papert · MIT Press · 1969 · Akademik monografi
- 09Deep Learning — IntroductionIan Goodfellow, Yoshua Bengio & Aaron Courville · MIT Press · 2016 · Akademik ders kitabı