İçeriğe geç

9.2 · Seviye 2 · Sinir Ağları ve Derin Öğrenme

Optimize ediciler

momentum ve Adam’ın sezgisi

Yapay Zekâ Akademisi — M09, Eğitimin Zanaatı · 2.429 kelime · 3 saha durumu · ≈ 11 dk okuma · 16 dk dinleme

Saha durumlarındaki kişiler ve kurumlar kurgusaldır; kaynaklar gerçektir. Belirli ürün ve modeller hakkındaki gözlemler yazıldıkları tarihte geçerlidir ve «Tarihli gözlem» etiketiyle yılı belirtilerek verilir. Yapay zekâ çıktıları doğrulanmadan karar dayanağı yapılmaz; dersler hukuki, tıbbi ya da mali danışmanlığın yerini tutmaz.

Açılış

Melis akşam kursundan iki ayar dosyası getirdi. İkisi de aynı hasar tutarı ağı içindi; ara katmanlarda ReLU, çıkışta aktivasyon yok, hedef binlik birimde. Ağın yapısı, veri ve dönem sayısı aynıydı. Değişen yalnız iki satırdı. Birinci dosyada "yöntem: SGD, oran: sıfır virgül sıfır bir" yazıyordu, ikincisinde "yöntem: Adam, oran: sıfır virgül sıfır sıfır bir".

Elif iki kayıp eğrisini ekranda alt alta açtı. Birincisi yavaş iniyordu ve testere dişi gibiydi: her birkaç adımda bir yükseliyor, sonra yeniden düşüyordu. İkincisi ilk dönemde dik bir yokuştan iner gibi inmiş, sonra yatay bir rafa oturmuştu. Kursun hocası ödev notuna bir cümle eklemişti: "İkincisi on kat küçük oranla on kat hızlı iniyor, neden?"

Melis bir şey daha fark etmişti. Ayrılmış doğrulama dosyalarında iki ağın sapması birbirine çok yakındı; birincisi biraz daha iyiydi bile.

"Kurstaki herkes ikinciyi seçti," dedi. "Eğri daha güzel."

Elif iki eğrinin altındaki doğrulama satırlarını işaretledi. "Hangisi daha iyi model veriyor, hangisi daha hızlı iniyor? Bunlar aynı soru mu?"

Tek fikir

Bir optimize edici gradyanı alıp adıma çevirmenin kuralıdır; momentum geçmiş adımların ortalamasıyla dar vadide hızlanır, Adam buna her ağırlık için ayrı bir ölçek ekler. Hangisinin daha hızlı indiği, hangisinin daha iyi genelleyen bir model bulduğundan ayrı bir sorudur.

Nasıl çalışır

Ders 4.6'daki gradyan inişi tek bir kural izliyordu: bu adımın gradyanını al, öğrenme oranıyla çarp, ayardan çıkar. Önceki adımlarda ne olduğu hiç hesaba girmiyordu. Bu kural tek seçenek değil.

Melis'in beş dosyasına dönelim: bir ile beş parça, otuz, kırk yedi, altmış sekiz, seksen üç ve yüz iki bin lira; a çarpı x artı b ailesi ve ortalama kare hata. 4.6'da bu yüzeyin uzun ve dar bir vadi olduğunu görmüştük. En dik yönde kıvrılma yirmi üç virgül altmış altı, en yassı yönde sıfır virgül üç yüz otuz sekizdir; aralarında yetmiş kat fark var. Dik yön oranın üst sınırını koyar, sıfır virgül sıfır sekiz yüz kırk beşin üstünde iniş ıraksar. Yassı yön ise yolculuğu uzatır: sıfır virgül sıfır ikilik oranla yirminci adımda kayıp bir virgül doksan sekize inmiş ama b hâlâ dokuz virgül doksan üçte kalmıştı.

İki yönde iki ayrı şey isteniyor. Dik yönde küçük adım, yassı yönde büyük adım. Tek bir oran ikisini birden veremez.

Yokuştan yuvarlanan bir bilye düşünelim. Bilye her an yalnız ayağının altındaki eğime bakmaz; önceki anlardan getirdiği hızı taşır. Vadinin yassı tabanında eğim hep aynı yönü gösterir, hız birikir ve bilye gittikçe hızlanır. Katsayı sıfır virgül dokuz iken aynı yönü gösteren gradyanlar on kata kadar büyüyen bir adım verir. Dik yamaçlarda ise eğim bir adımda sağı, öbür adımda solu gösterir; birbirini götüren gradyanlar hızda birikmez.

