İçeriğe geç

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

Tekrarlayan ağlar

belleği olan ağ ve uzun bağımlılık sorunu

Yapay Zekâ Akademisi — M11, Sıralı Veri ve Ses · 2.604 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ış

Masanın üstünde ters çevrilmiş otuz kart duruyordu. Her kartta tek bir harf vardı: A, T, G ya da C. Zeynep Hanım protein sentezi ünitesini bir oyunla açmak istemişti.

On öğrenci sıraya dizildi. Kurallar tahtadaydı. Her öğrenci sırası gelince üç kart açar, harflere bakar ve küçük bir kâğıda en fazla üç kelimelik bir not yazar. Kartlar yeniden kapanır, not bir sonraki öğrenciye geçer. Kimse geriye dönüp eski kartlara bakamaz. Sondaki öğrenci, elindeki son notla bir soruya cevap verecekti.

Berk ilk üç kartı açtı: A, T, G. Nota "ATG, başlangıç kodonu" yazdı.

Notlar elden ele geçti. Dördüncü öğrenci "başlangıç var, çok G" yazdı. Altıncı öğrenci kendi kartlarında art arda dört C görünce notu baştan yazdı: "GC çok, A az". Sekizinci sıradaki Mert'e gelen not "GC çok, T yok" idi.

Sonda Elçin vardı. Zeynep Hanım iki soru sordu. Son üç harf neydi? Elçin hiç duraksamadan söyledi, doğruydu. Dizi bir başlangıç kodonuyla mı başlıyordu? Elçin elindeki kâğıda baktı. Kâğıtta başlangıçtan söz eden bir şey kalmamıştı.

Doruk sıranın ortasından itiraz etti. "Bilgi kaybolmadı, biz sildik. Ama silmesek nota yer kalmıyordu."

Elçin ikinci tur için bir öneri getirdi: notun üstüne ayrı bir satır açılsın, oraya yazılan şeye kimse dokunmasın, alttaki satır her seferinde değişebilsin. Mert hemen sordu: "Üst satıra neyin yazılacağına kim karar verecek?"

Zeynep Hanım soruyu tahtanın köşesine yazdı.

Tek fikir

Tekrarlayan ağ bir diziyi adım adım okur ve geçmişi tek bir sabit boyutlu notta taşır. Her adımda yeniden yazılan bu not uzaktaki bilgiyi kolayca kaybeder; uzun kısa süreli bellek, neyin korunacağını öğrenen kapılarla bu kaybı azaltır.

Nasıl çalışır

Modül 8 ve 10'daki ağlar bir girdiyi bir kerede alır: bir tablo satırı, bir fotoğraf. Bir cümle, bir kalp ritmi ya da bir DNA dizisi ise sırayla gelir ve anlamı sıraya bağlıdır. "Köpek adamı ısırdı" ile "adam köpeği ısırdı" aynı kelimelerden oluşur. Diziyi tek seferde vermek yerine, onu oyundaki öğrenciler gibi parça parça okumak mümkündür.

Geri verilen şeyin bir adı var.

Bir adımda olan şey sözle şöyle söylenebilir: yeni gelen öğe bir ağırlıkla, önceki gizli durum başka bir ağırlıkla çarpılır, ikisi toplanır, toplam bir aktivasyon fonksiyonundan geçer; çıkan sayı yeni gizli durumdur. Oyundaki not gizli durumdu. Üç kelime sınırı, gizli durumun sabit boyutuydu. Her öğrencinin aynı kurallarla not yazması da her adımda aynı ağırlıkların kullanılmasına karşılık gelir.

Bir kelimenin içi kısa bir mesafedir. Oyundaki asıl soru başka bir şeydi.

Bunu bir hesapla görelim. Tek birimli bir tekrarlayan ağ düşün. Aktivasyon fonksiyonu yok, gizli durum yalnız önceki durumun bir ağırlıkla çarpılıp yeni girdiye eklenmesinden oluşuyor. İlk adımda girdi bir, sonraki on adımda sıfır. Ağırlık sıfır virgül beşse durum her adımda yarıya iner: bir, yarım, çeyrek, sekizde bir. On adım sonra kalan, yarımın onuncu kuvvetidir, yaklaşık binde bir. Ağırlık bir virgül beşse durum her adımda bir buçuk katına çıkar: on adım sonra elli yedi virgül altmış yedi. Ağırlık tam birse durum bir olarak kalır.

