9.1 · Seviye 2 · Sinir Ağları ve Derin Öğrenme
Mini yığın ve dönem
verinin modele parça parça verilmesi
Yapay Zekâ Akademisi — M09, Eğitimin Zanaatı · 2.586 kelime · 3 saha durumu · ≈ 12 dk okuma · 17 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ış
Onur destek kutusu süzgecini baştan eğitmek için bir sabah iki yılın arşivini açtı. Fırının faturası istenmeyenlere düştükten sonra verdiği karar yerindeydi: tek iletiyle anında düzeltme yapılmayacak, düzeltilecekler birikecek ve süzgeç topluca yeniden eğitilecekti. Burcu ile destek ekibinin "istenmeyen" ya da "değil" diye işaretlediği iletiler on iki bini bulmuştu.
İlk denemede her güncellemeden önce arşivin tamamını dolaştı. On iki bin iletinin her biri için ileri geçiş, geri geçiş, sonra bütün eğimlerin ortalaması ve ancak ondan sonra tek bir adım. Kayıp sütunu pürüzsüz iniyordu, ama her yeni satır bütün arşivi bekliyordu. Dizüstü bilgisayarın belleği de sınırına dayanmıştı.
İkinci denemede her iletiden hemen sonra güncelledi. Bu kez satırlar akıp gitti, ama sütun testere dişine döndü. Bir fatura iletisinden sonra kayıp iniyor, ardından gelen bir kargo taklidiyle fırlıyor, bir sonrakinde yine iniyordu.
Ertesi sabah Selim iki kaydı ekranda alt alta gördü. "Biri ağır ağır yürüyor, öteki sendeliyor," dedi. "Arası yok mu? Bir de şu: arşivi kaç kez baştan dolaşacak?"
Onur ayar dosyasına baktı. İki satır boş duruyordu: yığın boyu ve tur sayısı. İkisini de ona kimse söylemeyecekti.
Tek fikir
Gradyan, her adımda bütün veriden değil, rastgele seçilmiş küçük bir parçadan tahmin edilebilir. Parça küçüldükçe adım ucuzlar ama gürültülenir; verinin tamamından kaç kez geçileceği ise ayrı bir karardır.
Nasıl çalışır
Ders 4.6'da Melis'in beş dosyasında gradyan inişini elle yürütürken her adımda beş dosyanın hepsinin farklarından eğim hesaplamıştık. Ders 8.4'te ise Onur'un ağı tek bir iletiden bir adım attı; bunlar aynı yöntemin iki ucuydu.
Gradyan, eğitim verisindeki bütün örneklerin eğimlerinin ortalamasıdır. Rastgele seçilen bir örneğin eğimi bu ortalamayı tutturmaz, ama ortalamada ona eşittir.
Orta yol, on iki bin iletiyi otuz ikişerlik paketlere bölüp her paketin ortalama eğimiyle bir adım atmaktır.
Ders 2.5'te iki bin on iki yılının görüntü tanıma ağının bir virgül iki milyon fotoğrafın üzerinden yaklaşık doksan kez geçtiğini görmüştük. O doksan tur, doksan dönemdir.
Şimdi farkı Melis'in beş dosyasında sayıyla görelim. Bir parçalı dosyada otuz, iki parçalıda kırk yedi, üç parçalıda altmış sekiz, dört parçalıda seksen üç, beş parçalıda yüz iki bin lira ödenmişti. Model yine a çarpı parça sayısı artı b. Başlangıç eski cetvelin yirmi ile onu, kayıp beş dosyanın ortalama kare hatası, öğrenme oranı sıfır virgül sıfır iki. Üç yolu karşılaştıracağız: tam yığın, yani her adımda beş dosya; tek örnek; ve ikilik mini yığın. Bu iki yolda sıra her dönem sabit bir tohumla karıştırıldı ki sonuç yeniden üretilebilsin: birinci dönemde sıra üç, dört, beş, bir, iki; ikinci dönemde bir, üç, iki, beş, dört. İkilik yığında beş dosya ikiye tam bölünmediği için her dönemin son yığınında tek dosya kalır. Kayıp her adımdan sonra beş dosyanın hepsiyle ölçüldü.
| Adım | Tam yığın | Tek örnek | İkilik yığın |
|---|---|---|---|
| 0 | 25,20 | 25,20 | 25,20 |
| 1 | 8,59 | 17,64 | 7,85 |
| 2 | 3,97 | 2,51 | 2,99 |
| 3 | 2,67 | 2,62 | 2,73 |
| 4 | 2,31 | 2,26 | 3,68 |
| 5 | 2,19 | 2,21 | 2,19 |
Tablo adım saydığı için hesap yükünü gizler. Beş dosyalık iş, tam yığında tek bir adım alır ve kaybı sekiz virgül elli dokuza indirir. Aynı iş tek örnekte bir dönem eder, beş adım atılır ve kayıp iki virgül yirmi bire iner. İkilik yığında bir dönem üç adımdır; kayıp iki virgül yetmiş üç.
Bedeli ikinci dönemde görünür. Tek örnekli yolda kayıp iki virgül on birden üç virgül yirmi bire fırlar, sonra iki virgül seksen ikiye, iki virgül kırk sekize ve iki virgül doksana gider. Her dosya modeli kendi yönüne çeker; Onur'un testere dişi buydu. Tam yığının kaybı ise hiç geri tırmanmaz.
Küçülen oran, yöntemin yetmiş beş yıllık sorusuna değiyor: gürültülü adımlarla bir yere oturmak için adımlar nasıl küçülmeli?
Bugün stokastik gradyan inişinin yakınsama sonuçları aynı iki koşulu ister: adım boylarının toplamı sonsuz olmalı ki model ne kadar uzaktan başlarsa başlasın dibe yürüyebilsin; karelerinin toplamı sonlu olmalı ki gürültünün itişleri sonunda sönsün.
Veri büyüdüğünde her adımda bütün veriyi okumak, gerekmeyen bir kesinliğe hesap ödemektir. On iki bin iletinin binlercesi birbirine benzer; otuz iki iletilik bir yığın, arşivin göstereceği yönü çoğu zaman yeterince iyi gösterir.
Mini yığını tek örneğe tercih ettiren paralelliktir: Ders 2.5'te tanıdığımız grafik işlemci otuz iki iletinin ileri ve geri geçişini aynı anda yapar, otuz iki ayrı adım ise sırayla atılır. Tam yığından uzak tutan da bellektir: geri geçiş ileri geçişin ara sonuçlarını saklar ve bu yük yığındaki örnek sayısıyla büyür. Onur'un dizüstü bilgisayarını zorlayan buydu.
Adım sayısı bir çarpmadır. On iki bin ileti otuz ikilik yığınlarla dönem başına üç yüz yetmiş beş adım eder. Yığın altmış dörde çıkınca bölüm yüz seksen yedi buçuktur; son yığında otuz iki ileti kalır, dönem yüz seksen sekiz adımdır. Yirmi dönem otuz ikilik yığınla yedi bin beş yüz adım, altmış dörtlükle üç bin yedi yüz altmış adım eder.
Bir ayrıntı daha. Dönem başında örnekler yeniden karıştırılır. Karıştırılmazsa her dönem aynı yığınları aynı sırayla görür; veri bir sıraya göre dizilmişse, her dönemin sonunda model hep aynı türden örneklere doğru çekilir.
Sahada
Nerede yanılır
Mini yığınla eğitilen bir modelin kayıp kaydı iki ayrı sayı taşıyabilir ve ikisi kolayca karışır. Biri adımda kullanılan yığının kaybıdır; her satırda başka iletiler olduğu için oynaktır. Öteki bütün eğitim verisinin ya da ayrılmış doğrulama verisinin kaybıdır; ancak arada bir hesaplanır. Onur tek bir kötü satırdan "eğitim bozuldu" sonucunu çıkarabilir; oysa o satır, kargo taklitlerinin denk geldiği bir yığın olabilir. Tersine, yığın kayıplarının ortalaması inmeyi sürdürürken doğrulama kaybı çoktan düşmeyi bırakmış olabilir.
İkinci tuzak karşılaştırmadadır. Selim'in bir meslektaşı otuz ikilik yığınla on dönemde iyi bir sonuç almış, aynı ayarlarla yığını iki yüz elli altıya çıkarıp "daha hızlı oldu ama daha kötü öğrendi" demiş olsun. Yığın sekiz kat büyüyünce dönem başına adım sayısı sekizde birine iner. On dönemde üç bin yedi yüz elli adım yerine dört yüz yetmiş adım atılmıştır ve öğrenme oranı değişmediyse model çok daha kısa bir yol yürümüştür. Kötü öğrenen yığın boyu değil, eşit tutulmayan adım sayısıdır. Yığın boyu değişince öğrenme oranı ve dönem sayısı da yeniden sınanmadan "yığın boyunun etkisi" diye bir sonuç yazılamaz.
Üçüncüsü son yığındır. On iki bin ileti altmış dörtlük yığınlara bölününce son yığında otuz iki ileti kalır; Seda Hanım'ın satıcısında son yığın sekiz hastaydı. Küçük son yığın daha gürültülü bir adım atar. Bazı eğitim kodları bu yığını atar, bazıları tutar. Hangisinin yapıldığı kayda girmezse aynı ayarlarla aynı sonuç yeniden üretilemez.
Uygulama
Kâğıt, kalem ve hesap makinesiyle Melis'in beş dosyasında ikilik mini yığınla bir dönemi elle yürüteceksin. Her adımda yalnız yığındaki dosyalara bakacak, kaybı ise beş dosyanın hepsiyle ölçeceksin.
- Başlangıç a eşittir yirmi, b eşittir on; öğrenme oranı sıfır virgül sıfır iki. Dosyalar: bir parça otuz, iki parça kırk yedi, üç parça altmış sekiz, dört parça seksen üç, beş parça yüz iki.
- Bu dönemin karıştırılmış sırası üç, dört, beş, bir, iki. Yığınlar: birinci yığın üç ve dört numaralı dosyalar, ikinci yığın beş ve bir, üçüncü yığın yalnız iki.
- Birinci yığında her dosya için tahmin eksi gerçek farkını bul. a'nın eğimi, her farkın parça sayısıyla çarpımının yığındaki ortalamasının iki katıdır; b'nin eğimi farkların ortalamasının iki katıdır.
- a'dan, eğiminin sıfır virgül sıfır iki katını; b'den de kendi eğiminin sıfır virgül sıfır iki katını çıkar. Yeni a ve b ile beş dosyanın hepsinde ortalama kare hatayı hesapla.
- Aynı işi ikinci ve üçüncü yığınla, her seferinde bir önceki adımın a ve b'sinden başlayarak tekrarla. Üç adımın a, b ve kayıp değerlerini bir tabloya yaz.
- Dönem sonundaki kaybı, Ders 4.6'daki tam yığının ilk adımından sonraki sekiz virgül elli dokuzla karşılaştır. İki yolun da beş dosyaya birer kez baktığını not et.
- Son olarak Onur'un arşivi için hesapla: on iki bin ileti, altmış dörtlük yığın, yirmi dönem. Dönem başına kaç adım, toplam kaç adım eder, son yığında kaç ileti kalır?
Hesap doğru gittiyse birinci yığının farkları iki ile yedidir; a'nın eğimi otuz dört, b'ninki dokuz çıkar ve adımdan sonra a on dokuz virgül otuz iki, b dokuz virgül seksen iki, kayıp yedi virgül seksen beş olur. İkinci adımdan sonra kayıp iki virgül doksan dokuz, üçüncüden sonra iki virgül yetmiş üçtür; a on sekiz virgül seksen beşe, b dokuz virgül yetmiş üçe varır. Onur'un arşivi dönem başına yüz seksen sekiz adım, yirmi dönemde üç bin yedi yüz altmış adım eder ve son yığında otuz iki ileti kalır.
Defter: "Geçiş ve adım" adlı bir sayfa aç; üç adımın tablosunu ve Onur'un arşivinin hesabını oraya geçir. Altına, aynı eğitimi bir ay sonra birebir yeniden üretmek isteseydin ayar dosyasında hangi dört bilginin yazılı olması gerektiğini sırala.
Hata köşesi
Yaygın yanlış"Bir dönem bir adımdır."
Bir adım tek bir yığından atılan güncellemedir; dönem ise verinin tamamından bir geçiştir. Tam yığında ikisi çakışır, ama on iki bin iletiyi otuz ikilik yığınlarla işleyen bir eğitimde bir dönem üç yüz yetmiş beş adımdır. Raporda yalnız "on dönem" yazıyorsa yığın boyu bilinmeden kaç adım atıldığı bilinemez.
Yaygın yanlış"Tam yığın her zaman daha doğrudur, mini yığın bir taviz."
Tam yığın her adımda eğitim verisinin tam eğimini verir; ama aynı hesap yüküyle çok daha az adım atar ve büyük veride çoğu zaman aynı noktaya daha geç varır. Bottou'nun deneyinde stokastik yol, aynı test hatasına diğer yöntemlerden çok daha kısa sürede ulaştı. Üstelik eğitim verisinin kaybını en sona kadar indirmek asıl hedef değildir; asıl hedef görülmemiş verideki hatadır.
Sorumluluk
Yığın boyunu, dönem sayısını ve karıştırma tohumunu yazılım seçmez; varsayılan değeri kabul etmek de bir karardır. Onur süzgecin yeni sürümünü kurarken bu üç ayarı, son yığının atılıp atılmadığını ve öğrenme oranını eğitim kaydına yazmaktan sorumludur. "Kaç dönem?" sorusunun cevabını eğitim kaybı vermez; Burcu'nun etiketleyip eğitimden ayırdığı iletilerdeki hata verir ve hangi dönemde durulduğu o sayıyla doğrulanır. Yanlış süzülen bir fatura iletisinin bedelini, süzgecin hangi ayarla eğitildiğini bilmeyen fırın öder.
Kapanış
- Gradyan bütün veriden, tek örnekten ya da bir mini yığından tahmin edilebilir; tahmin ucuzladıkça gürültülenir, mini yığın hesap yükü, gürültü, bellek ve paralellik arasında bir denge kurar.
- Dönem verinin tamamından bir geçiştir; dönem başına adım, örnek sayısının yığın boyuna bölümüdür ve kalan son yığın da bir adım sayılır; her dönem başında örnekler karıştırılır.
- Sabit oranla gürültülü adımlar dibin çevresinde dolaşır; adımların küçülmesi, yığın boyu, dönem sayısı ve tohum insanın seçtiği ve kayda geçirmesi gereken ayarlardır.
Üç soru
- Melis'in beş dosyasında aynı beş dosyalık hesap yüküyle tam yığın kaybı sekiz virgül elli dokuza, tek örnekli yol iki virgül yirmi bire indirdi. Tek örnekli yol daha az bilgiyle nasıl daha hızlı indi?
- Bir meslektaş yığın boyunu otuz ikiden iki yüz elli altıya çıkarıp dönem sayısını ve öğrenme oranını aynı bıraktı, sonuç kötüleşti. Bu sonuçtan "büyük yığın kötüdür" denebilir mi?
- Robbins ve Monro neden adım katsayılarının kareleri toplamının sonlu olmasını istiyor ve bu, dersin hesabındaki sabit oranlı tek örnekli yolda neye karşılık geliyor?
Yanıtlar
- Tam yığın beş dosyanın eğimini ortalayıp tek bir adım attı; tek örnekli yol aynı beş dosyayla beş adım attı. Her adımın yönü gürültülüydü, ama çoğu doğru tarafa bakıyordu ve beş kısa adım, aynı yükteki tek adımdan daha uzağa vardı. Bedeli ikinci dönemde görülen zikzaktır.
- Denemez. Yığın sekiz kat büyüyünce on dönemdeki adım sayısı üç bin yedi yüz elliden dört yüz yetmişe iner; öğrenme oranı da değişmediyse model çok daha kısa yol yürümüştür. Yığın boyunun etkisini görmek için adım sayısı ya da oran yeniden ayarlanıp ayrılmış veride karşılaştırılmalıdır.
- Kareler toplamı sonlu olursa adımlar zamanla küçülür ve gürültünün itişleri sonunda söner. Dersin sabit oranlı yolunda bu koşul sağlanmıyordu: kayıp yüzüncü dönemden sonra bile bir virgül yirmi ile iki arasında gidip geldi. Oran dönemden döneme küçültülünce kayıp on yedinci dönemden sonra bir daha yükselmedi.
Sonraki derse köprü
Onur'un testere dişi yalnız gürültüden gelmiyordu: bazı yönlerde adımlar dönemden döneme aynı tarafa itiyor, bazılarında sağa sola savruluyordu. Ders 9.2, Optimize ediciler, bu ikisini ayırmanın sezgisini konuşuyor: adımlara geçmiş adımların yönünü hatırlatmak savrulmayı söndürür mü, ve her ayar kendi adım boyunu alabilir mi?
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.