Bunu sayıyla görelim. İki yöntem de cetvelin çiftinden, yirmi ile ondan başlıyor ve ikisinde de oran sıfır virgül sıfır iki.

AdımDüz iniş: abkayıpMomentum: abkayıp
020,0010,0025,2020,0010,0025,20
119,369,848,5919,369,848,59
219,029,763,9718,459,622,69
318,849,732,6717,719,4612,96
418,749,722,3117,489,4618,51
1018,629,782,0918,7810,342,88
2018,579,931,9817,9711,132,14
5018,4710,311,7217,9612,191,21
10018,3310,801,4618,0011,981,20

İlk adım ikisinde aynıdır, çünkü henüz geçmiş yoktur. İkinci adımda momentum önceki gradyanı da taşıdığı için daha uzun yürür. Üçüncü adımda bir şey olur: gradyanın işareti döner, vadi tabanı geçilmiştir, ama hız hâlâ ileriyi gösterir. Bilye karşı yamaca tırmanır ve kayıp on iki virgül doksan altıya, bir sonraki adımda on sekiz virgül elli bire çıkar. Sonra geri döner. Kayıp sütunu ilk on adımda bir aşağı bir yukarı gider. Buna karşın b sütunu başka bir hikâye anlatır: elli adımda momentum on ikiye varmıştır, düz iniş ise on virgül otuz birdedir.

Momentum vadi boyunca hızlanır ama dik yöndeki salınımı tamamen yok etmez; ilk adımlarda tersine artırabilir de. Katsayı sönmenin ne kadar yavaş olduğunu belirler.

İkinci fikir başka bir yerden gelir. 4.6'nın ilk adımında a'nın eğimi otuz iki, b'ninki sekizdi. Düz iniş a'yı b'den dört kat fazla oynatır, çünkü adım eğimle orantılıdır. Ya her ağırlık kendi eğiminin tipik büyüklüğüne bölünseydi?

Adam'ın ilk adımında bu açıkça görülür. Oran sıfır virgül üç olsun. a'nın eğimi otuz iki, b'ninki sekiz olmasına rağmen ikisi de tam sıfır virgül üç kayar: a on dokuz virgül yetmişe, b dokuz virgül yetmişe. Eğimin büyüklüğü bölmede sadeleşmiş, yalnız işareti kalmıştır.

Sahada

Nerede yanılır

Melis'in iki eğrisine geri dönelim. Kurs arkadaşlarının ikinci dosyayı seçme gerekçesi eğrinin düzgünlüğüydü. Oysa eğitim kaybı, ağın eğitim dosyalarına ne kadar iyi uyduğunu ölçer. 6.1'de ezber ile genellemenin ayrı şeyler olduğunu görmüştük; burada aynı ayrım optimize edici seçimine taşınıyor. Hızlı inen bir yöntem, eğitim kaybını hızla küçülten bir noktaya varır. O noktanın yeni dosyalarda iyi çalışıp çalışmadığını kayıp eğrisi söylemez.

İki çalışmanın ayrıldığı yer, hangi tarafın haklı olduğundan çok neyin karşılaştırıldığıdır. Birinde iki yöntem eşit emekle ayarlanmıştır, ötekinde Adam'ın varsayılan bırakılan katsayıları da aranmıştır. Melis'in kurs ödevinde ise ikisi de ayarlanmamıştı.

Varsayılanlar ikinci tuzaktır. Adam'ı Melis'in beş dosyasında makalenin varsayılan oranıyla, sıfır virgül sıfır sıfır birle çalıştıralım. Dört yüz adım sonra kayıp hâlâ on iki virgül doksan altıdır; a on dokuz virgül altmış üç, b dokuz virgül altmış dörttür. b'nin on ikiye yerleşmesi sekiz binden fazla adım ister. Oran sıfır virgül üç olunca yetmiş bir adım yeter. Neden böyle olduğu Adam'ın tanımında yatar: adım yaklaşık oran kadardır ve bin liralık birimde ölçülen bir sabit terim için binde birlik adım çok kısadır. Varsayılan, makalenin denediği problemlerin ölçeğine göre seçilmiş bir öneridir.

