控制大象的小老鼠
撰文/陳儁翰
屬性模型
這是一種隨插即用的框架,叫做Plug and Play Language Models(PPLM),可以讓研究人員對模型生成的文字有更大程度的控制。PPLM包含了一個屬性模型(attribute model),也就是當你輸入一段話,它可以告訴你這段話跟某個主題之間的相關性,比如:
說明「我有一隻小毛驢」這句話比較有可能出現在與「動物」這個主題相關的對話中,可能性高於「政治」或「科學」相關的對話。
條件語言模型
將屬性模型在PPLM框架下與語言模型(如GPT-2)結合,就變成了一個條件語言模型。根據貝氏定理,我們可以得到「特定主題的對話中出現一句子的機率」正比於「該句子出現在特定主題中的機率」與「該句機率」的乘積,也就是:
其中p(主題|句子)可由屬性模型得到,p(句子)和p(句子|主題)分別對應到語言模型與條件語言模型的輸出。
使用PPLM的好處在於,原有的語言模型本身並不需要再次訓練或微調,只要更新部分隱空間即可,以下簡單介紹要如何結合這兩個模型(以GPT-2為例):
- 文字輸入GPT-2模型,所產生的結果傳遞給屬性模型。
- 以屬性模型反向傳播的結果來更新GPT-2的隱空間參數。
- GPT-2再次產生新的輸出。
以上步驟可以重複數次。
然而根據屬性模型反向傳播的結果來更新GSP-2的參數,變動幅度可能過大,這就像如果我們一味讓模型產生更正向的句子,而不加予限制的話,很可能會產生像是「很棒!很棒!非常棒!」這類空泛的回應。一個好的條件語言模型應該也要像一般的語言模型一樣,生成通順、符合語境的句子,所以我們可以透過限制更新前與更新後語言模型間的KL散度(Kullback-Leibler divergence),使得兩個模型的分布是接近的,如此便能產生既通順又與主題相關的句子。
Uber AI將PPLM模型與試用版開放在網路上,讓大家都有機會一試這個能操控大象的小老鼠。
參考資料
- S. Dathathri et al., “Plug and Play Language Models: A Simple Approach to Controlled Text Generation“, arXiv.org, 2019.
- E. Wallace, S. Feng, N. Kandpal, M. Gardner and S. Singh, “Universal Adversarial Triggers for Attacking and Analyzing NLP“, arXiv.org, 2019.
(本文由教育部補助「AI報報─AI科普推廣計畫」執行團隊編譯)