Yinelemeli Sinir Ağlarının Düzenlileştirmesi

Cahit Barkin Ozer
9 min readJun 12, 2024

--

2015'de yayımlanmış “Recurrent Neural Network Regularization” Makalesinin Türkçe çevirisidir.

Basit Açıklama

Yinelemeli sinir ağları içerisinde yineleme mekanizması bulunan sinir ağları mimarileridir ve basit düzeyde insan beyni gibi öğrenip karar verebiliyorlardı. Özellikle, sıralı bilgileri öğrenmekte çok iyidirler. Mesela, bir hikayenin devamını tahmin etmek veya bir şarkının sonraki notalarını bulmak gibi konularda başarılıdırlar.

Ancak bu zeki programlar bazen, o kadar çok öğrenmeye çalışmaktalar ki kafaları karışıyor ve yanlış şeyleri de öğrenebiliyorlar yani aşırı öğrenme (overfitting) oluyor.

Aşırı öğrenmeyi önlemek için bazı yöntemler geliştirilmiş bu yöntemlere “düzenleme” (regularization) denir. Bu makalede, bilim insanları, yineleyen sinir ağları için bazı düzenleme yöntemleri önermişler. İşte bunlardan bazıları:

  1. Sönümleme (Dropout): Bu, sinir ağının bazı bağlantılarını rastgele kapatmak gibi. Böylece ağ, sadece bazı yolları kullanarak öğrenmek zorunda kalıyor ve bu da aşırı öğrenmeyi engelliyor.
  2. Ağırlık Gürültüsü (Weight Noise): Bu, sinir ağının bağlantı ağırlıklarına biraz rastgele gürültü ekleme yöntemidir.
  3. L2 Düzenlileştirme (L2 Regularization): Bu, ağın bağlantı ağırlıklarını çok büyük yapmaktan kaçınmak gibidir. Büyük ağırlıklar, ağa çok fazla güven verir ve bu da aşırı öğrenmeye neden olabilir. Küçük ağırlıklar kullanarak, ağın daha dengeli ve dikkatli olmasını sağlıyoruz.

Bu yöntemler, yineleyen sinir ağlarının daha iyi öğrenmesini ve öğrendiklerini daha doğru bir şekilde hatırlamasını sağlıyor. Böylece, bu zeki programlar daha akıllı ve güvenilir hale geliyorlar.

Öz

Uzun Kısa Süreli Bellek (LSTM) birimlerine sahip Yinelemeli Sinir Ağları (RNN’ler/Recurrent Neural Network’ler) için basit bir düzenlileştirme tekniği sunuyoruz. Sinir ağlarını düzenlileştirmek için en başarılı teknik olan sönümleme (dropout), RNN’ler ve LSTM’lerle iyi çalışmamaktadır. Bu yazıda, sönümlemenin LSTM’lere doğru şekilde nasıl uygulanacağını gösteriyoruz ve bunun çeşitli görevlerde aşırı uyumu (overfit’i) önemli ölçüde azalttığını gösteriyoruz. Bu görevler dil modelleme, konuşma tanıma, resim yazısı oluşturma ve makine çevirisi’dir.

1. Giriş

Yinelemeli Sinir Ağı (RNN), dil modelleme (Mikolov (2012)), konuşma tanıma (Graves ve diğerleri, (2013)) ve makine çevirisi Kalchbrenner & Blunsom (2013) gibi önemli görevlerde en gelişmiş performansı elde eden bir sinir dizisi modelidir. Sinir ağlarının başarılı uygulamalarının iyi bir düzenlileştirme gerektirdiği bilinmektedir. Maalesef, ileri beslemeli sinir ağları için en güçlü düzenlileştirme yöntemi olan sönümleme (Srivastava (2013)) RNN’lerle iyi çalışmıyor. Sonuç olarak, RNN’lerin pratik uygulamalarında genellikle çok küçük modeller kullanır çünkü büyük RNN’ler aşırı uyum sağlama eğilimindedir. Mevcut düzenlileştirme yöntemleri, RNN’ler için nispeten küçük iyileştirmeler sağlar(Graves (2013)). Bu çalışmada, sönümlemenin doğru kullanıldığında LSTM’lerdeki aşırı uyumu büyük ölçüde azalttığını gösteriyoruz ve bunu üç farklı problem üzerinde değerlendiriyoruz.

Bu çalışmanın kodunu şurada bulabilirsiniz: https://github.com/wojzaremba/lstm .

2. Alakalı Çalışmalar