Üçüncüsü momentumun kayıp eğrisidir. Tablodaki üçüncü ve dördüncü adımlarda kayıp yirmi beşten iki virgül altmış dokuza inip on sekiz virgül elliye çıktı. İlk on adıma bakıp "momentum bozuk" demek kolaydır. Ellinci adımda ise düz inişin dört yüz adımda bile ulaşamadığı yere varmıştır.

Uygulama

Momentumun ilk üç adımını Melis'in beş dosyasında elle atacak, aynı satırları 4.6'daki düz inişle karşılaştıracaksın. Bir hesap tablosu işini görür; kâğıtla da yürür, yalnız biraz uzun sürer.

  1. Beş dosyayı yaz: parça sayısı bir ile beş arası, ödenen tutar otuz, kırk yedi, altmış sekiz, seksen üç, yüz iki bin lira. Başlangıç çifti a yirmi, b on; iki hız sütunu sıfırla başlar.
  2. 4.6'daki yolla gradyanı hesapla: her dosyada tahminden gerçeği çıkar, a'nın eğimi için farkları parça sayısıyla çarpıp topla, beşe böl, ikiyle çarp; b'nin eğimi için farkları doğrudan topla, beşe böl, ikiyle çarp. Otuz iki ve sekiz bulmalısın.
  3. Her hızı sıfır virgül dokuzla çarp ve yeni eğimi ekle. Sonra her ayardan kendi hızının sıfır virgül sıfır ikiyle çarpımını çıkar. Kaybı hesapla.
  4. Yeni çiftte gradyanı yeniden hesapla ve üçüncü adımı iki adım daha tekrarla.
  5. Her satırda gradyanın ve hızın işaretini yan yana yaz. Hangi adımda gradyan eksiye döndü? O adımda a hangi yöne gitti?
  6. Aynı üç adımı hızsız, 4.6'daki gibi at ve kayıp sütunlarını karşılaştır.

Hesabın doğruysa ikinci adımda gradyan on altı virgül doksan altı ile üç virgül seksen dört, hız kırk beş virgül yetmiş altı ile on bir virgül sıfır dörttür; çift on sekiz virgül kırk beş ile dokuz virgül altmış ikiye gelir, kayıp iki virgül altmış dokuzdur. Üçüncü adımda gradyan eksi dört virgül elli ile eksi iki virgül sıfır dokuza döner, ama hız otuz altı virgül altmış dokuz ile yedi virgül seksen dört olarak artıda kalır. a on yedi virgül yetmiş bire iner, kayıp on iki virgül doksan altıya çıkar. Düz inişte aynı adımda kayıp iki virgül altmış yedidir.

Hesap tablosu kullanıyorsan satırları elli adıma çoğalt ve b sütununu iki yöntem için aynı grafikte çiz. Sonra katsayıyı sıfır virgül sekize indir: salınım küçülür, ellinci adımda b on bir virgül altmış ikidedir.

Defter: "İniş" sayfasına, 4.6'daki iki sütunun yanına üçüncü bir sütun olarak momentumun kaybını ve b'sini ekle; altına kaybın yükseldiği adımı ve o adımda b'nin hâlâ doğru yöne gidip gitmediğini bir cümleyle yaz.

Hata köşesi

Yaygın yanlış"Adam her zaman düz inişten iyidir."
Doğrusu

Adam ilk adımlarda çoğu zaman daha hızlı iner ve ağırlıkların ölçek farkına daha az duyarlıdır. Bu, bulduğu modelin yeni veride daha iyi olduğu anlamına gelmez; bu konudaki çalışmalar birbiriyle çelişiyor ve sonuç ayarların ne kadar arandığına bağlı. Karşılaştırma eşit ayar emeğiyle ve doğrulama dosyalarında yapılır.

Yaygın yanlış"Varsayılan değerler kanıtlanmış en iyi değerlerdir."
Doğrusu

Adam'ın makalesi onları denenen problemler için iyi varsayılanlar olarak sunar. Melis'in dosyalarında aynı oran sekiz bin adım ister. Varsayılan bir başlangıç noktasıdır; kendi verinde kayıp eğrisine ve doğrulama sonucuna bakılarak değiştirilir ve neden değiştirildiği yazılır.