Ağırlık1. adım3. adım6. adım11. adım
0,510,250,0310,00098
1,01111
1,512,257,5957,67

Ders 9.3'te aynı çarpımı katmanlar boyunca yapmış, kaybolan ve patlayan gradyanı orada adlandırmıştık. Burada katman yok; on bir adımlık zaman var. Ağı zaman boyunca açınca, her adımda aynı ağırlığı kullanan on bir katmanlı bir zincir çıkar. Geri yayılım son adımdaki hatayı ilk adıma taşırken aynı ağırlıktan on kez geçer, bu yüzden ilk girdiye ulaşan eğim de ağırlığın onuncu kuvvetidir. Tekrarlayan ağda bütün halkalarda aynı sayı vardır; çarpım ya düzenli olarak söner ya düzenli olarak büyür.

Ağırlık tam bir olsa sorun çözülür mü? Gerçek birimlerde aktivasyon fonksiyonu vardır. Aynı tek birime hiperbolik tanjant ekleyip ağırlığı bir virgül beş yapalım. Şimdi durum patlamaz; sıfır virgül seksen altı civarında durur. İlk girdi eksi bir olsaydı eksi sıfır virgül seksen altıda dururdu. Birim, işareti on adım boyunca saklamıştır. Ama eğim başka bir yol izler: her adımda ağırlık, tanjantın o noktadaki eğimiyle çarpılır; bu çarpım ilk adımlarda sıfır virgül beş civarındadır, durum oturunca yaklaşık sıfır virgül otuz dokuza iner. On adım geriye ulaşan eğim, on binde bir buçuğa yakındır. Birim bilgiyi tutar, ama o bilgiyi oraya ilk adımda neyin koyduğunu öğrenemez.

Elçin'in ikinci tur önerisi, bu ikilemin bilinen çözümlerinden birine çok yakındır.

Kilit fikir toplamadır. Hücrenin yeni değeri, eski değeri artı giriş kapısının izin verdiği kadar yeni bilgidir. Giriş kapısı kapalıysa hücre değişmez, ve eski değerden yeni değere geçişin eğimi tam birdir. On adım da geçse, bin adım da geçse eğim bir kalır. Yazarlar buna sabit hata döngüsü adını verir. Elçin'in üst satırı bu hücreydi. Mert'in sorusunun cevabı da yapının içinde: kapıların ne zaman açılacağı, ağırlıklar gibi eğitimle öğrenilir.

Sahada

Nerede yanılır

Tekrarlayan bir ağın hatası çoğu zaman ortalamada görünmez. Gündelik dizilerin çoğunda cevabı belirleyen bilgi yakındadır: bir cümlede bir sonraki kelimeyi en çok son iki üç kelime belirler, bir makinenin bir sonraki dakikasını en çok son dakikası. Ağ yakın bilgiyi iyi kullanınca toplam başarı yüksek çıkar. Uzak bilgiye gerçekten ihtiyaç duyulan az sayıdaki örnek, ortalamanın içinde kaybolur. Yalnız son üç harf sorulsaydı, oyundaki not sistemi kusursuz görünürdü.

Bu yüzden asıl sınama, cevabı belirleyen bilgi ile cevabın istendiği yer arasındaki mesafeye göre yapılır. Onur başvuruları uzunluğa göre, Elif müşterileri son hasarın yaşına göre ayırdı. Mesafe arttıkça başarının düştüğü bir eğri, ağın uzun menzilli bağımlılığı tutamadığını gösterir; düz bir eğri, en azından o mesafeye kadar tuttuğunu.

Uzun kısa süreli bellek bu eğriyi düzleştirir, kaldırmaz. Hücre ancak kapı açıldığında yazar; kapının ne zaman açılacağı eğitim verisinden öğrenilir. Eğitimdeki dizilerde uzak bilgi nadiren işe yarıyorsa kapı onu saklamayı öğrenmeyebilir. Gizli durumun boyutu da sabittir: dizide aynı anda saklanması gereken bilgi çoğaldıkça hücreler dolar. Modül 12 ve 13'te ele alacağımız dönüştürücü, uzak bilgiyi bir notta taşımak yerine ona başka bir yoldan ulaşır; o yolun kendi bedelleri de orada konuşulacak.

