天天看點

人工智能算法的可解釋性方法研究

雲栖号資訊:【 點選檢視更多行業資訊

在這裡您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

摘要

以深度學習為代表的人工智能技術在資訊領域的應用,極大地提高了資訊的利用效率和挖掘價值,深刻的影響了各領域的業務形态,同時也引發了監管部門和使用者對這一新技術運用中出現的 “算法黑箱”問題關切和疑慮。如何對相關算法、模型、及其給出的結果進行合理的解釋成為資料科學家亟需解決的問題。

一、為什麼智能算法需要可解釋

1.來自人工智能的挑戰

自AlphaGo戰勝人類頂尖圍棋手之後,人工智能這一概念真正成為了社會各界關注的焦點,也為各國政府所重視。一方面可以給我們帶來諸多便利,比如可能為我們提供醫療、法律、金融等方面的建議或決策,也可能直接操控汽車、無人機,甚至大規模殺傷性武器[1]。但另一方面,它也被用來“做壞事”甚至危害人類。如某些網站利用人工智能算法進行“大資料殺熟”,2017年也發生了全國首例利用人工智能技術進行網絡詐騙的案件。2015年德國大衆公司甚至發生了機器人“殺人事件”[2]。歐盟已經要求所有算法解釋其輸出原理[3],這意味着不可解釋的算法模型将成為非法使用[3,4]。

人工智能算法的可解釋性方法研究

2.可解釋是人工智能發展的必然選擇

在時下熱議的人工智能相關倫理、算法歧視、算法正确性、安全性等問題中,有一個問題被時常提起,即以深度學習算法為代表的人工智能算法的可解釋性問題。人類理性的發展曆程使我們相信,如果一個判斷或決策是可以被解釋的,我們将更容易了解其優點與不足,更容易評估其風險,知道其在多大程度上、在怎樣的場合中可以被信賴,以及我們可以從哪些方面對其進行不斷改善,以盡量增進共識、減少風險,推動相應領域的不斷發展。這樣的思維範式或許是誕生在人工智能時代之前的稍顯過時的思維模式。或許随着科技和社會的發展,未來會演化出新的思維範式,但目前這仍然是我們最成熟、最具共識、最可信賴的思維模式 [1]。

二、可解釋性方法概述

17年ICML會議上來自谷歌的科學家給出一個關于可解釋性的定義是“Interpretation is the process of giving explanations to Human”[5]。許多模型及應用不可解釋性的原因主要來源于對問題和任務了解得還不夠充分。那麼隻要在使用模型的過程中,隻要是能夠提供給我們關于資料或模型的可以了解的資訊,有助于我們更充分的發現知識、了解和解決問題的方法,那麼都可以歸類為可解釋性方法。同時,這篇文章将可解釋性方法按進行的過程劃分為如下三類:在模組化之前的可解釋性方法、建立本身具備可解釋性的模型和模組化後使用可解釋性方法對模型作出解釋,下面對這三大類方法分别作介紹。

三、模組化前:在模組化之前的可解釋性方法

在模組化之前的可解釋性方法主要涉及一些資料預處理或資料展示的方法機器學習解決的是從資料中發現知識和規律的問題,如果我們對想要處理的資料特征所知甚少,指望對所要解決的問題本身有很好的了解是不現實的,在模組化之前的可解釋性方法的關鍵在于幫助我們迅速而全面地了解資料分布的特征,進而幫助我們考慮在模組化過程中可能面臨的問題并選擇一種最合理的模型來逼近問題所能達到的最優解。

資料可視化就是一類非常重要的模組化前可解釋性方法。很多對資料挖掘稍微有些了解的人可能會認為資料可視化是資料挖掘工作的最後一步,大概就是通過設計一些好看又唬人的圖表或來展示你的分析挖掘成果。但實際上真正要研究一個資料問題之前,通過建立一系列方方面面的可視化方法來建立我們對資料的直覺了解是非常必須的,特别是當資料量非常大或者資料次元非常高的時候,比如一些時空高維資料,如果可以建立一些一些互動式的可視化方法将會極大地幫助我們從各個層次角度了解資料的分布。

人工智能算法的可解釋性方法研究

四、模組化中:建立本身具備可解釋性的模型

建立本身具備可解釋性的模型是最關鍵的一類可解釋性方法,同樣也是一類要求和限定很高的方法,具備可解釋性的模型大概可以分為以下幾種模型[6]。

基于規則的模型,比如我們提到的非常經典的決策樹模型。這類模型中任何的一個決策都可以對應到一個邏輯規則表示。但當規則表示過多或者原始的特征本身就不是特别好解釋的時候,基于規則的方法有時候也不太适用。