Sorumluluk

Optimize edici bir modelin hangi ağırlıklara varacağını değiştirir; aynı veri ve aynı ağ farklı yöntemle farklı karşılık tutarları verebilir. Bu yüzden seçim bir zevk meselesi değil, kayda geçen bir karardır. Elif model belgesinin 4.6'da eklediği eğitim satırına optimize ediciyi, katsayılarını ve kaç ayarın denendiğini ekledi. Karar eğitimi kuran kişidedir, ama gerekçesi doğrulama dosyalarından gelir, kayıp eğrisinin güzelliğinden değil. Yöntem değiştiğinde sonucu ayrı dosyalarla yeniden doğrulamak da ondan sorumludur, çünkü yanlış bir karşılığın bedelini poliçe sahibi öder.

Kapanış

  1. Optimize edici gradyanı adıma çevirir; momentum geçmiş gradyanları biriktirip dar vadinin yassı tabanında hızlanır, Adam buna her ağırlık için kendi gradyan büyüklüğüne göre ölçek ekler.
  2. Varsayılan değerler bir öneridir; Adam'ın binde birlik oranı Melis'in beş dosyasında sekiz bin adım isterken uygun bir oranla yetmiş bir adım yeter.
  3. Daha hızlı inmek daha iyi genellemek demek değildir; optimize ediciler doğrulama dosyalarında, eşit ayar emeğiyle karşılaştırılır ve seçim kayda geçer.

Üç soru

  1. Momentumun kaybı üçüncü adımda neden on iki virgül doksan altıya çıktı, ve bu neden yöntemin bozuk olduğunu göstermez?
  2. Adam'ın ilk adımında a'nın eğimi b'ninkinin dört katıyken iki ayar neden aynı miktarda kaydı?
  3. Elif'in sorusuna dön: hangisinin daha hızlı indiğini ve hangisinin daha iyi model verdiğini ölçmek için hangi iki ayrı şeye bakılır?

Yanıtlar

  1. Üçüncü adımda gradyanın işareti dönmüştü, yani vadi tabanı geçilmişti, ama biriken hız hâlâ ileriyi gösteriyordu; ağırlıklar karşı yamaca taşındı. Hız sönerek döner ve b vadi boyunca on ikiye doğru ilerlemeyi sürdürür: elli adımda momentum on ikiye varırken düz iniş on virgül otuz birdedir.
  2. Adam her ağırlığın adımını o ağırlığın gradyan büyüklüğünün yürüyen ortalamasına böler. İlk adımda bu ortalama gradyanın kendisidir, bölme büyüklüğü sadeleştirir ve geriye yalnız işaret kalır. İki eğim de artı olduğu için ikisi de oran kadar, sıfır virgül üç azalır.
  3. Hız için eğitim kaybının kaç adımda ya da ne kadar sürede belli bir düzeye indiğine bakılır. Model kalitesi için eğitimde kullanılmamış doğrulama dosyalarındaki sapmaya bakılır. Melis'in iki ağında birincisi hızda geride, doğrulamada ise biraz öndeydi; iki soru farklı cevap verebilir.

Sonraki derse köprü

Bu dersteki her iniş aynı yerden, eski cetvelin yirmi ile onundan başladı. Melis'in iki ayarlı modelinde başlangıç noktasını bir insan seçmişti ve kötü bir seçim yalnız yolu uzatıyordu. Binlerce ağırlıklı derin bir ağda başlangıç rastgele çekilir ve kötü çekilmiş bir başlangıçta sinyaller daha ilk geçişte sönebilir ya da patlayabilir. Sutskever ve arkadaşları, iyi başlatılmamış ağların momentumla da eğitilemediğini yazmıştı. Ders 9.3, Başlatma ve normalizasyon, eğitimin baştan bozulmaması için ağırlıkların nereden başlatıldığını ve katmanlar arasında akan sayıların nasıl makul aralıkta tutulduğunu konu ediyor.

Anlamadığın bir yer mi var?

Mentor yalnız bu dersin metnine dayanarak cevap verir. Metinde geçmeyen bir şey sorarsan uydurmaz, geçmediğini söyler.