Sönümleme, ileri beslemeli sinir ağlarında çok başarılı olan, yakın zamanda tanıtılan bir düzenlileştirme yöntemidir. Pek çok çalışma sönümlemeyi çeşitli şekillerde değiştirmiş olsa da (Wang ve Manning (2013)) veya (Wan ve diğerleri(2013) gibi), bunun RNN’lere uygulanması konusunda nispeten az araştırma yapılmıştır. Bu konuyla ilgili tek makale Bayer ve arkadaşlarına (2013) aittir. Standart sönümlemeye gürültüsüz deterministik bir yaklaşım olan “marjinalleştirilmiş bırakma” (Wang & Manning’e (2013)) odaklanmaktadır. (Bayer ve ark. (2013)), geleneksel bırakmanın RNN’lerle iyi çalışmadığını, çünkü yinelemenin gürültüyü artırdığını ve bunun da öğrenmeye zarar verdiğini iddia ediyor. Bu çalışmada, RNN’lerin bağlantılarının belirli bir alt kümesine sönümleme uygulanarak bu sorunun çözülebileceğini gösteriyoruz. Sonuç olarak, RNN’ler de artık sönümlemeden yararlanabilir. Bizim çalışmamızdan bağımsız olarak (Pham ve ark. (2013)) aynı RNN düzenlileştirme yöntemini geliştirmiş ve bunu el yazısı tanımaya uygulamıştır. Bu yöntemi yeniden keşfettik ve çok çeşitli problemler üzerinde güçlü ampirik sonuçlar gösterdik. LSTM’lere sönümlemeyi uygulayan diğer çalışma Pachitariu ve Sahani (2013)’tir.

Bu yazıda şu görevleri ele alıyoruz: dil modelleme, konuşma tanıma ve makine çevirisi. Dil modelleme, RNN’lerin önemli başarıya ulaştığı ilk görevdir Mikolov ve ark. (2010; 2011); Pascanu ve ark. (2013) RNN’ler aynı zamanda konuşma tanıma için de başarıyla kullanılmıştır Robinson ve ark. (1996); Graves ve ark. (2013) ve son zamanlarda dil modelleme, yeniden sıralama veya kelime öbeği modelleme için kullanıldıkları makine çevirisine uygulanmıştır Devlin ve ark. (2014); Kalchbrenner ve Blunsom (2013); Cho ve ark. (2014); Chow ve ark. (1987); Mikolov ve ark. (2013).

3. RNN’leri LSTM Hücreleriyle Düzenlileştirme (Regularizing RNNs with LSTM Cells)

Bu bölümde derin LSTM’i açıklıyoruz (Bölüm 3.1). Daha sonra bunları nasıl düzenli hale getireceğimizi göstereceğiz (Bölüm 3.2) ve düzenlileştirme planımızın neden işe yaradığını açıklayacağız. Aboneliklerin zaman adımlarını, üst simgelerin ise katmanları belirtmesine izin veriyoruz. Bütün durumlarımız n boyutludur. h^l_t ∈ R^n, t zaman adımında l katmanında gizli bir durum olsun. Ayrıca Tn,m: R n → R m bir afin dönüşüm olsun (bazı W ve b için W x + b). ⊙ eleman bazında çarpma olsun ve h^0_t k zaman adımında bir girdi sözcüğü vektörü olsun. L, derin LSTM’mizdeki katman sayısı olduğundan, yt’yi tahmin etmek için h^L_t aktivasyonlarını kullanırız.

3.1 Uzun-Kısa Süreli Bellek Birimleri (Long-short Term Memory Units)

RNN dinamikleri, önceki gizli durumlardan mevcut gizli durumlara deterministik geçişler kullanılarak tanımlanabilir. Deterministik durum geçişi bir fonksiyondur:

Klasik RNN’ler için bu fonksiyon şu şekilde verilir:

LSTM, bilgileri uzun bir zaman adımı boyunca kolayca “ezberlemesine” olanak tanıyan karmaşık dinamiklere sahiptir. “Uzun vadeli” bellek, c^l_t ∈ R^n bellek hücrelerinin bir vektöründe depolanır. Birçok LSTM mimarisi, bağlantı yapıları ve aktivasyon fonksiyonları açısından farklılık gösterse de, tüm LSTM mimarileri, bilgiyi uzun süre depolamak için açık bellek hücrelerine sahiptir. LSTM, bellek hücresinin üzerine yazmaya, onu almaya veya bir sonraki adım için saklamaya karar verebilir. Deneylerimizde kullanılan LSTM mimarisi aşağıdaki denklemlerle verilmektedir Graves ve ark. (2013):

