Kaynak: Tencent Big Data
Bu makale yaklaşık 3500 kelimedir, okumanız tavsiye edilir 7 dakika.
Bu makale size görev tabanlı diyalogda derin pekiştirmeli öğrenmenin uygulanmasını tanıtır.
arka fonBu makale esas olarak görev temelli diyalogda derin pekiştirmeli öğrenmenin uygulanmasını tanıtmaktadır. İkisinin kombinasyonu esas olarak görev temelli diyaloğun strateji öğrenmesine derin pekiştirmeli öğrenmeyi uygulamaktır. Şu anda, endüstride yaygın olarak kullanılan stratejiler, açıkça temel alınan kurallara dayanmaktadır. Kurala dayalı yöntemin, yüksek iş gücü maliyeti ve zayıf genelleme yeteneği gibi eksiklikleri vardır.Tamamlayıcı öğrenme bu sorunları çözebilir. Dahası, pekiştirmeli öğrenme yalnızca bazı hedefler gerektirir ve derin öğrenmenin en büyük eksikliklerinden birini ortadan kaldıran büyük miktarda eğitim külliyatına ihtiyaç duymaz.
İlk olarak, takviye öğrenme ve diyalog sistemini kısaca tanıtın ve ardından özellikle görev temelli diyalogda derin takviye öğrenmenin nasıl uygulandığını tanıtın ve son olarak eğitim sonuçlarını ve özetini verin. Aşağıdaki örnekler, sipariş sahnesine dayalı olacaktır.
Takviye öğrenmeTarafından takviye öğrenme sistemi Temsilci (Temsilci), durum (durum), ödül (ödül), eylem (eylem) ve ortam (Çevre) Aşağıdaki şekilde gösterildiği gibi beş bölümden oluşur.
Pekiştirmeli öğrenmenin ana gövdesinin Aracı ve Çevre olduğu görülebilir. Ortama uyum sağlamak için aracı, nihai ödülü en yüksek ödül haline getirmek için bir dizi eylemde bulunur ve aynı zamanda süreçteki belirli parametreleri günceller. Aslında, pekiştirmeli öğrenme basitçe bir döngü olarak anlaşılabilir. Spesifik çalışma yöntemleri aşağıdaki gibidir:
Bir diyalog sistemi, belirli bir amaç için insanlarla konuşmak için tasarlanmış bir makinedir.Bu amaç, belirli görevler için veya sadece insanlarla sohbet etmek için olabilir. İlki, göreve dayalı bir diyalog, ikincisi ise göreve dayalı olmayan bir diyalog sistemidir. .
Göreve dayalı diyalog, temel olarak ortak uçak bileti rezervasyonu ve yemek siparişi gibi belirli bir amaç içindir. Göreve dayalı diyalog endüstrisi için ana uygulama planı hala boru hattı yöntemidir, yani tüm diyalog sistemi SLU, DST, DPL ve NLG şeklinde düzenlenmiştir.Akademik dünyada uçtan uca yöntem de giderek daha fazla ilgi görmüştür. İşlem hattından farklı olarak, uçtan uca model bir modül kullanır ve yapılandırılmış bir dış veritabanıyla etkileşime girer.
Görev dışı konuşmalar, Microsoft Xiaoice'un insanlarla sohbet etmesine benzer. Görev dışı diyalog için iki ana uygulama şeması vardır: üretkenlik ve erişim. Seq2seq modeli gittikçe olgunlaştıkça, üretken şema giderek daha fazla dikkat çekiyor.Bu yöntem, diyalog görevini bir çeviri görevi olarak görüyor ve Q'nun (kişinin söylediği) ve A'nın (makinenin yanıtı) olduğunu düşünüyor. İki dil.
Geri alma formülü, sistemin genişletilmiş sorular (her soru standart bir soruya karşılık gelir), cevaplar (her standart soru bir cevaba karşılık gelir) dahil olmak üzere çok sayıda eğitim verisine sahip olmasıdır, kullanıcı bir cümle söylediğinde, sistem bu cümleyi şu şekilde kullanır: Sorgu, eğitim setindeki eşleşen soruları alır ve sıralar ve son olarak bu sorunun standardına göre sorgu cevabını sorar. Elbette, bu iki yöntemin bir kombinasyonu da var, yani aday cevapları oluşturmak için üretken formüller kullanmak ve ardından doğru cevaplar elde etmek için eşleştirmek ve sıralamak için geri alma formüllerini kullanmak.
DQN + görev tabanlı diyalogDQN
Q-öğrenme bir tür pekiştirmeli öğrenmedir, Q-öğrenmede, bir Q değerleri tablosu tutuyoruz, tablonun boyutu: durum sayısı S * eylem sayısı A, tablodaki her sayı, s durumunda eylem a kullanılarak elde edilebilecek indirimli gelecekteki faydaları temsil eder. Ve-Q değeri. Sonunda yakınsaması için Q değeri tablomuzu sürekli olarak yineliyoruz ve ardından Q değeri tablosuna göre her durumda optimum bir strateji seçebiliriz.
DQN, derin öğrenme ve pekiştirmeli öğrenmenin bir kombinasyonudur, Yani, Q-öğrenmede Q tabloları yerine sinir ağları kullanmak. Sıradan Q-öğrenmede, durum ve eylem uzayları ayrık olduğunda ve boyutluluk yüksek olmadığında, Q-Table her bir durum-eylem çiftinin Q değerini depolamak için kullanılabilir, ancak durum ve eylem uzayları yüksek boyutlu veya sürekli olduğunda Q-Table gerçekçi değildir ve sinir ağları bunda iyidir.
Bu nedenle, Q-Tablo güncelleme problemi fonksiyon uydurma problemine dönüştürülür ve benzer durumlar için benzer çıktı eylemleri elde edilir. Spesifik olarak, örneğin, hala bir Q değeri tablosuna sahibiz Sinir ağının işlevi, bir s durumu ve a eylemi verilen karşılık gelen Q değerini tahmin etmektir, böylece sinir ağının sonucu, Q tablosundaki değere yakın olur. Bununla birlikte, DQN yöntemi kesinlikle bir Q tablosunu korumaya devam edemez, bu nedenle son geri bildirim ödülü aşağıdaki formülde gösterildiği gibi yaklaşık hedef olarak alınır ve Q fonksiyonuna parametresini güncelleyerek optimum Q değerine yaklaşılır. Bu nedenle, DQN, Q değerine bir işlev aracılığıyla uyacak bir sinir ağı yapısı tasarlamaktır, yani:
Elbette bu da bazı sorunları beraberinde getirecektir:
Yukarıdaki sorunlara özel çözümler aşağıdaki gibidir:
İşlev optimizasyonu problemleri için, denetimli öğrenmenin genel yöntemi, önce Kayıp İşlevini belirlemek, ardından gradyanı bulmak ve parametreleri güncellemek için stokastik gradyan inişini kullanmaktır. DQN, Q-Öğrenmeye dayalı Kayıp Fonksiyonunu belirler. Q-hedef değeri ile q-eval değeri arasındaki farkı olabildiğince küçük yapmak istiyoruz. DQN'deki kayıp işlevi:
Burada yi, s durumuna ve a eylemine karşılık gelen standart Q değeri olarak düşünülebilir. Aşağıdaki ikili ağ yapısına göre, yi, önceki yineleme döngüsünün veya hedef-ağ ağının parametrelerine göre hesaplanan q-hedef değeridir ve mevcut Ağ yapısındaki parametreler ilgisizdir.yi'nin hesaplanması aşağıdaki gibidir ve daha sonra tüm amaç fonksiyonu stokastik gradyan iniş yöntemi ile optimize edilebilir.
Oynatmayı deneyimleyinDeneyim havuzunun işlevi esas olarak korelasyon ve statik olmayan dağılım sorununu çözmektir. Spesifik yöntem, kayıttan yürütme bellek birimindeki her bir adımda aracı ve ortam arasındaki etkileşimle elde edilen transfer örneklerini (st, at, rt, st + 1) depolamak ve eğitim sırasında eğitim için rastgele bazılarını (mini parti) çıkarmaktır. (Aslında, diyalog süreci parçalar halinde saklanır ve eğitim sırasında rastgele çıkarımla korelasyon problemi önlenir) Yukarıdaki kod her bir sinir ağı tahmininin sonuçlarını deneyim havuzuna kaydeder ve aşağıdakiler her eğitim içindir Bu sırada, eğitim için deneyim havuzundan rastgele bir grup çıkarılır.
Çift ağ yapısıİkili ağ yapısı, iki sinir ağı oluşturmak içindir: target_net ve eval_net; eval_net, parametre eğitimi ve Q değerini tahmin etmek için kullanılır ve target_net, eval_net'in bir kopyasıdır, bu ağ, eşdeğer olan hedef Q değerini (yapı etiketinde yi) tahmin etmek için kullanılır. Denetimli eğitimde kullanılan etiket. Hedef_net, belirli aralıklarla eval_net'e güncellenen bir parametredir, böylece hedef Q değeri belirli bir süre değişmeden kalır, bu da mevcut Q değeri ile hedef Q değeri arasındaki korelasyonu belirli bir ölçüde azaltır ve algoritmanın kararlılığını artırır.
Görev tabanlı diyalogGöreve dayalı diyaloğun temel amacı yemek siparişi vermek, bilet rezervasyonu yapmak gibi bir görevi tamamlamaktır. Bu senaryoda kullanıcıya bir cevap vermek yeterli değildir. Ayrıca bir kullanıcının niyetini ve bu niyetle ilgili bilgileri gerçekten anlamak gerekir. Bir kullanıcı yemek sipariş etmek isterse, yemeğin belirli tarihini, yemek yiyen kişi sayısını vb. Bilmesi gerekir, bu nedenle yuva çıkarma işlemi vb. Gerçekleştirmesi gerekir ve ayrıca mevcut bilgi miktarına ve edinilen ve alınmayan bilgilere, vb., Göreve dayalı diyaloğa dikkat etmesi gerekir. Boru hattı uygulama şeması aşağıdaki şekilde gösterilmektedir:
Görev temelli diyaloğa pekiştirmeli öğrenmenin uygulanması, temel olarak DPL öğrenme diyaloğunun eylem kararına pekiştirmeli öğrenmeyi uygulamaktır; yani, pekiştirmeli öğrenmedeki Eylem, bir kullanıcının sorusunu yanıtlama veya kullanıcıya sorma gibi diyalogdaki bir sonraki eyleme karşılık gelir. Slotla ilgili bir problem vb. Takviyeli öğrenmeyi kullanmanın bir avantajı, eğitim verisinin gerekmemesidir, çünkü eğitim süreci sırasında, yalnızca Simülatörün belirlenen hedefe göre soruları yanıtlaması ve sorması gerekir. Pratik uygulamalarda, DM, kullanıcılara bazı bilgileri geri beslemek için pekiştirmeli öğrenmede bir aracı olarak kullanılır. DQN'deki ödül, diyaloğun sonucuna göre verilir.İki aşamaya ayrılır.Birincisi, diyalog tamamlanmadığında her bir ilave diyalog turu için -1 ödül vermek, diğeri ise görev tamamlandığında diyalog tamamlandığında. Sonra bir ödül verin (max_turn-turn), aksi takdirde ödül - (2 * max_turn) olur.
Buna ek olarak, takviye öğrenme eğitim sürecinde, SLU ve NLG fiilen kullanılmaz.Aşağıdakiler gibi doğal dile dönüştürmeden Aracı ve Kullanıcı Simülatörü arasında iletişim kurmak için yalnızca yapılandırılmış verilere ihtiyaç vardır:
"18 Şubat 2019 ve 19 Şubat 2019'da hala açık pozisyonlar var" ifadesini gösterir:
"5 kişilik koltuk rezerve etmek istiyorum. Koltuk ne zaman müsait olacak?"
Yukarıdakilere ek olarak, restoranın belirli koşullar altında kalan koltukları olup olmadığı gibi fiili kullanımdaki veri sorgusunu simüle etmek için gerçek duruma dayalı bir veri tabanı oluşturmak da gereklidir.
etki1. Başarı oranı
2. Ödüller
3. Konuşma turlarının sayısı
4. Örnekler
(SLU ve NLG burada dikkate alınmaz, yapılandırılmış veriler gerçek eğitim sürecinde kullanılır), hedefimizin aşağıdaki gibi olduğunu varsayalım:
Pekiştirmeli öğrenmeyi kullanmanın sonuçları aşağıdaki gibidir:
Manuel çeviri (aslında, şablon yöntemine dayalı NLG) aşağıdaki gibidir:
Yukarıdaki sonuçlar hala çok iyidir ve temelde bu senaryo için dikkatle tasarlanmış kurallar ve yöntemlerle tutarlıdır:
sonuç olarakYakınsamayı hızlandırmak için ek cezalar ve ödüller ekleyebilirsiniz.Örneğin, önceki bölümdeki etki, ek ceza ve ödüllerin eklenmemesidir.Yaklaşık 5000 dönemde birleştiği görülebilir, ancak sorulmayan ve tekrarlanan soruları yanıtlayan bazı cevaplar eklerseniz Eğer ceza 1000 devirden az ise yakınsayacaktır.Ayrıca bu cezaların ve ödüllerin eklenmesi ağın istediğimiz yönde antrenman yapmasını ve daha iyi sonuçlar almasını sağlayacaktır.
Şu anda, esas olarak yemek sipariş etme görevi üzerine deneyler yaptık Bu görev görece basit ve doğrulamak için daha karmaşık bir senaryo bulmamız gerekiyor.
Eğitim sürecinde sadece slotun dolu olup olmadığı kullanılır ve slotun değeri dolu slot için kullanılmaz.Bunun için slot değerinin DPL kararına etkisi olup olmadığını daha fazla araştırmak gerekir.
Hat üzerinde kullanılan slot sayısının değiştirilmesi gerektiğinde, eğitimin tekrar yapılması gerekir ki bu çok zaman alır.
Hedef ve Simülatör, gerçek çevrimiçi kullanım sırasında sürekli eğitim gerektiren nispeten "katı" bir yaklaşımdır, böylece diyalog kararları daha akıllıca ve kullanıcı beklentileri doğrultusunda daha fazla yapılabilir.
Referanslar
[1] Xiujun Li, Yun-Nung Chen, Uçtan Uca Görev Tamamlama Sinirsel Diyalog Sistemleri
2 Volodymyr, Mnih, derin pekiştirmeli öğrenme yoluyla insan seviyesinde kontrol
[3] https://morvanzhou.github.io/tutorials/machine-learning/reinforcement-learning/
[4]
Editör: Wang Jing redaksiyon: Lin Yilin - Bitiş -Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.