Patlayan eğimin belirtisi ise daha gürültülüdür. Kayıp birden sıçrar ya da sayılar tanımsız hâle gelir. Uygulamada eğimin büyüklüğü belli bir sınırın üstüne çıkınca kırpılır; bu eğitimi kurtarır ama ağa uzak bilgiyi kullanmayı öğretmez.

Uygulama

Tek birimli tekrarlayan ağı bir hesap tablosunda işletecek, sonra uzaklığa göre bir sınama tasarlayacaksın.

  1. Hesap tablosunda A sütununa adım numaralarını yaz, birden on bire kadar. B sütunu girdi olsun: ilk satırda bir, ötekilerde sıfır.
  2. C sütunu gizli durum. İlk satıra girdiyi yaz. İkinci satırdan itibaren her hücre, bir üstündeki gizli durumun sıfır virgül beşle çarpımı artı o satırdaki girdi olsun.
  3. Aynı hesabı D sütununda bir virgül beşle, E sütununda tam birle tekrarla. On birinci satırda üç sayıyı oku.
  4. F sütununa tanjantlı birimi kur: her hücrede, bir üstündeki durumun bir virgül beşle çarpımına o satırın girdisini ekle ve toplamın hiperbolik tanjantını al. Tablolar bu fonksiyonu tanır. Son satırı oku, sonra ilk girdiyi eksi bir yapıp yeniden oku.
  5. G sütununa her adımın yerel eğimini yaz: bir virgül beş çarpı bir eksi o satırdaki durumun karesi. İkinciden on birinci satıra kadar bu on sayıyı çarp.
  6. Şimdi kâğıda dön. Bir sınıflandırıcının, bir metnin ilk cümlesindeki tek bir bilgiye dayanması gereken bir görev seç: bir dilekçenin konusu, bir tarifin hangi yemeğe ait olduğu, bir maçın anlatımında hangi takımın gol attığı. Aynı bilgiyi koruyup araya beş, yirmi ve elli kelimelik ilgisiz metin koyarak üç sürüm yaz.

Üçüncü adımda on birinci satır yaklaşık binde bir, elli yedi virgül altmış yedi ve bir olmalı. Dördüncü adımda tanjantlı birim sıfır virgül seksen altı civarında durur; girdi eksi bir olunca işaret ters döner. Beşinci adımdaki çarpım on binde bir buçuğa yakındır: durum bilgiyi tuttu, eğim onu bulamadı. Altıncı adımın üç sürümünü bir sohbet asistanına ya da bir arkadaşına verip konuyu sorabilirsin; asıl iş, mesafe arttıkça neyin değiştiğini kaydetmektir.

Defter: "Ne kadar geriye?" sayfasına üç ağırlığın on birinci adımdaki değerlerini ve tanjantlı birimin eğim çarpımını yaz. Altına altıncı adımdaki üç sürümü ve her birinde alınan cevabı not et, sonra şu cümleyi tamamla: uzak bilgi, bu görevde ancak … kelimeye kadar taşındı.

Hata köşesi

Yaygın yanlış"Tekrarlayan ağ her adımı okuduğuna göre bütün diziyi hatırlar."
Doğrusu

Ağ diziyi okur ama sabit boyutlu bir gizli durumda taşır. Bin harflik bir dizi de birkaç yüz sayıya sıkıştırılır ve her adımda o sayılar yeniden yazılır.

Yaygın yanlış"Ağırlığı tam bir yaparsak hiçbir şey kaybolmaz, sorun biter."
Doğrusu

Doğrusal birimde ağırlık bir olunca bilgi kaybolmaz, ama her yeni girdi de üstüne eklenir; gürültü birikir ve birim neyi unutacağını seçemez. Aktivasyon fonksiyonu eklenince eğim yine her adımda birden küçük bir sayıyla çarpılır. Uzun kısa süreli bellekte eğimi bir tutan şey, toplamayla taşınan ayrı hücre ve ona erişimi denetleyen kapılardır.

Yaygın yanlış"Uzun kısa süreli bellek uzun bağımlılık sorununu kesin olarak çözdü."
Doğrusu

