可解釋推薦系統:知其然,知其所以然
近幾年,人工智慧的可解釋性問題受到了來自政府、工業界和學術界的廣泛關注。美國國防部先進研究專案局DARPA資助了可解釋性人工智慧專案XAI(Explainable AI);中國國務院在《新一代人工智慧規劃》中提出的“實現具備高可解釋性、強泛化能力的人工智慧”目標,得到了各個公司的積極響應;ICML 2017年的最佳論文《Understanding Black-Box Predictions via Influence Functions》以及NIPS 2017的最佳論文《A Linear-Time Kernel Goodness-of-Fit Test》也和可解釋性有著緊密關聯。
當深入研究這個新興且快速發展的領域時,一些尚未清楚的問題也困擾著我們。解釋的具體目標是什麼?當我們要將解釋呈現給普通使用者看時,我們的目標是否會有變化?怎麼對可解釋性的問題進行較為嚴格的定義?提高機器學習方法(如推薦模型)的可解釋性,現有方法的流程是什麼樣的?未來的發展方向是什麼樣的?
這些問題既困擾著我們,也帶來了研究的樂趣。本文將以推薦系統的解釋性為引,和大家分享我們探索到的部分答案,希望能對可解釋性研究起到拋磚引玉的作用。
目標及定義
可解釋機器學習的目標問題可以從2017年引起廣泛關注的機器學習鍊金術之爭談起。NIPS 2017年時間檢驗獎(Test-of-Time Award)獲得者Rahimi在發表獲獎感言的時候表示,現在的機器學習已經越來越像鍊金術了。其實如果只是簡單應用鍊金術的結果倒也無妨,可是將類似鍊金術的機器學習結果用於社交媒體甚至大選是不夠嚴謹和周密的,這也讓他感到不安。他的發言引起了很大的關注和爭論。他的質疑中提出的兩個問題,我們將它們總結為 透明度 和 信任度 。
關於可解釋機器學習目標,最普遍的看法是提高機器學習方法的 透明度 。以深度學習方法為例,很多人對深度神經網路進行除錯時,都將其看作黑匣子。我們只能看懂黑匣子的輸入輸出,很難理解黑匣子中的工作原理。這就造成了機器學習模型結果難以預測(能否點石成金?)、難以除錯等問題,最終影響對機器學習模型的深入理解及結果的進一步提高。另一個目標是提高人們對於機器學習演算法的 信任度 。在醫療、金融、軍事、政治等關鍵領域,機器學習的結果影響甚大,而可解釋機器學習則可以幫助決策者決定是否信任機器學習的結果。
這些目標都和模型密切相關,我們將它們統稱為模型可解釋性。如果只考慮這類目標,就忽視瞭解釋中非常關鍵的一環:使用者(解釋物件)。
當我們著眼於使用者,就發現解釋不僅要幫助我們提高對模型的理解,它本身的 可讀性 也很關鍵。如果解釋過於複雜,理解起來耗時耗力、需要極強的機器學習知識,這就和增強理解的初衷就背道而馳了。解釋本身需要簡明扼要、具有洞察力和高可讀性,否則和直接列印神經網路每個引數輸出沒有本質區別。
在一些領域,我們需要把結果呈現給普通使用者看。例如推薦一本書給使用者,如果能用通俗易懂的解釋讓使用者瞭解到為什麼會推薦這本書給他,可以極大地提高推薦的 有效性 (幫助使用者快速做出是否看書的決策)甚至推薦的 說服力 (提高使用者閱讀這本書的可能性)。這對使用者和廣告商都有重要的應用意義,但是目前學術界對這方面的探討比較少。我們認為將使用者更多地納入可解釋機器學習的考慮範疇,將極大提高可解釋方法的應用和研究價值。可讀性、有效性、說服力這類目標,我們統稱為解釋質量。上述討論的可解釋機器學習兩大類目標可以總結如下圖所示。
可解釋機器學習的目標:模型可解釋性(模型導向)以及解釋質量(使用者導向)
這些目標相輔相成,又相互制約。研究表明,提高透明度有助於提升解釋的說服力;而透明度和可讀性卻需要協調平衡,一個面面俱到、幫助人們深入理解模型的解釋(透明度高)很可能可讀性較低,因為人們需要花長時間理解;有效性旨在幫助使用者做最適合他們的決策,這和說服使用者接受某種決策也有相互矛盾之處。不同目標如何協調平衡,主要取決於具體的應用場景。
基於上述理解,我們可以嘗試對可解釋推薦下個定義。 一般來說,可解釋推薦是在給出推薦結果的同時,給出對結果的支援論據(即解釋)。 如果需要更細地進行定義,就要考慮具體應用及目標。如果更側重模型可解釋性(模型導向),就要求論據能夠幫助使用者更好地理解模型行為;如果更注重解釋質量中的說服力,則要求論據能夠增加使用者接受推薦物品的概率;如果更注重解釋質量中的有效性,則要求論據能夠幫助使用者做出更好地決定。
下圖是一個偏重解釋有效性的例子。和偏重說服力的相比,它不僅會突出餐館值得一去的原因(擔擔麵好吃),還會指出餐館的一個缺點(價格偏高),幫助使用者做出更好的決定。
可解釋推薦偏重解釋有效性的例子
可解釋推薦流程
下面,我們迴歸到可解釋推薦的場景下,看看現在可解釋方法的主要流程是什麼樣的。這些流程裡面主要涉及到推薦中的幾個關鍵要素:使用者集合U、物品集合V、被解釋的推薦系統f(u,v)、推薦系統的推薦物品集合V',解釋模組以及其輸出的解釋z。
最常見的一種流程是 後處理 (Post-hoc)。如下圖所示,後處理的方法是在推薦結果已經給出後再進行解釋,解釋內容不受推薦系統f(u,v)的影響,即使換了一個推薦系統,只要給定同一個使用者和物品,解釋都是一樣的。這種方法主要優化的是解釋質量(希望生成可讀性、有效性高甚至具有說服力的解釋),但是模型解釋性較差,同時也比較容易實現,適合面向不懂機器學習的普通使用者進行解釋。主要應用場景包括廣告電商平臺、新聞、音樂、電影推薦等等。
可解釋推薦後處理流程 後處理方法主要研究解釋文字生成,分為三種方法:(1)基於規則;(2)基於檢索;(3)基於生成式模型。
基於規則是指由解釋方法設計者事先給定一些簡單模板(例如“N個微博使用者都喜歡這個商品”),演算法只負責對模板中涉及的內容根據規則進行填充。基於檢索的方法是由解釋方法設計者規定解釋集合,演算法負責對解釋集合進行排序,挑選排在最靠前的解釋輸出給使用者。例如給使用者推薦書時,解釋集合規定為使用者曾經看過的書,此時解釋模板為“看過X的使用者都很喜歡這本書”,演算法只需要從集合中根據使用者的興趣及書的相似度挑選一本放入解釋即可。
基於規則和基於檢索的方法在生成解釋文字時,都需要模板,難免讓使用者覺得千篇一律、缺乏驚喜。有沒有辦法從資料中進行學習,進一步提高解釋的多樣性和說服力呢?我們組在這方面做了一些研究,發現可以從資料中學習,綜合廣告商提供的文案和被展示廣告的點選率,利用改進的序列生成技術自動寫出廣告文案,這種方法已經被應用在微軟的搜尋廣告中。下表展示了我們的廣告生成結果,可以看到不僅有一些具有說服力的話(如“Apply today & find your perfect job!”),而且生成結果多種多樣。
生成式模型自動寫出的廣告解釋文案
可解釋推薦的第二種流程是 嵌入式 (Embedded)。嵌入式的方法把解釋模組融入到推薦系統的構建中(如下圖所示)。解釋模組往往對物品的特徵進行選擇,將對推薦準確性影響最大的物品挑選出來作為解釋。這裡面用作解釋的物品特徵往往是一些片語(“螢幕清晰”)、語句(“這本書自2018年開始在全世界銷量5億本,是歷史上銷量最高的一本書。”)或者是圖片。嵌入式的方法和後處理的相比,具有很高的模型解釋性,但是難以確保解釋質量,例如,難以保證解釋之間的連貫性及一致性,因此比較適合研究人員及演算法開發人員。
可解釋推薦嵌入式流程
嵌入式方法的大部分解釋模組都是淺層的,比如RecSys 2013年的論文《Hidden factors and hidden topics: Understanding rating dimensions with review text》中用到的主題模型,SIGIR 2014年的論文《Explicit factor models for explainable recommendation based on phrase-level sentiment analysis》中用到的矩陣分解,以及WWW 2018年論文《Neural attentional rating regression with review-level explanations》中用到的單層注意力網路。
能否構建一個深層的網路,每一層的特徵和它們之間的關聯都是可解釋的呢?沿著這個思路研究,我們利用Microsoft Concept Graph構建了深度可解釋網路的初始結構,並且利用Attentive Multi-View Learning對這個深度可解釋網路中每層的引數進行優化,使它不僅可以提高推薦準確性、有用性,還可以通過無監督的方式自動對使用者的層次興趣進行建模。例如,我們可以知道使用者是隻對壽司(低層特徵)感興趣,還是對日料(高層特徵)整體都比較感興趣。這部分工作我們發表在AAAI 2019論文《Explainable Recommendation Through Attentive Multi-View Learning》中,模型框架如下圖所示。
深度可解釋推薦模型:每一層的特徵、相鄰層特徵的關係都可讀
後處理和嵌入式的流程一個側重解釋質量,一個側重模型解釋性。有沒有方法能夠更好地兼顧兩者呢?在這樣的思考下,我們提出了封裝式(Wrapper)流程。如下圖所示,封裝式的方法不需要改變現有的推薦系統,只是將解釋模組和推薦系統放在相對平等的位置,解釋模組通過與推薦系統互動生成模型相關的解釋。這樣既可以自由控制解釋質量,又可以保證模型解釋性,同時也不需要像嵌入式的方法一樣針對不同的推薦模型設計不同的解釋方法,是一種協調模型解釋性與模型質量的很好的方法。
可解釋推薦封裝式流程
封裝式可解釋方法是利用增強學習實現的。具體來說,就是利用下圖所示的增強學習框架來對任何推薦模型進行解釋,可以同時確保模型解釋性以及解釋質量。在這個框架中,被解釋的推薦模型是環境(Environment)中的一部分。框架中有兩個智慧體 (Couple Agents),其中智慧體1負責生成解釋,智慧體2負責利用解釋預測被解釋推薦模型的輸出(使用者對物品的打分)。這兩個智慧體把需要解釋的模型當作黑盒子,通過與環境進行互動得到的獎勵(Reward)決定優化方向。
這裡,環境給予的獎勵由兩個方面決定。如果智慧體可以利用解釋準確預測(模仿)被解釋推薦模型的結果,則被獎勵,這體現的是對推薦模型的解釋能力。如果智慧體給出的解釋精煉、有連貫性、可讀性較高,也會被獎勵,這是為了提高解釋本身的質量。這樣的框架適用於任何推薦模型,同時解釋能力和解釋質量都較高。這部分工作發表在ICDM 2018的論文《A Reinforcement Learning Framework for Explainable Recommendation》 中。
這個框架是我們在可解釋推薦框架方面的一個初步嘗試,它目前還有不少需要改進的地方。例如利用目前增強學習方法生成解釋有收斂較慢的問題,另外預先設定的獎勵機制是否與實際應用中希望的獎勵有直接聯絡也需要進一步研究。接下來,我們會延續這個方向進行探索。
可解釋推薦的增強學習框架
機遇與挑戰
作為推薦領域被探索得較少的一個方向,可解釋推薦的很多方面都值得研究與探索。目前,我們在考慮從下面三個方面進行研究。
利用知識圖譜增強演算法解釋能力
知識圖譜作為可讀性高的外部知識載體,給提高演算法解釋能力提供了極大的可能性。例如,我們可以利用知識圖譜打通不同媒介之間的關聯。現有的可解釋推薦所生成的推薦解釋往往只侷限於以物品為媒介、以使用者為媒介或者以特徵為媒介中的某一種,對這三類媒介之間的關聯挖掘得還不夠。我們希望能夠利用知識圖譜,打通這三類媒介之間的關聯,根據具體情況靈活選擇其中最合適的媒介對使用者進行推薦與解釋。在可解釋人工智慧越來越重要的時代,將知識圖譜這類Symbolic Knowledge和深度學習結合,會是極有前景的方向。
普適的可解釋推薦框架及評測標準
目前可解釋推薦系統大多是針對特定的推薦模型設計,可拓展性較弱,對於新興的推薦模型,例如含有深度神經網路的複雜、混合模型的解釋能力還不夠。如果有一個模型無關的可解釋推薦框架,就可以避免針對每個推薦系統分別設計解釋方案,從而提高方法的可拓展性。
另外,可解釋推薦如何評測一直是困擾可解釋性研究員的一個難題,線上(online)測試和人工標註條件要求較為苛刻,線下(offline)的評測標準還不夠成熟,我們希望在這個方向進一步研究,降低可解釋性研究的門檻,建立可解釋性的基礎理論。
結合生成模型進行對話式推薦
目前的推薦解釋往往形式是預先設定、千篇一律的(如預先設定推薦解釋是以使用者為媒介的)。這樣儘管也能根據使用者心理舉出一些例證,但是在溝通方式上還過於呆板,離拉家常式的推薦還有很大距離。如果能用生成模型讓推薦系統“自創”一句通順甚至高情商的話,就可以在與使用者聊天的過程中進行靈活、多變地推薦解釋了。我們團隊已經與微軟小冰合作,在這方面進行了一些嘗試,為小冰生成音樂推薦解釋,接下來還希望在這方面進行進一步地研究。
除了可解釋推薦系統,個性化推薦未來還有哪些研究熱點?在 ofollow,noindex">《預見未來 | 個性化推薦系統,必須關注的五大研究熱點》 一文中,微軟亞洲研究院社會計算組的研究員們從深度學習、知識圖譜、強化學習、使用者畫像、可解釋推薦等五個方面展望了推薦系統的未來發展。深度長文,不可錯過!