Akıllı diyalogda derin pekiştirmeli öğrenmenin uygulanması (örneklerle)

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 fon

Bu 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 öğrenme

Tarafı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.

  • Danışman: Temsilci, tüm takviye öğrenme sisteminin çekirdeğidir. Ortamın durumunu (Durum) algılayabilir ve ortam tarafından sağlanan ödül sinyaline (Ödül) göre, uzun vadeli ödül değerini en üst düzeye çıkarmak için uygun bir eylem (Eylem) seçmeyi öğrenebilir. Kısacası, Temsilci, çevre tarafından sağlanan ödüle dayalı olarak çevresel durumdan eyleme bir dizi eşleştirme öğrenir.Eylem seçiminin ilkesi, gelecekte biriken ödül olasılığını en üst düzeye çıkarmaktır. Seçilen eylem yalnızca şu anda Ödülü etkilemekle kalmaz, aynı zamanda Ödülü bir sonraki anda ve hatta gelecekte de etkiler. Bu nedenle, Temsilcinin öğrenme sürecindeki temel kuralı şudur: belirli bir eylem (Eylem) ortama olumlu bir geri dönüş getirirse (Ödül) , O zaman bu eylem güçlenecek, aksi takdirde fizikteki şartlanma ilkesine benzer şekilde yavaş yavaş zayıflayacaktır.
  • Çevre: Ortam, Temsilci tarafından gerçekleştirilen bir dizi eylemi alacak ve bir dizi eylemin kalitesini değerlendirecek ve Temsilciye nasıl yapılacağını söylemek yerine bunları ölçülebilir (skaler sinyal) bir Ödül geri bildirimine Aracıya dönüştürecektir. Hareketleri öğrenmek için. Temsilciler yalnızca kendi geçmiş (Tarih) deneyimlerinden öğrenebilirler. Ortam aynı zamanda bir aracı gibi durum bilgisi de sağlar.
  • Ödül: Ortam, Aracıya belirli bir zaman adımında Temsilci tarafından yapılan eylemin kalitesini değerlendirmek için kullanılan ölçülebilir bir skaler geri bildirim sinyali sağlar. Pekiştirmeli öğrenme, kümülatif ödülleri maksimize etme hipotezine dayanır: Pekiştirmeli öğrenmede, temsilcinin eylem seçiminin amacı gelecekteki kümülatif ödülleri maksimize etmektir.
  • Durum: Durum, Ajanın bulunduğu ortam bilgisini ifade eder ve ajan tarafından Eylem seçimi yapmak için kullanılan tüm bilgileri içerir.Bu, Geçmişin bir fonksiyonudur: St = f (Ht).

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:

  • Aracı, ortamdan bir St durumu elde eder;
  • Temsilci, St durumuna göre bir işlem yapar;
  • At'dan etkilenen ortam değişir ve yeni durum St + 1'e geçiş;
  • Çevre, temsilciye bir ödül geri gönderir (olumlu ödüldür, olumsuz cezadır).
Diyalog sistemi

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ı diyalog