Bu denklemlerde sigm ve tanh element bazında uygulanmıştır. Şekil 1 LSTM denklemlerini göstermektedir.

3.2 Sönümleme ile Düzenlileştirme (Regularizing with Dropout)

Bu makalenin ana katkısı, aşırı uyumu başarılı bir şekilde azaltacak şekilde LSTM’lere bırakmanın uygulanmasına yönelik bir reçetedir. Ana fikir, sönümleme operatörünü yalnızca yinelenmeyen bağlantılı durumlara uygulamaktır.

Şekil 1: Bu yazıda kullanılan LSTM bellek hücrelerinin grafiksel gösterimi (Graves (2013) ile karşılaştırıldığında küçük farklılıklar vardır).
Şekil 2: Düzenlileştirilmiş çok katmanlı RNN. Kesikli oklar, sönümlemenin uygulandığı bağlantıları, düz çizgiler ise sönümlemenin uygulanmadığı bağlantıları gösterir.

Aşağıdaki denklem bunu daha kesin bir şekilde açıklamaktadır; burada D, argümanının rastgele bir alt kümesini sıfıra ayarlayan çıkarma operatörüdür:

Yöntemimiz şu şekilde çalışmaktadır. Sönümleme operatörü, birimlerin taşıdığı bilgileri bozarak onları ara hesaplamalarını daha sağlam yapmaya zorlar. Aynı zamanda birimlerdeki tüm bilgilerin silinmesi de istenmemektedir. Ünitelerin geçmişte birçok zaman adımında meydana gelen olayları hatırlaması özellikle önemlidir. Şekil 3, sönümleme uygulamamızda t — 2 zaman adımında meydana gelen bir olaydan t + 2 zaman adımındaki tahmine kadar bilginin nasıl akabileceğini göstermektedir. Bilginin, sönümleme operatörü tarafından tam olarak L + 1 kez bozulduğunu ve bu sayının, bilginin kat ettiği zaman adımlarının sayısından bağımsız olduğunu görebiliriz. Standart sönümleme , yinelenen bağlantıları bozar ve bu da LSTM’nin bilgileri uzun süre saklamayı öğrenmesini zorlaştırır. LSTM, yinelemeli bağlantılarda sönümlemeyi kullanmayarak değerli ezberleme yeteneğinden ödün vermeden sönümleme düzenlileştirmesinden yararlanabilir.

Şekil 3: Kalın çizgi, LSTM’deki tipik bilgi akışı yolunu göstermektedir. Bilgi, L + 1 kez ayrılmadan etkilenir; burada L, ağın derinliğidir.
Şekil 4: “Hayatın anlamı” koşuluna bağlı olarak düzenlenmiş büyük bir modelden alınan bazı ilginç örnekler. İzin verilen kelimeler kümesinden “unk”, “N”, “$” kelimeleri kaldırıldı.

4. Deneyler (Experiments)

Sonuçları üç alanda sunuyoruz: dil modelleme (Bölüm 4.1), konuşma tanıma (Bölüm 4.2), makine çevirisi (Bölüm 4.3) ve resim yazısı oluşturma (Bölüm 4.4).

4.1 Dil Modelleme (Language Modelling)

929 bin eğitim kelimesi, 73 bin doğrulama kelimesi ve 82 bin test kelimesinden oluşan Penn Tree Bank (PTB) veri seti (Marcus ve diğerleri (1993)) üzerinde kelime düzeyinde tahmin deneyleri yaptık. Kelime hazinesinde 10 bin kelime bulunmaktadır. Veri setini Tomas Mikolov’un web sayfasından indirdik. İki boyutta düzenli LSTM (Uzun Kısa Süreli Bellek) modelleri eğittik; bunlar orta boy LSTM ve büyük LSTM olarak adlandırılmaktadır. Her iki LSTM de iki katmana sahiptir ve 35 adım boyunca açılmaktadır. Gizli adımları (hidden states) sıfır değeriyle başlatıyoruz. Daha sonra, mevcut minibatch’in (küçük toplu işlem) son gizli durumlarını, sonraki minibatch’in başlangıç gizli durumu olarak kullanıyoruz (ardışık minibatch’ler eğitim setini sırasıyla geçmektedir). Her minibatch’in boyutu 20'dir.

Tablo 1: Penn Tree Bank veri setindeki kelime düzeyindeki karışıklık.