Yapay görevlerde yüz ve bin adımlık gecikmeleri aştı; bu, her gerçek dizide her uzaklığı tutacağı anlamına gelmez. Kapılar eğitim verisinden öğrenilir ve hücre sayısı sınırlıdır.

Sorumluluk

Oyunda bilgiyi kaybeden ne harflerdi ne de Elçin; notu yazanlar neyi sileceklerine karar vermişti. Tekrarlayan bir modelde bu kararı eğitim verir, ama modeli kullanmaya kimin karar verdiği değişmez. Onur'un başvuru sınıflandırıcısı uzun dilekçeleri yanlış müdürlüğe gönderiyorsa, en uzun derdi anlatan vatandaşın işi gecikir. Uzaklığa göre sınamayı istemek, sonuçları bu gruplarda ayrıca doğrulamak ve model bir mesafeden sonra güvenilmez çıkıyorsa o başvuruları bir memura aktarma kuralını yazmak, sistemi devreye alanların sorumluluğundadır.

Kapanış

  1. Tekrarlayan sinir ağı bir diziyi adım adım, her adımda aynı ağırlıklarla okur ve geçmişi sabit boyutlu bir gizli durumda taşır.
  2. Uzak bir adıma geri dönen eğim aynı ağırlıktan defalarca geçer; çarpım ya söner ya patlar, ve bilgiyi sağlam saklayan bir birim bile onu kimin koyduğunu öğrenmekte zorlanır.
  3. Uzun kısa süreli bellek, toplamayla taşınan bir hücre ve öğrenilen kapılarla eğimi uzun mesafede korur; işe yarayıp yaramadığı, uzaklığa göre ayrılmış bir sınamayla görülür.

Üç soru

  1. Ağırlığı sıfır virgül beş olan doğrusal tek birimli bir tekrarlayan ağda, ilk adımdaki bir sinyalden on adım sonra ne kalır ve bu sayı Ders 9.3'teki hangi olguyla aynıdır?
  2. Tanjantlı ve ağırlığı bir virgül beş olan birim işareti on adım boyunca sakladığı hâlde, eğitim neden o işareti oraya koyan girdiyi öğrenmekte zorlanır?
  3. Onur'un sınıflandırıcısı bütün başvurularda yüksek bir doğruluk alıyor. Uzun dilekçelerdeki sorunu görmek için sınamayı nasıl ayırmalı, ve neden?

Yanıtlar

  1. Her adımda yarıya indiği için on adım sonra yarımın onuncu kuvveti, yaklaşık binde bir kalır. Geri yayılım aynı ağırlıktan on kez geçtiği için ilk girdiye ulaşan eğim de aynı sayıdır. Bu, Ders 9.3'te katmanlar boyunca gördüğümüz kaybolan gradyandır; katmanların yerini zaman adımları almıştır.
  2. Durum ilk adımdan sonra sıfır virgül seksen altı civarında sabitlenir ve işareti korur; ama tanjant o bölgede yatıktır, bu yüzden her adımda eğim, ağırlıkla tanjantın o noktadaki eğiminin çarpımıyla, durum oturduktan sonra yaklaşık sıfır virgül otuz dokuzla çarpılır. On adımda on binde bir buçuğa yakın bir değere iner. Bengio ve arkadaşlarının ikilemi budur: bilgiyi sağlam saklamak, eğimin sönmesiyle birlikte gelir.
  3. Başvuruları uzunluğa ya da konunun geçtiği cümle ile metnin sonu arasındaki mesafeye göre gruplara ayırıp her grubun başarısını ayrı raporlamalı. Kısa başvurular çoğunlukta olduğu için uzunlardaki düşüş ortalamada kaybolur.

Sonraki derse köprü

Elçin başlangıç kodonunu bilemedi, çünkü dizinin baştaki bilgisi sona taşınırken silinmişti. Ders 11.3, Konuşma tanıma, en uzun ve en gürültülü dizilerden birini ele alıyor: saniyede binlerce sayıdan oluşan bir ses kaydını yazıya çevirmeyi. Orada soru, bilginin ne kadar geriye taşınabildiğinden çok, aynı kelimenin farklı aksanlarda ve arka plan gürültüsünde nasıl başka bir sayı dizisine dönüştüğüdür. Bir kayıt makinenin önüne geldiğinde, onu kimin, nerede söylediği sonucu ne kadar değiştirir?

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.