陳群,陳肇強,侯博議,王麗娟,羅雨晨,李戰(zhàn)懷
1. 西北工業(yè)大學計算機學院,陜西 西安 710129;2. 西北工業(yè)大學大數(shù)據(jù)存儲與管理工業(yè)和信息化部重點實驗室,陜西 西安 710129
隨著大數(shù)據(jù)的發(fā)展,以深度學習為代表的人工智能技術在計算機視覺、語音識別、視頻處理、自然語言處理等領域得到了廣泛的應用。然而,在真實場景中,由于環(huán)境的復雜性,基于深度學習模型的預測具有不確定性,在落地時經(jīng)常帶來不可預知的風險。例如,2016年5月,一輛特斯拉Model S電動車在自動駕駛狀態(tài)下撞上對向正在轉(zhuǎn)彎的卡車,該事故導致特斯拉駕駛員死亡。據(jù)特斯拉公司的解釋,自動駕駛系統(tǒng)在面對明亮的天空時,沒有識別出白色的卡車?;谏疃葘W習模型的人工智能算法的另一個局限是不可解釋性,即難以用人們可理解的方式來解釋算法做出相應決策的原因??山忉屝跃哂蟹浅V匾囊饬x:一方面,可解釋性是保障人工智能安全性的一個重要手段,如果算法能夠說明所做決策的依據(jù),人們就可以通過分析依據(jù)的合理性和內(nèi)在邏輯評估算法的安全性;另一方面,可解釋性有利于加速推廣人工智能的落地應用。人們普遍難以相信一個不可解釋的黑盒子模型做出的決策。例如,歐盟提出的《通用數(shù)據(jù)保護條例》要求算法具備可解釋性,數(shù)據(jù)主體有權(quán)獲取算法決策的有關解釋。電氣和電子工程師協(xié)會(Institute of Electrical and Electronics Engineers,IEEE)2016年發(fā)布的關于人工智能及自動化系統(tǒng)的倫理設計白皮書中,在多個部分提出了對人工智能和自動化系統(tǒng)應有解釋能力的要求;美國計算機協(xié)會公共政策委員會在2017年初發(fā)布的《關于算法透明性和可問責性的聲明》提出了7項基本原則,其中之一即“解釋”:鼓勵使用算法決策的系統(tǒng)和機構(gòu)對算法過程和特定決策提供解釋。
綜上所述,目前以深度學習為代表的人工智能技術存在不確定性和不可解釋性的問題。因此,能夠準確預知人工智能算法在什么情況下可能失效,并提供可解釋的原因,是保障人工智能應用安全性的關鍵。在軟件工程中,為確保軟件的安全運行,軟件測試是其中必不可少的一個環(huán)節(jié)。軟件測試費用達到總開發(fā)費用的40%以上。對于某些性命攸關的軟件,其測試費用甚至高達其他軟件工程階段費用總和的3~5倍[1]。然而,目前的軟件測試只能檢測程序的正確性和漏洞,并不能檢測人工智能算法預測錯誤的風險。風險指的是產(chǎn)生損失、造成傷害或者處于不利狀況的可能性,該詞在實際的生產(chǎn)生活中被廣泛運用。在不同的場景中,風險的具體含義通常也不相同。對于人工智能而言,具體的風險包括預測的準確性風險[2-3]、決策的公平性風險[4]以及決策的道德性風險[5]等。本文主要關注人工智能算法的預測準確性風險。
針對目前人工智能技術存在的不確定性和不可解釋性問題,高效的風險分析技術需要具備以下3個基本特征。
● 可量化:能夠準確分析算法預測錯誤的可能性,實現(xiàn)風險的量化評估。
● 可解釋:可以以人類能理解的方式解釋算法預測錯誤的原因,實現(xiàn)可解釋的根因分析。
● 可學習:鑒于深度學習模型的高度復雜性以及其對環(huán)境的高度敏感性,風險分析技術需要能夠根據(jù)實際的應用環(huán)境,動態(tài)調(diào)整其風險模型參數(shù),實現(xiàn)風險評估的自適應性。
風險分析在以前的文獻中也被稱為置信度評估(confidence ranking)[3]或信任評分(trust scoring)[6],是新興的研究領域。本節(jié)首先回顧與機器學習模型的性能評估和模型可解釋性分析相關的工作,說明其與風險分析的區(qū)別,然后著重介紹風險分析的研究現(xiàn)狀。
為了預測一個已訓練好的機器學習模型在目標數(shù)據(jù)集上的性能,一個被廣泛運用的方法是從目標數(shù)據(jù)集中隨機抽取一部分數(shù)據(jù)進行人工標注,建立驗證集;然后用驗證集來評估模型的預測準確度。當目標數(shù)據(jù)集未知或者無法提供額外的人工標注時,可以在訓練數(shù)據(jù)集上采用交叉驗證法(cross-validation),其典型的方式有留一法、十重交叉驗證法[7]。需要指出的是,基于驗證集的模型準確度預測方法評估的是模型的整體表現(xiàn),無法評估模型在單個實例上的預測行為。然而,風險分析關注的是單個實例的預測風險,如醫(yī)學影像分析中單個病人的病情診斷、自動駕駛中某個具體場景的安全分析等。因此,傳統(tǒng)的機器學習模型的性能評估方法并不適用于風險分析。
由于深度學習模型的不可解釋性,近年來一個熱門的研究方向是對黑盒模型進行可解釋性分析[8-9]。針對黑盒模型的可解釋性研究可分為3類[9]。
(1)模型解釋
模型解釋即用可解釋的、透明的模型來模擬黑盒模型,以此得到一個全局的解釋。例如,參考文獻[8]提出針對文本分類任務的可解釋的數(shù)據(jù)表示——詞袋,然后通過學習一個局部的可解釋性模型(比如線性模型)來解釋分析算法的預測結(jié)果;參考文獻[10]提出了基于規(guī)則來構(gòu)建局部的可解釋模型,對于符合相同規(guī)則的數(shù)據(jù),該模型對結(jié)果的解釋具有一致性,同時排除了不屬于規(guī)則要求的其他特征的干擾。
(2)輸出解釋
輸出解釋即對黑盒模型的輸出進行解釋分析。例如,參考文獻[11]提出利用局部的梯度值來刻畫特征的影響,進而解釋算法的預測結(jié)果;參考文獻[12]基于聯(lián)合博弈論,通過分析每個輸入特征的貢獻度來解釋任意分類器的輸出結(jié)果;參考文獻[13]設計了一個交互式的可視化工具,幫助用戶查看每一個具體數(shù)據(jù)實例的信息。
(3)模型檢驗
模型檢驗即對黑盒模型的特性進行解釋分析,比如模型的預測行為對輸入特征的敏感度、深度神經(jīng)網(wǎng)絡模型中的特定神經(jīng)元對預測結(jié)果的影響等。例如,參考文獻[14]提出利用隨機森林分類器中的路徑信息來指導輸入特征的調(diào)整,進而改變黑盒模型對某個輸入數(shù)據(jù)的預測結(jié)果。需要指出的是,針對機器學習模型的可解釋分析的研究旨在提供可解釋性的信息,輔助用戶對人工智能算法的結(jié)果進行分析,但沒有提供量化的風險評估。
針對實例的風險分析,最簡單的方法就是直接利用模型在每個實例上提供的信息,評估決策的風險。例如,樸素貝葉斯分類器為每個類別標簽都提供了相應的類別概率[15],可以天然地作為預測標簽的風險度量指標。當分類器的輸出不是概率值時,可以采用不同的方法將其轉(zhuǎn)化為類別概率。例如,基于Platt校準的方法可以將支持向量分類器的輸出距離轉(zhuǎn)化為類別概率[16];softmax函數(shù)可以將深度神經(jīng)網(wǎng)絡模型中神經(jīng)元的輸出映射為類別概率[3]。然而,模型本身輸出的概率很多時候并不能準確地反映預測的不確定性[3]。為此,有一些工作提出對模型的輸出概率進行校準[17-18]。然而,這些校準技術并沒有改變實例之間的相對不確定性,而且,當模型的結(jié)構(gòu)復雜或未知時,概率校準極具挑戰(zhàn)。對于主流的深度學習模型,直接基于模型輸出或校準輸出的風險度量方法可解釋性差,而且大量的實驗表明,其在很多情況下無法獲得可靠的風險分析結(jié)果[6]。
另外一種方法是通過設計額外的模型來分析原始學習模型在單個實例上的預測行為[6,19-20]。例如,參考文獻[6]提出了一種基于距離的風險評估方法,該方法首先為每種標簽構(gòu)建一個代表該類標簽的簇,然后對于給定的任一測試實例,計算該實例與不同機器標簽所在簇的距離,最后通過比較這些距離來計算該實例標簽的風險。參考文獻[19]則針對計算機視覺的應用場景,首先獲取部分數(shù)據(jù)的輸入特征和原始模型預測的信息,并以此作為訓練數(shù)據(jù),然后訓練一個支持向量機(SVM)模型或者支持向量回歸(SVR)模型,判斷新的輸入數(shù)據(jù)不能被原始模型正確處理的風險。嚴格地說,這種方法是依據(jù)輸入數(shù)據(jù)的特征提前拒絕高風險的實例,并沒有對原始模型輸出的風險進行量化分析。而且,其可解釋性也較差。
以上的風險分析方法均根據(jù)單一的輸出值(如原始學習模型的輸出、獨立模型的輸出)直接度量預測錯誤的風險。參考文獻[21]提出將一個實例的標簽概率用一個分布(比如正態(tài)分布)來表示,然后借鑒投資風險分析理論中的風險度量指標(如條件在險價值),量化評估標簽預測錯誤的風險。更具體地說,參考文獻[22]提出將分類模型的輸出作為先驗知識,然后通過訓練數(shù)據(jù)獲取特征的觀測分布,最后利用貝葉斯推理估計實例標簽的后驗分布。然而,這些方法雖然在風險評估的準確性和可解釋性上取得了比之前的方法更好的效果,但仍然無法根據(jù)應用環(huán)境動態(tài)地調(diào)整風險模型,即不是可學習的。
筆者在參考文獻[23]中提出了一個可量化、可解釋和可學習的風險分析框架,并把它成功應用于實體解析的任務中。實體解析旨在識別出關系數(shù)據(jù)中表示同一個現(xiàn)實世界實體的記錄。圖1所示為一個實體解析的例子,R1和R2分別表示文獻數(shù)據(jù)集中的兩張數(shù)據(jù)表,每張表中包含多條記錄。對于一個記錄對
風險分析框架如圖2所示,由3個步驟組成:生成風險特征、構(gòu)建風險模型、訓練風險模型。后文將以實體解析為例,闡述每個技術步驟。需要強調(diào)的是,這個框架具備很強的通用性,容易被擴展應用于其他一般性分類問題。
可解釋的風險特征是進行可解釋性風險分析的前提。為了有效支持風險分析,風險特征必須具備以下3個特點:一是可解釋的;二是高區(qū)分度的,風險特征必須在很大程度上是某一類標簽所獨有的,對其有明顯的指示作用;三是高覆蓋率的,風險特征必須被很多個實例共享,只有共享的風險特征才是可學習的。
以實體解析為例,其需要把任一候選記錄對標為“匹配”或“不匹配”。規(guī)則是一種常見的而且容易被人類理解的知識,因此筆者提出以規(guī)則的形式來表達風險特征。具體地說,首先設計能衡量屬性值的相似度以及差異度的基本指標,然后在帶有真實標簽的記錄對集合上,以這些基本指標為輸入特征,通過生成單邊隨機森林來獲得具有可解釋性、高區(qū)分度和高覆蓋率的規(guī)則,得到的規(guī)則即風險特征。需要指出的是,單邊隨機森林中的每一棵樹都是單邊決策樹。傳統(tǒng)的雙邊均衡的決策樹用于判定實例的標簽,因此其生成的規(guī)則有雙向的指示作用。例如,在文獻數(shù)據(jù)集上,“EditDistance(r1i[title],r2j[title])>0.9→equivalent(r1i,r2j)”作為一個標記規(guī)則,其含義如下:如果兩條記錄r1i和r2j在標題這個屬性上的編輯距離相似度大于0.9,那么,這兩條記錄表示同一篇文章;否則,這兩條記錄表示不同的文章。與此不同的是,作為風險特征的規(guī)則僅具有單邊的指示作用。例如,在文獻數(shù)據(jù)集上,規(guī)則“r1i[year]≠r2j[year] →inequivalent(r1i,r2j)”是一個有效的風險規(guī)則,因為當兩個記錄在年份這個屬性上的值不一樣時,它們表示不同的文章的概率較大。然而,其并不適合作為一個標記規(guī)則,因為即便兩個記錄在年份這個屬性上的值一樣,它們也很有可能表示不同的文章。
需要強調(diào)的是,基于單邊決策樹的風險特征生成方法具有通用性。對于別的分類問題,只需要設計相應的輸入特征即可,整個規(guī)則生成過程是同樣適用的。例如,在文本分類問題中,提取出的關鍵詞可以作為輸入特征[8];在圖像處理中,單個像素通常不具有明確的語義信息,而較大粒度的像素塊的語義信息則較為直觀[24];在與抑郁癥相關的研究中,面部表情、頭部運動以及語氣是臨床科學家與臨床醫(yī)生們關注的可解釋性特點[25];在嗅覺科學中,一些化學信息(如氫鍵、芳香環(huán)和帶電原子等理化性質(zhì))為分子科學家們提供了有效的解釋信息[26]。
基于風險特征提供的信息,風險模型選取合適的風險度量方法來評估人工智能模型的決策風險。受到風險分析在金融領域成功應用的啟發(fā),筆者類似地將風險特征提供的信息以概率分布進行表示,然后用風險特征的分布估計目標實例的標簽概率分布,最后利用風險度量指標實現(xiàn)風險的量化分析。
在投資組合理論中,一個資產(chǎn)組合的收益概率分布是由資產(chǎn)組合中的每種證券或資產(chǎn)的收益概率分布疊加而成的;通常采用方差、平均絕對離差、半方差、在險價值(value at risk,VaR)、條件在險價值(conditional value at risk)等風險度量指標評估這個投資組合的風險[27]。類似地,針對人工智能模型的風險分析,對于每一個風險特征fi,假設其蘊含的標簽概率為一個服從某種分布(在參考文獻[23]中假設的是正態(tài)分布,但筆者的方法也同樣適用于其他分布)的隨機變量。以實體解析為例,對于風險特征fi,假設其分布的期望為μfi,方差為,權(quán)重為wi。那么,對于任一記錄對di,其匹配概率也服從正態(tài)分布。如果di包含m個風險特征,那么,其匹配概率的期望可以估計為方差
,即記錄對的分布根據(jù)風險特征的分布加權(quán)疊加來估計。
圖3給出了一個當機器標簽為“不匹配”時,計算VaR風險指標的示例。指標VaR反映的是在排除掉最壞(1-θ)的情況后,最大可能的損失。在示例中,當θ=0.8時,其在險價值為VaR1=0.7;當θ=0.95時,其在險價值為VaR2=0.8。
風險模型構(gòu)建完成后,需要設定可調(diào)整的參數(shù),使風險模型能夠從觀測數(shù)據(jù)中學習調(diào)整風險的評估標準,以期風險模型能夠準確地反映人工智能模型在不同環(huán)境下的風險。在第3.2節(jié)構(gòu)建的風險模型中,共有3組參數(shù):風險特征分布的期望、風險特征分布的方差、風險特征的權(quán)重。在實踐中,可以把風險特征分布的期望當作一種先驗知識,由帶標簽的訓練數(shù)據(jù)通過統(tǒng)計估算出來,而風險特征的權(quán)重和方差為待學習參數(shù)。
風險模型的訓練通過學習排序(learn to rank)技術實現(xiàn)。以實體解析為例,學習排序技術是為了使被錯誤分類的記錄對的風險值能夠大于被正確分類的記錄對的風險值。給定2個記錄對di和dj,假設它們對應的被錯誤分類的風險值分別為γi和γj。如果γi>γj,那么di排在dj前面。然后,采用Logistic函數(shù)將它們的風險值映射為di排在dj前面的后驗概率:
而其目標概率為:
其中,如果記錄對di被錯誤分類,那么,風險標簽gi=1,否則,gi=0。根據(jù)定義的記錄對排序位置的后驗概率和目標概率,在風險模型訓練數(shù)據(jù)DS上設定目標損失函數(shù)為如下的交叉熵損失函數(shù):
最后,采用梯度下降的方法,逐漸減小交叉熵損失函數(shù)的值直至收斂,從而優(yōu)化參數(shù)。
風險分析技術不僅可以直接用于評估人工智能算法所作決策的風險,進行風險的根因解釋,保障人工智能的安全,還可以用于眾包的問題選擇和分類的質(zhì)量控制等任務。另外,風險分析為理解機器學習和人工智能提供了獨特的分析視角和手段,潛在地可以影響機器學習的幾乎每一個核心環(huán)節(jié),包括訓練數(shù)據(jù)的主動選擇以及模型的訓練等。本章討論風險分析的一些初步應用以及其潛在的更廣泛的應用,并通過它們展望風險分析未來的研究方向。
眾包技術旨在將復雜的任務切割并封裝為較簡單的子任務,通過眾包平臺,交給非專業(yè)或者只有少量專業(yè)知識的普通大眾來完成[28]。眾包通常需要支付酬金給完成任務的人,這會產(chǎn)生人力成本。此外,由于大眾的背景知識和認真程度等因素存在差異,他們回答問題的準確性也參差不齊。因此,眾包的基本挑戰(zhàn)在于從不可靠的答案中推理出準確的答案,并最小化人力成本。為提高答案的準確性,一個典型的做法是將每一個子任務都分配給多個人來完成,然后綜合分析返回的多個答案來決定最終的答案。然而,這樣冗余的方式也大大增加了人力成本。因此,在眾包應用中,可以先對機器的輸出進行風險分析,再根據(jù)風險的高低確定不同的人力驗證方案,確保更多的人力花費在那些高風險的子任務上,這樣就可以有效地平衡整體的準確度與人力開銷。
對于分類問題,現(xiàn)有的機器學習模型通常不能保證分類結(jié)果的質(zhì)量。然而,在一些關鍵的應用領域(如金融欺詐檢測和身份識別),經(jīng)常要求模型的預測結(jié)果具有很高的質(zhì)量,如要求識別的準確率大于一個給定的閾值(如0.99),并且召回率大于一個給定的閾值(如0.99)。在這種情況下,完全基于機器的自動分類往往難以達到設定的質(zhì)量要求,因此需要人工的介入。在參考文獻[29]中,筆者提出了一個人機協(xié)作(human and machine cooperation,HUMO)的架構(gòu),如圖4所示,通過人機協(xié)作實現(xiàn)分類問題的質(zhì)量控制。其基本思路是對機器自動分類的結(jié)果進行風險分析,將風險較低的實例交由機器自動標注,而將較高風險的實例交給人工驗證,這樣就可以以少量的人工實現(xiàn)質(zhì)量控制。在此HUMO的基礎上,參考文獻[21]進一步提出了一個改進的交互式人機協(xié)作框架——r-HUMO(risk-aware HUMO),如圖5所示。與HUMO靜態(tài)批量地選擇人工工作量不同,r-HUMO通過實時的風險分析漸進地選擇人工工作量。相比HUMO,r-HUMO在滿足相同質(zhì)量要求的前提下,能有效地減少所需的人工成本。需要強調(diào)的是,雖然參考文獻[21]和參考文獻[29]的工作針對的是實體解析任務,但是它們提出的框架和技術也能夠被擴展應用于其他的通用分類任務。
人工智能模型的訓練通常需要標注大量的數(shù)據(jù)。然而,在真實的應用場景中,訓練數(shù)據(jù)的獲取往往比較困難且標注的代價較高。因此,需要通過主動學習來減少所需的訓練數(shù)據(jù)。主動學習技術能夠選擇那些最有助于改善當前模型的數(shù)據(jù),并將它們進行人工標注后作為訓練數(shù)據(jù)。相比于隨機選擇訓練數(shù)據(jù),主動學習能夠有效地減少數(shù)據(jù)的標注成本。目前的主動學習技術主要通過不確定性和代表性等指標或融合了不確定性和代表性的混合指標選擇訓練數(shù)據(jù)。不確定性的度量方法包括置信度、離邊界的距離、預測類別的熵以及模型委員會的選舉等。代表性的度量主要通過計算實例之間的距離實現(xiàn)。有實驗表明[30],當批量選取的訓練數(shù)據(jù)量較大時(如大于1 000),主動學習最好的方法仍是基于模型輸出的不確定性。由于風險分析可以更準確地評估不確定性,其自然也可以用于主動學習中訓練數(shù)據(jù)的選取,即每輪都選取風險最高的一組數(shù)據(jù)來標注。如果可選取的整體數(shù)據(jù)量有限,則可以綜合考慮風險和代表性等指標。
目前,深度學習模型普遍存在過于樂觀的問題[31],即當目標數(shù)據(jù)不在模型預測任務的范圍內(nèi)時,模型也可能會給出一個置信度較高的預測結(jié)果。參考文獻[17]提出,可以通過新增一個離群點檢測(outlier exposure)模塊改善過于樂觀的問題。具體地,在深度學習模型的優(yōu)化目標函數(shù)中新增一個衡量離群數(shù)據(jù)預測值的損失函數(shù),并增加一個離群數(shù)據(jù)訓練集,通過對模型進行重新訓練來改進模型,使新模型能夠較好地識別異常數(shù)據(jù),并給出較低的預測置信度。然而,目前的方法沒有考慮如何提高模型在預期任務上的預測準確度問題。由于風險分析能夠評估模型預測的風險并給出解釋,那么,它也可以被用來指導模型的設計和訓練過程。如何利用風險分析的反饋指導和改善人工智能模型的訓練是未來一個非常有價值的研究方向。
當前,基于深度學習的人工智能預測模型普遍存在不確定性和不可解釋性的問題。因此,可量化、可解釋和可學習的風險分析技術對保障人工智能的安全至關重要。在本文中,筆者系統(tǒng)地總結(jié)了風險分析技術的研究進展,并介紹了一些應用案例,如眾包和分類的質(zhì)量控制等。筆者進一步指出,風險分析為理解人工智能提供了獨特的分析視角和手段,其潛在的影響不是局限于目前參考文獻中提及的應用案例,而是幾乎涉及機器學習的每一個核心環(huán)節(jié),包括訓練數(shù)據(jù)的選擇和模型的訓練等。因此,風險分析是一個非常有價值和前景的研究方向,對推動人工智能的發(fā)展具有重要的戰(zhàn)略意義。