LSTM ortamı katman başına 650 birime sahiptir ve tüm parametreleri [−0,05, 0,05] aralığındaki aynı değerle başlatılır. Daha önce açıklandığı gibi yinelenmeyen bağlantılara %50 sönümleme uyguluyoruz. LSTM’i 1 öğrenme oranıyla (learning rate) 39 dönem (epoch) boyunca eğitiyoruz ve 6 dönemden sonra her dönemden sonra 1,2 kat azaltıyoruz. Gradyanların normunu (mini parti boyutuna göre normalleştirilmiş) 5'e kırpıyoruz. Bu ağın eğitimi, NVIDIA K20 GPU ile yaklaşık yarım gün sürüyor.

Büyük LSTM’in katman başına 1500 birimi vardır ve parametreleri [−0,04, 0,04] ​​ile eşit şekilde başlatılır. Yinelemeyen bağlantılara %65 sönümleme uyguluyoruz. Modeli, öğrenme oranı 1 olan 55 dönem boyunca eğitiyoruz; 14 dönemden sonra öğrenme oranını her dönemden sonra 1,15 kat azaltmaya başlarız. Gradyanların normunu (mini parti boyutuyla normalleştirilmiş) (Mikolov ve ark. (2010)) 10'a kırpıyoruz. Bu ağın eğitimi NVIDIA K20 GPU’da tam bir gün sürer.

Karşılaştırma için, düzenlileştirilmemiş bir ağ eğittik. En iyi doğrulama performansını elde etmek için parametrelerini optimize ettik. Düzenlileştirmenin eksikliği ağın boyutunu etkili bir şekilde kısıtlıyor ve daha büyük ağlar aşırı uyum sağladığı için bizi küçük ağ kullanmaya zorluyor. En iyi performansa sahip, düzenli hale getirilmemiş LSTM’miz, katman başına 200 birim içeren iki gizli katmana sahiptir ve ağırlıkları, [−0,1, 0,1] ile eşit şekilde başlatılır. Bunu 1 öğrenme oranıyla 4 dönem boyunca eğitiyoruz ve ardından toplam 13 eğitim dönemi olacak şekilde her dönemden sonra öğrenme oranını 2 kat azaltıyoruz. Her mini grubun boyutu 20'dir ve ağı 20 adım boyunca açıyoruz. Bu ağın eğitimi NVIDIA K20 GPU’da 2–3 saat sürer. Tablo 1, önceki sonuçları LSTM’lerimizle karşılaştırmaktadır ve Şekil 4, tek bir büyük, düzenli LSTM’den alınan örnekleri göstermektedir.

4.2 Konuşma tanıma (Speech Recognition)

Derin Sinir Ağları yarım yüzyılı aşkın bir süredir akustik modelleme için kullanılmaktadır (iyi bir inceleme için bkz. Bourlard & Morgan (1993)). Akustik modelleme, akustik sinyallerin sözcük dizileriyle eşleştirilmesinde önemli bir bileşendir; çünkü p(st|X)’i modeller; burada st, t zamanındaki fonetik durumdur ve X, akustik gözlemdir. Son çalışmalar, LSTM’lerin akustik modellemede mükemmel performans elde edebildiğini (Sak ve diğerleri (2014)) ancak nispeten küçük LSTM’lerin (parametrelerinin sayısı açısından) eğitim setine kolayca uyum sağlayabildiğini göstermiştir. Akustik modellerin performansını ölçmek için kullanışlı bir ölçüm, tüm t zaman adımları için her st’de ölçülen çerçeve doğruluğudur. Genel olarak bu ölçüm, ilgilenilen gerçek ölçüm olan Kelime Hata Oranı (WER) ile ilişkilidir.

Tablo 2: İzlandaca Konuşma Veri Kümesinde çerçeve düzeyinde doğruluk. Eğitim setinde 93k ifade bulunmaktadır.
Tablo 3: İngilizceden Fransızcaya çeviri görevinin sonuçları.

WER’nin hesaplanması bir dil modelinin kullanılmasını ve akustik modeldeki her değişiklik için kod çözme parametrelerinin ayarlanmasını gerektirdiğinden, bu deneylerde çerçeve doğruluğuna odaklanmaya karar verdik. Tablo 2, sönümlemenin LSTM’in çerçeve doğruluğunu iyileştirdiğini göstermektedir. Eğitim çerçevesi doğruluğunun, eğitim sırasında eklenen gürültü nedeniyle düşmesi şaşırtıcı değildir, ancak çoğu zaman bırakma durumunda olduğu gibi, bu, görünmeyen verilere daha iyi genelleme yapan modeller sağlar. Doğruluğu daha yüksek olduğundan test setinin eğitim setinden daha kolay olduğunu unutmayın. Bir LSTM’in performansını, nispeten küçük (93 bin ifade) dahili bir Google İzlandaca Konuşma veri kümesinde rapor ediyoruz, bu nedenle aşırı uyum büyük bir endişe kaynağıdır.

