Makine öğrenmez: ağa karşı metin oluşturmada pekiştirmeli öğrenmenin rolü

https://zhuanlan.zhihu.com/p/29168803

1. Temel: Metin oluşturma modelinin standart çerçevesi

Metin Oluşturma (Metin Oluşturma) geçti Makine öğrenimi + doğal dil işleme Teknoloji, yapay zekanın insan düzeyinde dil ifade yeteneklerine sahip olmasını sağlamaya çalışır, bu da doğal dil işlemenin mevcut gelişim düzeyini bir dereceye kadar yansıtabilir.

Aşağıda minimalist bir açıklama ile metin oluşturma teknolojisinin genel çerçevesi açıklanmaktadır. Ayrıntılar için çeşitli çevrimiçi literatüre (örneğin: CSDN klasik Blog "eğlenceli metin oluşturma"), makalelere vb. Başvurabilirsiniz.

Görevler açısından, metin oluşturma daha popülerdir: makine çevirisi, cümle oluşturma, diyalog oluşturma, vb. Bu makale son ikisine odaklanmaktadır. Derin öğrenmeye dayalı Metin Oluşturucu, anlamsal modelleme için genellikle tekrarlayan sinir ağlarını (Temel RNN, LSTM, GRU, vb.) Kullanır. Cümle oluşturma görevlerinde, yaygın bir uygulama: "Char-RNN" (burada "Char", genel olarak bir karakter, kelime veya diğer metin ayrıntı birimine atıfta bulunabilen geniş bir terimdir), basit ve basit olmasına rağmen, net bir şekilde yanıt verebilir Devam eden cümle oluşturma süreci bir sözlüğün kurulmasını gerektirir Vocab Görünebilecek tüm karakterleri veya kelimeleri içerir, model cümledeki bir sonraki kelime hazinesini her tahmin ettiğinde, softmax'ın çıktısının yalnızca bir olasılık dağılımı olduğunu ve boyutunun kelime dağarcığı olduğunu bilmelisiniz. Vocab Çıktı olasılık dağılımının boyutu, Tek sıcak vektör, eşanlamlılar sözlüğünden Vocab Karşılık gelen terim, "Char-RNN" modelinde alınır, "Char-RNN" modelinin eğitimi sırasında, pencere külliyat üzerinde kaymak için kullanılır.Penceredeki bağlam ve onu hemen izleyen karakterler bir dizi eğitim örnekleri ve etiketlerdir. Pencereyi sabit bir adım boyutunda kaydırarak tüm "numune etiketi" çiftlerini elde etmek için.

Cümle oluşturma görevine benzer şekilde, diyalog oluşturma, her Diyalog kümesini bir "örnek etiket" çifti olarak ve döngüsel bir sinir ağı olarak kullanır. RNN_1 Yukarıdaki Diyaloğu kodlayın ve tekrarlayan başka bir sinir ağı kullanın RNN_2 Bunu kelime kelime çözün ve önceki kod çözme nöronunun çıktısını aşağıdaki Diyalogu oluşturmak için sonraki kod çözme nöronunun girişi olarak kullanın. Unutmayın: Kod çözmeden önce yapılandırılması gerekir "Başlat" _ İşareti, Dekodere Diyalogun altındaki ilk kelimenin (veya kelimenin) üretimini açma talimatı vermek ve onu yapılandırmak için kullanılır. "Son" _ İşareti, kod çözücüye geçerli Metin Oluşturma işlemini sonlandırması talimatını vermek için kullanılır.

Bu, iyi bilinen "Seq2Seq" çerçevesinin temel biçimidir. Temel Seq2Seq modelinin etkisini doğrudan kod çözücünün perspektifinden iyileştirmek için, örneğin Işın Arama Kod çözücü, Dikkat mekanizması Kod çözücü (dikkat mekanizmasıyla yapılandırılmış kod çözücü) ve diğer iyileştirmeler ve sinir ağının yapısından başlayarak, Piramit RNN (piramit RNN), Hiyerarşik RNN Kodlayıcı (katmanlı tekrarlayan ağ kodlayıcı) ve benzeri geliştirmeler de vardır. Sayısız iyileştirme var, bunlardan ayrıntılı olarak bahsetmiyorum, ama ne olursa olsun, tahmin sonucunun çıktısı her zaman boyutu sözlüğün boyutu olan bir olasılık dağılımıdır.Maksimum İndeksi seçmek ve onu sözlüğe göndermek gerekir. Vocab Karşılık gelen kelime (veya karakter) içerisinden alınabilir.

2. Soru: GAN neden metin oluşturmak için doğrudan kullanılamıyor?

2.1. Temel GAN bilgisi

GAN herkes için popüler olmalıdır, işte bazı basit incelemeler. GAN ustaca ve basit yapıdadır (diğer klasik fikirlere benzer tartışmalar olsa da) ve anlaşılması da çok kolaydır.Tüm modelin sadece iki bölümü vardır: 1. Jeneratör G; 2. Ayırıcı D. Üretken modelin uzun bir geçmişi vardır, bu nedenle jeneratör yeni değildir.G jeneratörünün amacı gerçek örneğe en yakın sahte örnek dağılımını oluşturmaktır.Daha önce ayırt edici D olmadığında, jeneratörün eğitimi her bir yinelemeye dayanıyordu Parametre optimizasyonu için üretilen mevcut numune ile gerçek numune arasındaki farkı (bu farkı kayba çevirin) döndürün ve ayırıcı D'nin görünümü bunu değiştirdi.D diskriminatör D'nin amacı, üretilen numuneyi gerçek numuneden mümkün olduğunca doğru bir şekilde ayırmaktır. Bu zamanda, G jeneratörünün eğitim hedefi, "üretim-gerçek numune farkını" en aza indirmekten, D ayrımcısının ayırt etme yeteneğini en aza indirmeye değişmiştir (bu zamanda, eğitim hedefi işlevi, D ayırıcısının çıktısını içerir). GAN modelinin genel çerçevesi aşağıdaki şekilde gösterilmektedir:

2.2. GAN'ın ayrık verilerle karşılaşmadaki ikilemi (ayrık veriler nedir?)

GAN'ın yazarı, orijinal makalede GAN'ın yalnızca sürekli veri üretimi için uygun olduğundan ve ayrık veriler için etkili olmadığından bahsetmiştir (NLP alanındaki popüler GAN'ın, üretken modelin diğer kodamanını geçememesini sağlar. VAE). Metin verileri en tipik ayrık veri türüdür. Burada sözde ayrık, metnin bir kelimeden bir kelimeden oluştuğu veya Seq2Seq gibi en popüler metin oluşturma çerçevelerinin de kelime kelime (veya Karakter) tek tek oluşturulur. Çünkü döngüsel olmayan ağ tek seferlik Cümleler için kullanılsa bile, "ayrık verilerin" sonuçlarından kaçınılamaz. Gençken cehaletimi suçladığım için üzgünüm Ayrık verilerin gerçek anlamı, sürekli verilerle başlamalıyız. Görüntü verileri tipik sürekli verilerdir, bu nedenle GAN doğrudan gerçekçi resimler oluşturabilir. Önce görüntü verilerinin şekline bakalım:

Görüntü verileri bilgisayarda matris olarak ifade edilir.Siyah beyaz görüntü matrisindeki elemanın değeri piksel değeri veya gri değer ise (üzgünüm layman, görüntü yapmıyorum), renkli bir görüntü olsa bile görüntü tensörü eklenecektir Birinci sıra, RGB kanallarını temsil etmek için kullanılır. Görüntü matrisindeki öğeler ayırt edilebilir ve değerleri doğrudan görüntünün parlaklığını ve rengini yansıtır. Bu tür birçok piksel bir görüntü oluşturmak için birleştirilir, yani Görüntü matrisinden görüntüye kadar "örneklemeye" gerek yoktur, daha canlı bir örnek vardır: aşağıdaki şekilde gösterildiği gibi çizim yazılımındaki palet, görüntü verilerinin kabaca bir hissini elde etmek için palet üzerinde kaydırmanız yeterlidir. Diferansiyel özellikler.

Metin verileri farklıdır.Metni yapan öğrenciler, kelime dağarcığımızın (Kelime dağarcığı) boyutumuzun 1000 olduğunu varsayarsak, bir sonraki kelimeyi tahmin ettiğimizde, elde etmemiz gereken şeyin Tek Sıcak Vektör olduğunu bilirler. Bu Vector'de 0 olan 999 öğe vardır, yalnızca bir öğe 1'dir ve bu öğe eşanlamlılar sözlüğündeki bir kelimeyi temsil eder. Bununla birlikte, gerçek engel şu ki, doğrudan bir sonuç elde etmek için herhangi bir sınıflandırıcı veya sinir ağını her kullandığımızda, softmax'ı şu şekilde kullansak bile, bunun sadece Bir Sıcak Vektörden ziyade 1000 boyutlu bir olasılık dağılımı olmasıdır. Çıktı, en fazla, yalnızca bir boyutun özellikle büyük ve diğer boyutların özellikle küçük olduğu durumu elde edebilir ve bu çıktı sonucu Tek sıcak vektöre aktarılır ve ardından dizine karşılık gelen kelime sözlükten sorgulanır. İşlem "Örnekleme" olarak adlandırılır. Genellikle, en büyük değere sahip öğeyi buluruz ve 1'e, geri kalanı 0'a ayarlarız.

Sinir ağlarının mevcut optimizasyon yöntemlerinin çoğu gradyanlara dayanmaktadır (Gradyan tabanlı) Birçok belge şunu söyler: GAN ayrık verilerle karşılaştığında, diskriminant ağ, gradyan geri yayılımını (BP) üretim ağına veremez. Bu cümle onu bulutlarda, sisin içinde dinlememi bekletti, onu başka bir açıdan da anlayabilir, gradyan tabanlı optimizasyon yönteminin kabaca bunun anlamına geldiğini biliyoruz, ağdaki parametrelerde (ağırlık) ince ayar yapın ve son çıktıyı görün. İyileşmedi, en iyi duruma ulaştın mı?

Ancak D ayırıcı, Örneklemeden sonraki sonuçtur, yani, parametrelerde ince ayar yaptıktan sonra, softmax'ın çıktısı biraz optimize edilmiş olsa bile, örneğin yukarıdaki örnekte, doğru sonuç üçüncü öğe ve çıktısı olmalıdır. Sondan bir önceki madde 0.85'ten 0.65'e ve üçüncü madde 0.12'den 0.32'ye değişti, ancak örneklemeden sonra, G jeneratörünün çıkışı hala öncekiyle tamamen aynıdır ve aynı cevap tekrar tekrar D ayrımcısına girilir, böylece Jeneratör D tarafından verilen değerlendirme anlamsız olacak ve jeneratör G'nin eğitimi yönünü kaybedecektir.

Bazı insanlar bunu yapmak yerine, softamx'in dağıtım çıktısı olan örneklemeden önce D ayırıcıyı doğrudan sonuca beslemenin daha iyi olduğunu söylüyorlar, benzer şekilde bunun da büyük bir sorunu var. Ayırıcı D'nin asıl amacı olan GAN'ın temel ilkelerine geri dönüyoruz.Üretilen numuneyi gerçek numuneden doğru bir şekilde ayırt etmek için eğitimden geçmiştir.Daha sonra üretilen numune, yüzer ondalık sayılarla dolu bir dağıtımdır ve gerçek numune bir Tek Sıcak Vektördür. Ayırıcı D'yi "aldatmak" kolaydır. Üretilen dağılımın gerçek dağılıma daha yakın olup olmadığına karar vermesi gerekmez.Sadece verilen dağılımın bir öğe dışında 1 olup olmadığını ve geri kalanının 0 olup olmadığını belirlemesi gerekir. Dolayısıyla, Örneklemeden önceki dağılımın gerçek Tek Sıcak Vektöre ne kadar yakın olduğu önemli değil, hala bir olasılık dağılımı olduğu sürece, D ayırıcı tarafından kolayca tespit edilebilir.

Yukarıda bahsedilen nedenler elbette matematiksel olarak da açıklanmıştır. 2.1 Festival süresince üretilen numunenin kayıp ölçüm standardına lütfen dikkat edin. Evet, JS diverjansıdır,

Aslında, uygulamada zayıflıklar vardır (referans). Normalde yalnızca iki örtüşen dağılıma uygulanabilir.İki örtüşmeyen dağılım P ve Q ile karşılaşıldığında, JS sapması :

Tekrar düşünün, softmax gerçek örnekle tam olarak aynı tek sıcak vektör dağılımını veremezse (elbette bu imkansızdır), üretilen örneğin dağılımını gerçek örneğin dağılımıyla örtüştüren başka ne olabilir? Ne? Bu nedenle, jeneratör Gradyana göre nasıl optimize edilirse edilsin, çıktı dağılımı gerçek dağıtımla karşılaştırılır.

Her zaman

, Oluşturucu G Eğitim anlamını kaybetti.

3. Geçiş şeması: metin oluşturmak için GAN'ın doğrudan iyileştirilmesi

Ayrık veriler karşısında GAN ikilemini çözmek için en doğrudan fikir, GAN içindeki bazı hesaplama yöntemlerinde ince ayar yapmaktır.GAN içindeki hesaplama yöntemindeki bu doğrudan iyileştirme de belirli bir etki göstermektedir. , Metin ve diğer ayrık veri üretiminin sorunsuz uygulanması umut getiriyor. Daha sonra, iki ilgili çalışmayı kısaca tanıtacağım.

3.1. Wasserstein-diverjansı, ekstra bir hediye

Wasserstein GAN (kısaca WGAN), etkisi orijinal GAN'ın yüksekliğine ulaşmış gibi görünüyor. Ayrıca Çin'de etkisine eşdeğer bir blog yazısı var - "Wasserstein GAN", ancak bu makaleyi okumadan önce, Başka bir kağıt "f-GAN" önermek için, bu makale, herhangi bir kâğıdı kanıtlamak için Fenchel Conjugate özelliklerini

Orijinal GAN olarak kullanılabilir

(Veya

) Alternatifler. F-GAN'ın tanımı aşağıdaki gibidir:

Formülde

denir f işlevi Aşağıdaki gereksinimleri karşılaması gerekir:

görmek kolay

Ayrıca

F-GAN orijinal metinlerinden biri düzinelerce çeşitli

, GAN'ın bu yöndeki bir sonraki iyileştirmesi için sınırsız olanaklar sunar.

Wasserstein GAN'ın GAN'a iyileştirilmesi de değişimden kaynaklanmaktadır.

Bu açıdan GAN geliştirildi ve ayrıntılı güzelliği literatürde bulunabilir.Genel olarak, WGAN kendine özgü bir uyuşmazlık "Buldozer-Diverjans",

İki dağılımı iki toprak yığını olarak ele alan Divergence, iki kazığı aynı şekle sokmak için gereken toplam toprak taşıma mesafesini hesapladı. Aşağıda gösterildiği gibi:

Kullanım

Orijinal GAN ile karşılaştırıldığında, eğitimli GAN daha bariz bir "evrim" sürecine sahiptir.Başka bir deyişle, GAN ile karşılaştırıldığında, WGAN eğitimi "kötü" den "iyi" ye doğru aşamalı süreci vurgulayabilir. Yukardan 2.2 Bölüm, biliyoruz JS sapması İki dağılımın çakışmadığı durumla karşılaşıldığında, bir "anormal" ortaya çıkacak ve hesaplama sonuçları her ikisi de

GAN'ın eğitim süreci aynı, belki uzun bir eğitim sürecinde, JS sapması Dönüş değeri

, Yalnızca belirli bir kritik noktaya ulaştığında, optimum değere yakın bir sonuca aniden optimize edilecek ve Wasserstein sapması Dönüş değeri çok daha pürüzsüz.

dan beri Wasserstein sapması Üstesinden gelebilir JS sapması Yukarıdaki zayıflıklardan sonra kullanın Wasserstein GAN Doğrudan absorpsiyon jeneratörü G Softmax katman çıktısının Dağıtım Vektörü ve gerçek örneğin Tek Sıcak Vektörü, ayırıcı kullanılarak D Ayrımcı olsa bile tanımlama için D "Gerçekten yanlış" olacak kadar aptalca olmayacak, ancak her seferinde gerçek örneğe daha yakın olan jeneratör çıktısının "ilerlemesi" nihayet geri alınabilir, bu da kesikli veriler için rakip eğitimin devam etmesini sağlar. fakat Wasserstein GAN GAN'ın orijinal çalışması, GAN'daki daha iddialı iyileştirmelerin önemine odaklanır ve metin oluşturma gibi ayrı veri işleme deneylerine odaklanmaz, ancak daha sonradır. "Wasserstein GAN'larının Geliştirilmiş Eğitimi" Metin oluşturma deneyi verilmiştir Sonuçlardan, WGAN tarafından üretilen metin şu anda en güçlü metin oluşturma etkisinden çok daha az olmasına rağmen, karakter biriminde biraz normal görünen bazı sonuçlar üretebildiği görülmektedir. Buna karşılık, GAN'ın metin oluşturmasının sonuçları açıkça çökmüştür.

3.2. Örneklemenin softmax'ını simüle eden Gumbel-softmax

University of Warwick + University of Cambridge'den bir başka makale, softmax çıktısını değiştirmeye odaklanarak, ayrık veri üretimi için GAN'ı iyileştirmeye odaklanıyor. Gibi 2.2 Bölümde bahsedildiği gibi, örnekleme işlemi

Fonksiyon, sürekli softmax çıktısını ayrık şekilli çıktıya çıkarır, bu da Örneklemenin nihai çıktısının türevlenemez olmasıyla sonuçlanır ve GAN ile ayrık veri oluşturmanın önündeki en büyük engeli oluşturur.Örnekleme kullanılmadığından, çıktı gerçek dağılımla örtüşmez ve sonuç JS sapması Sabit bir değerde kalın

Örnekleme kullanılırsa, ayrık verilerin normal çıktısı, Geriye Yayılma gradyanında doğal bir engel oluşturur.

Bu durumda makalenin yazarı, örnekleme etkisini taklit edebilen özel bir softmax aradı, böylece softmax'ın doğrudan çıktısı yalnızca gerçek dağıtımla örtüşmeyi sağlamakla kalmaz, aynı zamanda örnekleme işleminin farklılaştırılabilir özelliklerine zarar vermesini de önleyebilir. "Gumbel-Softmax" (Gumbel-Softmax) olup, Gumbel-Softmax ayrık etiketlerin yeniden dağıtılmasına (Categorical Reparameterization) uygulanmıştır.Orijinal örnekleme işleminde,

Fonksiyon, sıradan softmax'ın çıktısını One-hot Vector'e dönüştürür:

Ve Gumbel-Softmax atlandı

+

Bu adım, yaklaşık örnekleme işleminin çıktısını doğrudan verebilir:

Esas, "ters çevirme parametresinde" yatar

,ne zaman

, Yukarıdaki formülün dağıtım çıktısı eşdeğerdir

+

Örnekleme dağılımı verildiğinde ve ne zaman

Yukarıdaki formülün çıktısı tekdüze dağılıma yakın olduğunda ve

Bu özel softmax'ta bir hiperparametre olarak, eğitim ve öğrenmeyle giderek küçülen ve 0'a yaklaşan daha büyük bir başlangıç değeri verilir. Bu bölümün ayrıntıları için literatürü okuyabilirsiniz.

Makalenin deneyi, GAN'ı yalnızca Gumbel-Softmax ile 12 sabit uzunlukta Bağlamdan bağımsız dilbilgisi dizisini oluşturmak için kullanmaya çalışmıştır. GAN eğitiminin çökmediği ve birkaç örnek üzerinde oldukça gerçekçi bir etki elde edildiği görülebilmektedir.

Bu nedenle, metin üretimi için GAN'ın doğrudan iyileştirilmesi belirli sonuçlar elde etti, ancak ideal duruma olan mesafe hala engellenmiş ve uzun. Daha iyi bir yol var mı? elbette!

4. GAN metin oluşturmada RL'nin rolü

4.1. Pekiştirmeli Öğrenmeyle İlgili Dedikodu

Avangart öğrenme yöntemi nedeniyle, Takviyeli Öğrenme (RL), tam otomatikleştirilmiş denetimli öğrenme kadar uygun değildir.Çoğu gerçek dünya uygulamasında, öğrenme döngüsü çok uzundur ve fazla dikkatin odağı haline gelmemiştir. Göründü, birçok kişinin dikkatini çekti.

Bir optimizasyon problemi olduğu için, hemen çözmek için gradyan tabanlı optimizasyon yöntemlerini kullanmayı düşündüm. Tabii ki, pekiştirmeli öğrenmede, elde etmek istediğimiz şey en uygun stratejidir

, Bu süreç genellikle pekiştirmeli öğrenme alanında duyulur Politika Gradyanı . Denklemin sağ tarafını koyarız

İçindeki öğeler ayrı ayrı şu şekilde kaydedilir:

Diyalog modeli optimum parametreleri bulduğunda ödül beklentisini temsil eder. Pratikte, bir cümlenin yanıtı için $ N $ olasılıkları olduğunu varsayalım, ardından her bir diyalog grubu

Oluşma olasılığı tekdüze bir dağılıma uyuyor olarak kabul edilebilir, bu nedenle aşağıdaki deformasyonlar da yapılabilir:

Bu şekilde, gradyan optimizasyonunun odağı, parametre aracılığıyla diyalog oluşturma olasılığına dönüştürülür.

Güncelleme, ödül, modelin yüksek kaliteli diyalog olasılığını artırma eğiliminde olmasını sağlayacak ve ceza, modelin düşük kaliteli diyalog olasılığını azaltma eğiliminde olmasını sağlayacaktır.

AlphaGo, pekiştirmeli öğrenmeyi aniden kamuoyunun dikkatine sunduğundan, pekiştirmeli öğrenmeyle ilgili teorik araştırmaların çoğu, oyunları ana deneysel platform olarak kullanmıştır. Bu mantıksız değildir. Pekiştirmeli öğrenmenin teorik olarak türetilmesi mantıklı görünmektedir, ancak en büyük zayıflığı Deneycinin ödülün manuel olarak değerlendirilmesine dayanarak ortaya çıkan modelin sonuçlarını puanlamaya devam etmesi gerçekçi görünmüyor. Bu gerçekçi görünmüyor.Oyun sistemi doğru ve objektif puanlar verebilir (kazanma / kaybetme veya Oyun skoru). dayalı RL Bu problem aynı zamanda diyalog neslinde de karşılaşılmaktadır.Araştırmacılar, AlphaGo'ya (AI satranç oyuncu oyunu) benzer bir uygulamayı benimsemiştir - aynı anda iki robot çalıştırın, birbirleriyle konuşsunlar ve aynı zamanda önceden eğitilmiş kullanın. "Skorcu", her konuşma grubu için ödül puanını verir

, Bu önceden eğitilmiş "puanlayıcı" R ile ilgili olarak, gerçek uygulamalara ve ihtiyaçlara göre kendiniz DIY yapabilirsiniz.

Biraz hissedin RL ChatBot'un etkisi:

4.2. SeqGAN ve Koşullu SeqGAN

Daha önce çok şey söyledikten sonra nihayet doruk noktasına ulaştı: Metin Üretimi için RL + GAN, SeqGAN insanların önünde duruyor RL Text Generation'ın omuzlarında, Text Generation için GAN'da bir başyapıt olduğu söylenebilir. Anlatması çok zaman alsa da RL ChatBot'un çeşitli mekanizmaları aslında bunun önünü açıyor. GAN'da ayırıcıyı kullandığımızı hayal edin D Pekiştirmeli öğrenmede ödülün kaynağı olarak, T uzunluğunda bir metin dizisinin oluşturulması gerektiği varsayılarak, oluşturulan metnin ödül değeri

Hesaplama aşağıdaki forma dönüştürülebilir:

Jeneratör G Oluşturulan metin yeterince doğru olduğunda, yeni bir ayırıcıyı güncelleme ve eğitme zamanı gelmiştir. Genel olarak, ayrımcı D Orijinal GAN teorisine göre, üretilen sıra için puan, sıranın gerçek bir örnek olduğuna karar vermenin olasılık değeri değildir. D Gerçek / sahte örnekler için, verilen kimlik doğrulama sonuçlarının tümü 0.5 olup, jeneratörün G Oluşturulan örnek doğru olması için yeterlidir, bu nedenle yukarıdaki görevde, ayırıcı, oluşturulan örnek üzerinde tekrar tekrar 0,5'e yakın veya hatta daha yüksek puan alırsa, bu, ayırt edenin D Tekrar eğitmen gerekiyor. Pratikte, kolaylık sağlamak için, genellikle birden fazla jeneratör eğitimi için bekleyin ve ardından bir ayrımcı eğitim gerçekleştirin.

SeqGAN'ın önerisi, diyalog üretimi (Chatbot) için GAN'ın kullanımı için önemli bir haberciyi tamamladı.Ayrıca, görüntü oluşturma alanında GAN'ın başka bir sihirli uygulaması da var - Koşullu GAN, koşullu bir GAN. Adından da anlaşılacağı gibi, belirli bir Koşullar belirli şeyler üretir ve iş, aşağıdakiler gibi koşullar gibi giriş metni açıklamasına dayalı olarak karşılık gelen görüntüleri oluşturur:

Diyalog üretimi aynı model olarak anlaşılabilir. Önceki diyalog cümlesi koşuldur ve bir sonraki yanıt cümlesi üretilecek verilerdir.Tek fark, ayrık metin verilerinin üretilmesi gerektiğidir.SeqGAN bu sorunu çözmeye yardımcı olmuştur. Özetle kendim adlandırdım: Koşullu SeqGAN. göre 4.1 Bölüm ve bu bölümün türetilmesi, Koşullu SeqGAN'da optimize edilmiş gradyan şöyle yazılabilir:

Bu formülü görmek zor değil ve 4.1 Bölümdeki değişim gradyanı yalnızca bir kelime farkıdır, yalnızca "puanlama cihazı" tarafından verilen ödül puanıdır.

Ayrımcının oluşturulan diyaloğun gerçek bir kişiden geldiğini düşünmesi olasılık puanı ile değiştirilir.

. Görünüşe göre fark çok küçük, aslında RL + GAN Metin oluşturma teknolojisi ve tamamen RL Orijinal pekiştirmeli öğrenmenin metin oluşturma teknolojisinde temel bir fark vardır: orijinal pekiştirmeli öğrenme diyalogu oluşturmada, AI birbirleriyle konuşmak için kullanılsa ve jugle puan vermeye ayarlansa da, bu jugle önceden eğitilmiştir ve diyalog modelinin eğitim sürecinde kullanılacaktır. Daha fazla değişiklik yok; RL + GAN Metin oluşturma ve hatta diyalog modeli farklıdır, ayırt edici D Jeneratör ile G Öğesinin eğitim güncellemesi dönüşümlü olacak, biri diğerinden sonra olacak, böylece ödül puanı olan bir ayrımcı verilecek D İşte dinamik.

RL + GAN, pekiştirmeli öğrenmede Ödül mekanizmasını kullanır ve Politika Gradyanı Ve diğer teknolojiler, GAN'ların ayrık verilerle karşılaştıklarında BP yapamadığı sorununu akıllıca önleyen ve jeneratörü eğitmek için pekiştirmeli öğrenmeyi kullanan G Çekişmeli öğrenmenin orijinal yöntemi, ayrımcıyı eğitmek için kullanılır D . Koşullu SeqGAN diyalog modelinin bazı seçilmiş sonuçlarında, RL + GAN tarafından eğitilen jeneratör çoğu zaman gerçek insanlara benzer bazı gerçekçi yanıtlar verebilir (gerçekten "tekinsiz vadiye" yakın hissetme dokunuşum var).

5. Bazı ayrıntılar + bazı uzantılar

Yukarıdakiler, metin oluşturma için RL + GAN'ın sadece temel ilkesidir.Hepinizin bildiği gibi, GAN'ın fiili çalışmasında hala birçok belirsiz faktör vardır.GAN metin oluşturmanın etkisini mümkün olduğunca optimize etmek için, ardından daha fazla GAN keşfedin. NLP alanının potansiyeli hakkında bahsetmeye değer bazı ayrıntılar var.

5.1. Ödül Temeli: Ödül değerinde önyargı

5.2. REGS: Bir kişi hata yapar

Dikkatli okuyucular, SeqGANın ödül optimizasyonu gradyan hesaplama formülünün türetilmesinde ayırt edici D Oluşturulan örnekler için verilen ödül puanları aslında sıra metninin üretilme sürecine göre kelime kelime üretilir.Önceki türetme formülünün, Kısmi metin dizisinin aşamalı ödül değerini topladığını ve ardından ortalamasını gösterdiğini görebilirsiniz. Bununla birlikte, ilk deneyde, gradyan hesaplama formülü, nihai olarak türetilen ödül değerine ve ayırıcıya göre optimize edildi. D Tüm cümle oluşturma sonucunu, bu durumda ayırıcıyı değerlendirmek ve puanlamak için eğitilmiştir. D Oluşturulan sıradaki her bir jeton için puanlama aynıdır. Ödüllendirmek istiyorsanız, birlikte ödüllendirileceksiniz (ödül değeri aynı kabul edilebilir) ve cezalandırılmak isterseniz birlikte cezalandırılacaksınız. Bu yaklaşım bir sonuca yol açacaktır. Aşağıdaki örneğe bakın.

Örneğin, böyle bir diyalog grubu var (gerçek cevaplar ve üretilen cevaplar dahil):

soru = real_answer = fake_answer =

Açıkçası, ayrımcı D İkinci cevabın yanlış olduğunu kabul etmek kolaydır ve kaçınılmaz olarak puan değerinde çok düşük bir ödül verecektir, ancak doğru / yanlış cevapların dikkatli bir şekilde karşılaştırılması, ilk kelime "I" nın aslında gerçek örneğin ilk kelimesi olduğunu göstermektedir. Aynı ve son karakter "." Aslında büyük bir sorun değil, yanlış değiller, "hayır" ve "bil" kelimeleri gerçekten yanlış, ama ne yazık ki, ayırt edici fake_answer Genel cevap yanlıştır ve orijinal masum terimler olan "I" ve "." De düşük bir puanla cezalandırılacaktır.

5.3. Kısmen Kodu Çözülmüş Diziler için MC Arama ve Ayırıcı: doğruluk ve hız arasındaki seçim

5.4. Öğretmen Zorlama: Jeneratör'e bir örnek verin

SeqGAN'da Teacher Forcing'i açıklamaya başlamadan önce, RNN operasyonunun iki modunu kısaca özetlemenize yardımcı olacağım: (1) Serbest çalışma modu (2) Öğretmen Zorlama modu. İlki, RNN işleminin normal yoludur: önceki durumun çıktısı, bir sonraki durumun girişi olarak kullanılır.Bu risklidir, çünkü RNN eğitiminin erken aşamasında, önceki durumda çok kötü sonuçlar varsa, o zaman Sonraki tüm durumlar dahil edilecektir, böylece nihai sonuç çok kötüdür ve hatanın kaynağını izlemek zordur. İkinci Öğretmen-Zorlama modu her seferinde bir sonraki durumun girdisi olarak önceki durumun çıktısını kullanmaz. , Ancak, bir sonraki durumun girdisi olarak doğrudan karşılık gelen kesinlik öğesini kullanın.

Örnek olarak Seq2Seq modelini ele alalım. Üçüncü öğenin çıktı olduğunu varsayıyoruz ve dördüncü öğeyi oluşturmaya hazırız:

girdi = çıktı = etiket =

Serbest çalışma modundaki kod çözücü üçüncü hatayı verir output = 's' (Alt simge 0'dan başlar) sonraki durumun girdisi olarak ve Öğretmeni zorlama modunda, kod çözücü doğru örneğin üçüncü öğesini ekleyecektir. label = 'q' Bir sonraki durum için girdi olarak. Elbette bunun da eksiklikleri var, çünkü etiket verilerine bağlı olduğu için eğitim sırasında daha iyi bir etkiye sahip olacak, ancak test sırasında kesinlik ile desteklenemez. En iyi sonuç Serbest Koşu modunun davranışını Öğretmen-zorlama moduna mümkün olduğu kadar yakın eğitmektir Profesör Forcing bu hedefe ulaşmak için GAN'ı kullanır.

Tabii ki, bunlar aralar.Öğretmen Zorlama modunun orijinal motivasyonuna geri dönmeliyiz: erken eğitimdeki (yineleme) RNN çok zayıftır ve pek iyi sonuçlar veremez (böylece kırılır, kırılır ve çöp çıktıları üretir. Sonraki durumu etkileyin), doğru yola yavaşça girmek için sizi yürümeye zorlamak için zemin gerçeğine güvenmelisiniz.

SeqGAN'da da bu sorun var, jeneratör başlangıçta G Çok zayıf, belli bir miktar ön eğitimden sonra bile, pek iyi sonuçlar üretemiyor ve sonra bu kötü sonuçlar, ayırt edene verilir. D Sadece çok düşük bir Ödül (ceza) iade etmeli, jeneratör G Eğitim sadece ayırıcının puanına göre optimize edilebilir ve iyi bir örnekle yönlendirilemez.İyi bir sonucun ne olduğunu asla bilemezsiniz ve sonuç bir kısır döngü olmalıdır. Bu nedenle SeqGAN eğitiminde jeneratöre verilmesi gerekmektedir. G Gerçek numunelerin yönlendirmesi, üreticiye şunu söylemektir: "Ne tür numuneler yüksek puanlara layıktır Ödül?"

5.5 Oyuncu-Eleştirmen: Daha geniş anlamda GAN mı?

DeepMind tarafından yazılan yarı gözden geçirilmiş bir makalede, pekiştirmeli öğrenme-Aktör-Eleştirmen'deki başka bir özel modelden bahsettim ve bu model ile GAN arasındaki bağlantıyı analiz ettim.

Öncelikle, GAN'daki ayırıcıyı gözden geçirelim D Ve jeneratör G Optimizasyon sırasında amaç işlevi:

Pekiştirmeli öğrenmeden bahsedelim Strateji yinelemesine dayalı pekiştirmeli öğrenmede ödül ortamdan alınır ve ardından mevcut stratejinin eylemi denenerek strateji güncellenir. Bu tür bir işlem, oyun deneme ortamında çok etkilidir, çünkü oyun sistemi, alınan çeşitli eylemlere göre karşılık gelen ödülü istikrarlı bir şekilde verebilen kapalı ve temiz bir ortama sahiptir, ancak gerçek hayatta çoğu zaman kapalı ve net değildir. Çevrede, belirli bir eylem için ne tür bir ödül elde edilmesi gerektiği doğru değildir. Bu, ancak bir DIY skoreri belirleyerek elde edilebilir. Açıkçası, gerçek dünyanın sürekli değişen durumunu mükemmel bir şekilde modellemek zordur.

Makale, GAN modelini özel bir Aktör-Eleştirmen formuyla karşılaştırıyor ve ikisinin ilgili özelliklerini ve sonraki iyileştirme teknolojilerinin ikisine uyarlanmasını karşılaştırıyor. Takviye öğrenme teknolojisi, GAN'ın ayrık verilerde gradyan yayılması sorununu çözmesine yardımcı olduğundan, aynı zamanda pekiştirmeli öğrenme olan Actor-Critic'in aynı zamanda rakip metin üretimi için başka bir olasılık sağladığını hayal edin.

5.6. İRGAN: İki geri alma modeli arasındaki yüzleşme

İRGAN'ın çalışması 2017 yılında SİGİR'de yayınlandı. Yazarın kadrosuna bakılırsa, sıradan bir çalışma olmayacak. Orijinal SeqGAN ekibini içeriyor. Yazar, bilgi edinme alanına düşman ağlar oluşturma fikrini uyguluyor. Geleneksel GAN'ın klasik Çerçevesine bağlı kalmak yerine, IR alanında bulunan iki farklı yol modelini kullanır: Üretken IR modeli ile Ayrımcı IR modeli .

Üretken IR modelinin amacı bir sorgu oluşturmaktır - > Her bir girdi sorgusu için ilgili alma sonuçlarını döndürmek için bu dağıtımı kullanan belgenin alaka dağılımı; ve ayırt edici IR modeli daha çok iki sınıflı bir sınıflandırıcı gibi görünür, amacı, mümkün olduğunca ilgili sorgu çiftlerini ayırt etmektir. < sorgu_r, belge_r > Ve alakasız sorgu çifti < sorgu_f, belge_f > , Belirli bir sorgu çifti için < sorgu, belge > , Ayırıcı IR modeli, sorgu çiftindeki iki öğenin uygunluk derecesini verir.

İRGAN'ın önemli bir özelliği, yüzleşme modelindeki iki bileşenin her birinin bir IR modeli olmasıdır, bu nedenle yüzleşme eğitiminden sonra, hangisi çıkarılırsa alınsın, orijinal darboğazı kırma umudu vardır. Yazar ayrıca, IRGAN'ın eğitim hedefinin Nash dengesine uyup uymadığı konusunda bazı tartışmalar yaptı.Gerçek geri kazanım uygulamasında sözde gerçek korelasyon dağılımını elde etmek zor olsa da, yazar, bunun gözlemlenen bir korelasyon örneği mi yoksa gözlemlenmemiş bir korelasyon örneği mi olduğuna inanıyor, IR modelinin çıktısını ayırt etmek, üretilen IR modelinin karşılık gelen çıktısı ile her zaman pozitif bir korelasyona sahiptir, bu nedenle makaledeki kaldırma kuvveti ve sonunda yüzen bir denge durumuna ulaşmak için ağırlığı sürükleme hakkındaki biraz belirsiz metafor da doğar.

Sonuç

Bu alanın gelişimi hızlı.Belki bu blogu bitirdiğimde, başka bir iş grubu aceleyle çıkıyor ama son son kesinlikle bundan daha fazlası. Sonunda pek iyi değilim.Belki de GAN'ın gelmesini beklemem gerekiyor. Benim için bize harika bir son getir.

Teşekkür

Ulusal Tayvan Üniversitesi'nden Bay Li Hongyi'ye, çok sayıda bilgi noktasını anlamama önemli yardım sağlayan canlı öğretimi için özel teşekkürler.

Referans

He Yongcan CSDN. Eğlenceli metin oluşturma. Http://geek.csdn.net/news/detail/131622.

Ashwin, K, Vijayakumar, Michael, Cogswell, Ramprasath, R, Selvaraju, Qing, Sun, Stefan, Lee, David, Crandall, Dhruv, Batra.Diverse Beam Search: Nöral Sekans Modellerinden Farklı Çözümlerin Kodunu Çözme. Https: // arxiv. org / abs / 1610.02424v1.

Minh-Thang, Luong, Hieu, Pham, Christopher, D, Manning. İlgi Temelli Nöral Makine Çevirisine Etkili Yaklaşımlar. Https://arxiv.org/abs/1508.04025.

W. Chan, N. Jaitly, Q. Le ve O. Vinyals, "Dinleyin, katılın ve heceleyin: Geniş kelime dağarcığına dayalı konuşmayı tanıma için bir sinir ağı," ICASSP, 2016, https://research.google.com/pubs/ pub44926.html.

Jiwei, Li, Minh-Thang, Luong, Dan, Jurafsky. Paragraflar ve Belgeler için Hiyerarşik Bir Sinirsel Otomatik Kodlayıcı. Https://arxiv.org/abs/1506.01057.

Zheng Huabin: Başbakan'dan LSTM'nin babası GAN-Schmidhuber'e kadar, 22 yıllık bir kızgınlık var. Https://zhuanlan.zhihu.com/p/27159510?utm_source=zhihuutm_medium=social.

Jürgen, Schmidhuber. Tahmin Edilebilirlik Minimizasyonu ile Faktör Kodlarını Öğrenmek Nöral Hesaplama, 1992, 4 (6): 863-879,

Ian, J, Goodfellow, Jean, Pouget-Abadie, Mehdi, Mirza, Bing, Xu, David, Warde-Farley, Sherjil, Ozair, Aaron, Courville, Yoshua, Bengio. Generative Adversarial Networks. Https://arxiv.org/ abs / 1406.2661v1.

Samuel, R, Bowman, Luke, Vilnis, Oriol, Vinyals, Andrew, M, Dai, Rafal, Jozefowicz, Samy, Bengio. Sürekli Bir Uzaydan Cümleler Oluşturmak. Https://arxiv.org/abs/1511.06349.

Zheng Huabin. Muhteşem Wasserstein GAN. Https://zhuanlan.zhihu.com/p/25071913.

Ishaan, Gulrajani, Faruk, Ahmed, Martin, Arjovsky, Vincent, Dumoulin, Aaron, Courville. Wasserstein GAN'larının Geliştirilmiş Eğitimi. Https://arxiv.org/abs/1704.00028.

Matt, J, Kusner, José, Miguel, Hernández-Lobato. Gumbel-softmax Dağılımı ile Ayrık Eleman Dizileri için GANS. Https://arxiv.org/abs/1611.04051.

Martin, Arjovsky, Soumith, Chintala, Léon, Bottou. Wasserstein GAN. Https://arxiv.org/abs/1701.07875v1.

Sebastian, Nowozin, Botond, Cseke, Ryota, Tomioka. F-GAN: Varyasyonel Diverjans Minimizasyonunu Kullanarak Üretken Sinir Örnekleyicileri Eğitimi. Https://arxiv.org/abs/1606.00709.

Eric, Jang, Shixiang, Gu, Ben, Poole. Gum-bel-Softmax ile Kategorik Yeniden Parametreleme. Https://arxiv.org/abs/1611.01144.

Jiwei, Li, Will, Monroe, Alan, Ritter, Michel, Galley, Jianfeng, Gao, Dan, Jurafsky. Diyalog Üretimi için Derin Takviye Öğrenimi. Https://arxiv.org/abs/1606.01541v3.

Lantao, Yu, Weinan, Zhang, Jun, Wang, Yong, Yu SeqGAN: Politika Gradyanlı Sıra Oluşturucu Reklam Ağları. Https://arxiv.org/abs/1609.05473.

Mehdi, Mirza, Simon, Osindero. Koşullu Üretken Çekişmeli Ağlar. Https://arxiv.org/abs/1411.1784.

Scott, Reed, Zeynep, Akata, Xinchen, Yan, Lajanugen, Logeswaran, Bernt, Schiele, Honglak, Lee. Generative Adversarial Text to Image Synthesis. Https://arxiv.org/abs/1605.05396.

Jiwei, Li, Will, Monroe, Tianlin, Shi, Sébastien, Jean, Alan, Ritter, Dan, Jurafsky. Sinirsel Diyalog Üretimi için Adver-sarial Learning. Https://arxiv.org/abs/1701.06547.

Silver, D .; Huang, A .; Maddison, C. J .; Guez, A .; Sifre, L .; ve diğerleri 2016. Mastering the game

derin sinir ağları ve ağaç arama ile gidin. Nature 529 (7587): 484489,

Williams, RJ and Zipser, D. (1989). Sürekli olarak tamamen tekrarlayan sinir ağlarını çalıştırmak için bir öğrenme algoritması. Neural computation, 1 (2), 270280, /neco.1989.1.2.270.

Alex, Lamb, Anirudh, Goyal, Ying, Zhang, Saizheng, Zhang, Aaron, Courville, Yoshua, Bengio. Professor Forcing: Tekrarlayan Ağların Eğitimi için Yeni Bir Algoritma. Https://arxiv.org/abs/1610.09038v1.

David, Pfau, Oriol, Vinyals. Generative Adversarial Networks and Ac-tor-Critic Methods. Https://arxiv.org/abs/1610.01945.

Jun, Wang, Lantao, Yu, Weinan, Zhang, Yu, Gong, Yinghui, Xu, Benyou, Wang, Peng, Zhang, Dell, Zhang. IRGAN: Üretken ve Ayrımcı Bilgi Erişim Modellerini Birleştirmek İçin Bir Minimax Oyunu. Https: // arxiv.org/abs/1705.10513v1.

Hungyi, Lee. Makine Öğrenimi ve Derin ve Yapılandırılmış olması. Http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html.

2017 yeni yıl "yeni" makineyi kuruyor! Bir başka yıl savurma
önceki
Sadece 100 yuan'dan fazla harcayın, bu donanımı satın almazsanız çok şey kaybedeceksiniz
Sonraki
Bireysellik arayışı pahalıdır! i76700K + 1070 oyun konsolu
Makineler öğrenmiyor: Ian Goodfellow, GAN seviyenizi değerlendireceğim
Bilgisayar Haberleri Nanjing 2017 Sonbahar Okurları ve Editörleri Toplantısı işe alıyor, katılmaya hoş geldiniz!
Makine öğrenmez: sevimli şey üreteci: kedi resimleri yapmak için dört GAN nasıl kullanılır
"Binlerce Ev ve Fener" yardım hattı karlı platoyu aydınlatıyor: ilk köy yeniden inşası tamamlandı
Gizlilik önemlidir! Tüm bu kodlama yöntemlerini biliyor musunuz?
Yatağın altında bir kutu bulun, ne olduğunu görmek için açın, kırmızı yıldızla ilgili
7.1 kanallı oyun günaha, Logitech G433 kulaklık incelemeleri
Hepsi 16G kapasiteli, satın almak için en uygun bellek kaç tane? tabiki bekar değil
AMD 7nm tam hat saldırısı: Ryzen 3, 6 çekirdek ve 12 iş parçacığı üzerinde sert
Yeni kurulan ana bilgisayar burada: grafik kartı dikey olarak yerleştirilebilir, kasanın geniş tarafı şeffaf ve soğuk ışık kirliliği
350W güç fazlasıyla yeterli, titanyum ana bilgisayarın güç tüketimi testi
To Top