DQN

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:

  • Sinir ağları, denetimli öğrenme için çok sayıda etiketli örneğe ihtiyaç duyar, ancak pekiştirmeli öğrenmenin yalnızca ödül dönüş değerleri vardır. Denetimli verilerin nasıl oluşturulacağı ilk sorun olur ve buna gürültü, gecikme (onlarca milisaniyeden sonra geri dönüşler) ve seyreklik ( Birçok Eyaletin ödülleri 0'dır) ve diğer sorunlar;
  • Sinir ağının öncülü, örneklerin bağımsız ve aynı şekilde dağıtılmış olması ve pekiştirmeli öğrenmeden önceki ve sonraki durum durumu ve geri bildirimin bir bağımlılık-Markov kararına sahip olmasıdır;
  • Sinir ağının hedef dağılımı sabittir, ancak pekiştirmeli öğrenmenin dağılımı değişmektedir.Örneğin, bir oyun oynadığınızda, bir seviyenin ve bir sonraki seviyenin durum dağılımı farklıdır, bu nedenle önceki seviyeyi eğittikten sonra, bir sonraki seviyenin yeniden eğitilmesi gerekir;
  • Geçmiş çalışmalar, değer işlevlerini temsil etmek için doğrusal olmayan ağlar kullanıldığında kararsızlık gibi sorunların ortaya çıktığını göstermiştir.

Yukarıdaki sorunlara özel çözümler aşağıdaki gibidir:

  • Etiket oluştur: Q-Öğrenme yoluyla etiketler oluşturmak için ödülü kullanın (1. soruya karşılık gelir) Yukarıda belirtildiği gibi, ödülü tahmin etmek ve sorunu bir gerileme problemine dönüştürmek için sinir ağını kullanın;
  • Oynatma deneyimi: Korelasyon ve statik olmayan dağılım problemini deneyim tekrarı (deneyim havuzu) (problemler 2, 3'e karşılık gelir) yoluyla çözün;
  • Çift ağ yapısı: Mevcut Q değerini oluşturmak için bir sinir ağı kullanın ve Hedef Q değerini oluşturmak için başka bir sinir ağı kullanın (soru 4'e karşılık gelir).
Etiket oluştur

İş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ı deneyimleyin

Deneyim 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ı diyalog

Gö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:

  • SLU: Dil anlayışı, Kullanıcının doğal dilinde ifade edilen metin, makinenin anlayabileceği önceden tasarlanmış bir biçime, genellikle bir çift niyet ve yuva değerine dönüştürülür. Kullanıcı "Yarın için bir koltuk rezerve etmek istiyorum" girerse, SLU'nun çıktısı amaç = sipariş, yuva = tarih: yarın olmalıdır (çıkarılan gerçek yuva değerinin standartlaştırılması gerekir). Bu kısmi amaç tanıma, bir sınıflandırma görevi veya bir geri alma görevi olarak kullanılabilir ve yuva çıkarma genellikle bir NER problemi olarak kullanılabilir.
  • DST: Görüşme durumu izleme, Diyalog geçmişine göre her diyalog turunun girdisini yönetin ve diyaloğun mevcut durumunu tahmin edin. Örneğin, kuralları kullanma yöntemi: hangi boşlukların doldurulduğu, hangilerinin doldurulmadığı, vb., Bize sorulan, kaç kez sorulduğu vb.
  • DPL, diyalog stratejisi öğrenimi, Sonraki tepkiyi mevcut konuşma durumuna göre yapın. Örneğin, DST'ye göre hangi alanların doldurulmadığını bilmek için, soru sormak için en yüksek önceliğe sahip bir alan seçmek için bir kural yöntemi kullanın. DPL'nin görevi sıralı bir karar verme sürecidir, bu nedenle yaygın olarak kullanılan yöntemler arasında kural yöntemi, CRF ve bu makalenin odak noktası: pekiştirmeli öğrenme yöntemi bulunur.
  • NLG, doğal dil üretimi, Sistem tarafından elde edilen eylemlere dayalı olarak müşterilerin anlaması kolay doğal dil metni oluşturun. Anlaşılması kolaydır. DPL'nin eylemi, kullanıcıdan yemek yiyen insan sayısını sormaksa, sistemdeki {"num": "UNK"} isteğine benzer olabilir. NLG'nin rolü, bunu "Kaç kişi yemek yiyor?"
uygulama

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?"

  • Simülatör: kullanıcı davranışını simüle edin, Simülatörün ana yöntemi, Temsilcinin sorusunu yanıtlamak veya soruyu sormak, hedefi tamamlamak, diyaloğu bitirmek veya reddetmek gibi, Temsilciden gelen bilgi geri bildirimine dayalı olarak Temsilci ile daha fazla etkileşime girmektir. Bu, kural yöntemini kullanmaya eşdeğerdir, ancak kullanıcıları modellemek için bir dünya modeli oluşturmak için modelleri kullanmanın bir yolu da vardır.
  • Amaç: Misyonun amacı, Sıralama görevinde belirlediğimiz hedef form aşağıdaki şekilde gösterildiği gibidir. Pekiştirmeli öğrenmenin görev temelli diyaloglara iyi uygulanabilmesinin ana nedenlerinden biri, bu hedeflerin tek tek yazılmasına gerek olmaması, yalnızca iş gereksinimlerine göre her yuvaya göre oluşturulması gerektiğidir, bu da çok sayıda eğitim beklentisini ortadan kaldırır.

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.

etki

1. 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ç olarak

Yakı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.

Wuhan Filarmoni Orkestrası konserleri harika, bunları kaçıramazsınız
önceki
Sağlık sigortası kartının bakiyesi nasıl kullanılır? Şangay vatandaşları büyük özel sigortadan ticari sigorta satın alabilirler
Sonraki
3D efekti hissedin ve hikayeyi dinleyin. En havalı harita yazılımı "Google Earth" güncellendi!
Ağ işlemlerine yardımcı olmak için bir chatbot oluşturmayı öğretin (kod eklenmiştir)
Afrika kıyılarında, yüzeyden 50.000 kat daha yüksek rezervlerle nadir metal yatakları keşfedildi.
Beyaz kuğu, siyah kuğu, gri kuğu? Tanıma yapmak için evrişimli sinir ağını nasıl kullanacağınızı öğretin
0-5 trajedi! Wang Shuang'ın Paris'i 19 dakika içinde çöktü ve sezonun üçüncü tacını kaybetti.
Yine Shandong Dahan! 4 yaşındaki kız demiryolu raylarına düştü ve Shandong öğretmeni vurdu!
Tsinghua Üniversitesi, Peking Üniversitesi ve Zhejiang Üniversitesi'nin bilgisayar kursu kaynak koleksiyonlarının tümü burada (bağlantı ile)
"AI Truman World" den nasıl kaçılır (kaynaklarla)
Büyük üzüntü! Serie A küme düşme takımı Juventus'u 2-1 tersine çevirdi + 62 yıllık rekoru kırdı, 37 yaşındaki kıdemli oyuncu kutlamak için ayrıldı
Doktor, prematüre bebeklerin ebeveynlerine bir teşekkür mektubu yazdı Biyolojik ebeveynler ve geçici ebeveynler birlikte mucizeler yarattı
Beiqing Rehabilitasyon Bölümü'nün lideri olan Şangay Jiaotong Üniversitesi, yeni bir AI lisans bölümü kurmak için onaylandı ("Şangay Jiaotong Bölümü" envanteriyle)
Jindo Group: "Pazarlama gücü", küçük, orta ve mikro işletmelerin yüksek kaliteli gelişimi için temel itici güçtür
To Top