達(dá)摩院SPACE大模型:知識注入與知識利用(2)
3. 準(zhǔn)備工作
將對話策略作為知識注入到預(yù)訓(xùn)練對話模型,需要在數(shù)據(jù)和知識層面做一些準(zhǔn)備工作。如上圖所示,將英文開源數(shù)據(jù)集進(jìn)行綜合,形成英文任務(wù)型對話 DA 體系——UniDA,共 5 大類,20 個標(biāo)簽,100 萬份有標(biāo)注的數(shù)據(jù),3500 萬的無標(biāo)注數(shù)據(jù),如下圖所示:
整理好以上知識之后,如何定義預(yù)訓(xùn)練的任務(wù)?如上圖所示,選用的是顯式建模對話策略,即給定對話歷史,預(yù)測下一輪系統(tǒng)端的 DA,即做成分類任務(wù),預(yù)測下一輪的 DA 標(biāo)簽。
4. 半監(jiān)督方案設(shè)計
有了數(shù)據(jù),有了知識,有了顯式建模方式,就可以進(jìn)行半監(jiān)督的學(xué)習(xí)。如上圖所示,半監(jiān)督學(xué)習(xí)的方案主要由以上三種方式:判別式方法、生成式方法、對比學(xué)習(xí)方法等。
由于判別式方法和生成式方法比較常規(guī),所以先對以上兩種方法進(jìn)行探索。結(jié)果表明以上兩種方式做出來的效果并不好。如上圖所示,針對判別式的方法,對有標(biāo)數(shù)據(jù),可以新加一個損失函數(shù) LDA ,但是對于無標(biāo)數(shù)據(jù),無法添加損失函數(shù)。針對生成式的方法,也是同樣的道理。即 Self-Predict 和 VAE 的方法,對于有標(biāo)數(shù)據(jù)建模是不錯的,但是對于無標(biāo)數(shù)據(jù)的建模效果不好,因為基于?預(yù)測的?法通過模型參數(shù)共享,實現(xiàn)弱約束,基于 VAE 的?法通過重參數(shù)化 Trick 進(jìn)?梯度回傳,但隱變量不穩(wěn)定。
基于上述問題,我們希望通過對比學(xué)習(xí),進(jìn)行半監(jiān)督學(xué)習(xí)的探索。針對有標(biāo)數(shù)據(jù)可以輕松地加上 LDA 損失函數(shù),而針對無標(biāo)數(shù)據(jù)如何做,這里引入一致性損失函數(shù)。如上圖,我們對同一個樣本,過兩遍圖右邊的模型結(jié)構(gòu),每一遍都有 Dropout 進(jìn)行隨機(jī)處理,所以,兩次的樣本編碼不一致,但是,相差不會很遠(yuǎn),距離應(yīng)該很近。整體思想如下:
基于少量的有標(biāo)數(shù)據(jù)和大量的無標(biāo)數(shù)據(jù),通過有標(biāo)數(shù)據(jù)學(xué)習(xí)一個支持的概率分布,對于無標(biāo)數(shù)據(jù),進(jìn)行兩次學(xué)習(xí),每次過模型都生成一個向量,這兩次生成的向量的距離,應(yīng)該是很近的。通過這種對比學(xué)習(xí)的半監(jiān)督學(xué)習(xí)方式,很好地解決了半監(jiān)督學(xué)習(xí)有標(biāo)數(shù)據(jù)和無標(biāo)數(shù)據(jù)結(jié)合的問題。
模型的效果非常好,在 MultiWOZ2.0 和 MultiWOZ2.1 實現(xiàn)了 5.3% 和 5.5% 的提升。以前的模型提升只能在 1% 或者 2% 的提升,而 SPACE 帶來了 5% 以上的提升。
拆開細(xì)看,以 MultiWOZ2.0 為例,模型的提升主要體現(xiàn)在 Success 和 BLEU 等方面,因為對話策略對于 Success 對話完成率和 BLEU 對話回復(fù)生成至關(guān)重要,這說明通過半監(jiān)督,模型很好地學(xué)會了這類知識。
除了對全量數(shù)據(jù)的測試,也在少量數(shù)據(jù)進(jìn)行了測試,如上圖所示,分別在 5%、10%、20%、50% 等數(shù)據(jù)量上進(jìn)行了對比實驗,可以發(fā)現(xiàn) SPACE 模型在不同數(shù)據(jù)量上也帶來了顯著的提升。
以上主要講解我們提出的知識注入的方式,半監(jiān)督訓(xùn)練 SPACE 模型,在預(yù)訓(xùn)練上面顯著提高預(yù)訓(xùn)練模型的效果。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。
物聯(lián)網(wǎng)相關(guān)文章:物聯(lián)網(wǎng)是什么