基于單個特征的方法主要是一些非常經典的回歸模型,比如線性回歸、邏輯回歸、廣義線性回歸、廣義加性模型等。這類模型除了結構比較簡單之外,更重要的是回歸模型及其一些變種擁有非常堅實的統計學基礎,上百年來無數統計學家探讨了在各種不同情況下的模型參數估計與修正、假設檢驗、邊界條件等等問題,使得他們在各種不同情況下都能使具有有非常好的可解釋性。

基于執行個體的方法主要是通過一些代表性的樣本來解釋聚類/分類結果的方法。比如可以為每一個聚類簇中選出代表性樣例和重要的子空間。

基于稀疏性的方法主要是利用資訊的稀疏性特質,将模型盡可能地簡化表示。比如LDA方法,根據層次性的單詞資訊形成了層次性的主題表達,這樣一些小的主題就可以被更泛化的主題所概括,進而可以使我們更容易了解特定主題所代表的含義。

基于單調性的方法在很多機器學習問題中,有一些輸入和輸出之間存在正相關/負相關關系,如果在模型訓練中我們可以找出這種單調性的關系就可以讓模型具有更高的可解釋性。比如醫生對患特定疾病的機率的估計主要由一些跟該疾病相關聯的高風險因素決定,找出單調性關系就可以幫助我們識别這些高風險因素。

五、模組化後:使用可解釋性方法對模型作出解釋

模組化後的可解釋性方法主要是針對具有黑箱性質的深度學習模型而言的, 深度學習的黑箱性主要來源于其高度非線性性質,每個神經元都是由上一層的線性組合再加上一個非線性函數的得到,人們無法像了解線性回歸的參數那樣通過統計學基礎假設來了解神經網絡中的參數含義及其重要程度、波動範圍。但實際上我們是知道這些參數的具體值以及整個訓練過程的,是以神經網絡模型本身其實并不是一個黑箱,其黑箱性在于我們沒辦法用人類可以了解的方式了解模型的具體含義和行為,而神經網絡的一個非常好的性質在于神經元的分層組合形式,這讓我們可以用物質組成的視角來了解神經網絡的運作方式。主要分為以下幾類的工作:隐層分析方法、模拟/代理模型、敏感性分析方法[7,8,9]。

隐層分析方法:該方法通過對隐層運用一些可視化方法來将其轉化成人類可以了解的有實際含義的圖像以展示神經網絡中每層都學到的概念。我們都知道典型的CNN模型的一個完整卷積過程是由卷積-激活-池化(pooling)三個步驟組成的,也可以通過反池化-反激活-反卷積這樣的一個逆過程,并借助特征可視化幫助我們了解CNN的每一層究竟學到了什麼東西[7]。此外,文獻[]提出了一種網絡切割的方法以提取CNN的語義概念[8]。

模拟/代理模型:該類方法是針對黑箱模型,使用蒸餾(Model distillation)技術得到新的可解釋模型,訓練這兩個模型使他們的結果近似。但這類算法也存在很大的局限性,比如模型本身并不能被“蒸餾”,或者原始模型與蒸餾後的模型差異很大導緻可解釋性模型的意義不再存在。

敏感性分析方法:用于定量描述模型輸入變量對輸出變量的重要性程度的方法。是令每個屬性在可能的範圍變動,研究和預測這些屬性的變化對模型輸出值的影響程度。我們将影響程度的大小稱為該屬性的敏感性系數,敏感性系數越大,就說明屬性對模型輸出的影響越大。一般來講對于神經網絡的敏感性分析方法可以分為變量敏感性分析、樣本敏感性分析兩種,變量敏感性分析用來檢驗輸入屬性變量對模型的影響程度,樣本敏感性分析用來研究具體樣本對模型的重要程度,也是敏感性分析研究的一個新方向。在金融領域,将敏感性分析與局部特征探索方法(主要是樹類模型),能夠有效解決金融領域普遍存在先驗知識不足問題[12]。

六、結束語

《火的禮物:人類與計算技術的終極博弈》一書中提到“火使我們的生活更加舒适、健康和愉快。而它同時也擁有巨大的破壞力,有可能因為意外,也可能是故意縱火”,對于深度學習亦是如此。期待通過算法研究者、政府、法律等多方面的共同努力,我們可以更好地掌握人工智能算法,來幫助我們解決各種難題,建設更加美好的社會。

【雲栖号線上課堂】每天都有産品技術專家分享!

課程位址:

https://yqh.aliyun.com/zhibo

立即加入社群,與專家面對面,及時了解課程最新動态!

【雲栖号線上課堂 社群】

https://c.tb.cn/F3.Z8gvnK

原文釋出時間:2020-06-07

本文作者:人工智能學家

本文來自:“

人工智能學家 微信公衆号

”,了解相關資訊可以關注“

人工智能學家

繼續閱讀