4.3 Makine Çevirisi (Machine Translation)

Bir makine çevirisi problemini, bir LSTM’nin kaynak cümlenin doğru çevirisine yüksek olasılık atayacak şekilde eğitildiği bir dil modelleme görevi olarak formüle ediyoruz. Bu nedenle, LSTM, kaynak cümlelerin ve çevirilerinin birleştirilmesi üzerine eğitilir (Sutskever ve ark. (2014), ayrıca bkz. Cho ve ark. (2014)). Basit bir beam search (ışın arama) kullanarak, beam boyutu 12 olan, en olası kelime dizisini yaklaşık olarak hesaplayarak bir çeviri oluştururuz. WMT’14 İngilizceden Fransızcaya veri setinde, Schwenk (2014) tarafından “seçilmiş” alt küme üzerinde bir LSTM çalıştırdık, bu alt küme 340 milyon Fransızca ve 304 milyon İngilizce kelime bulunmaktadır. LSTM’miz 4 gizli katmana sahiptir ve hem katmanları hem de kelime yerleştirmeleri 1000 birim içerir. İngilizce kelime dağarcığı 160.000 kelimeye, Fransızca kelime dağarcığı ise 80.000 kelimeye sahiptir. Optimal sönümlenme olasılığı 0.2 idi. Tablo 3, sönümlemeli ve sönümlemesiz olarak eğitilmiş bir LSTM’in performansını göstermektedir. LSTM’imiz, ifade tabanlı LIUM SMT sistemini (Schwenk ve ark. (2011)) geçemese de, sonuçlarımız sönümlemenin LSTM’in çeviri performansını artırdığını göstermektedir.

4.4 Resim Altyazısı Oluşturma (Image Caption Generation)

Sönümleme varyantını Vinyals ve diğerlerinin (2014) görüntü başlığı oluşturma modeline uyguladık. Görüntü açıklaması oluşturma, Sutskever ve diğerlerinin (2014) dizi-dizi modeliyle benzerdir, ancak burada girdi görüntüsü, oldukça doğru önceden eğitilmiş bir evrişimsel sinir ağı (Szegedy ve diğerleri, 2014) ile bir vektöre eşlenir ve bu vektör, tek katmanlı bir LSTM ile bir açıklamaya dönüştürülür (mimari hakkında detaylar için Vinyals ve diğerlerine (2014) bakınız). Sönümleme şemamızı LSTM üzerinde test ediyoruz çünkü evrişimsel sinir ağı, görüntü açıklaması veri setinde (MSCOCO (Lin ve diğerleri, 2014)) eğitilmediği için bu veri seti büyük değildir. Sonuçlarımız aşağıdaki Tablo 4'te özetlenmiştir. Kısaca, sönümleme kullanmamaya göre yardımcı olur, ancak bir topluluk (ensemble) kullanmak, sönümleme ile elde edilen kazanımları ortadan kaldırır. Bu nedenle, bu durumda, sönümlemenin ana etkisi, bir topluluk kadar iyi tek bir model üretmektir ki bu, tekniğin basitliği göz önüne alındığında makul bir iyileştirmedir.

5. Sonuç

Farklı alanlardaki çeşitli problemlerde büyük performans artışlarıyla sonuçlanan LSTM’lere sönümleme uygulanmasının basit bir yolunu sunduk. Çalışmamız, sönümlemeyi RNN’ler için faydalı kılıyor ve sonuçlarımız, bırakma uygulamamızın çok çeşitli uygulamalarda performansı artırabileceğini gösteriyor.

Tablo 4: Resim açıklaması oluşturma görevinin sonuçları.

Kaynak

[1] Wojciech Zaremba from New York University, Ilya Sutskever and Oriol Vinyals from Google Brain, (19 February 2015), Recurrent Neural Network Regularization:

[https://arxiv.org/abs/1409.2329]

--

--

Cahit Barkin Ozer
Cahit Barkin Ozer

Written by Cahit Barkin Ozer

Üretken YZ başta olmak üzere teknoloji alanındaki yenilikleri öğrenip sizlerle paylaşıyorum. Youtube Kanalım: https://www.youtube.com/@cbarkinozer

No responses yet