在這里學習的,在此簡要做了些筆記。
壹、可解釋性概述
1. 可解釋性是什么
人類對模型決策/預測結果的理解程度。
對於深度學習而言,可解釋性面臨兩個問題:①為甚會得到該結果?(過程)②為甚結果應該是這個?(結果)
理想狀態:通過溯因推理,計算出輸出結果,可是實現較好的模型解釋性。
衡量一個解釋是否合理,需要考慮【可解釋性:通過人類可以理解的方式描述系統的內部結構】和【完整性:通過精確的方式描述系統的各個操作步驟】兩個方面。
2. 為什么需要可解釋性
為模型賦予可解釋性有利於確保公平性、隱私保護性能、魯棒性;同時可以說明input到output之間的因果關系。
1)完善深度學習模型
大多數深度學習模型是data-driven的黑盒模型,通過這些模型可以獲取知識(這些知識依賴於模型的組織架構、對數據的表征方式),而模型的可解釋性可以顯式地捕獲知識。但因為深度學習模型不好解釋,質量保證工作難以實現。
2)深度學習模型和人的關系
如果模型具備較強的可解釋性:可以使用戶獲得良好的交互體驗,滿足好奇心,增加對模型的信任感。
如果機器做出的決策和人的意願有出入,用戶會試圖解釋這種差異;當模型的預測結果對用戶的生活(尤其是一些涉及到安全、財產方面的決策)產生重要影響時,模型的可解釋性與用戶對模型的信任度息息相關。
4)深度學習模型和社會的關系
深度學習模型高度依賴於訓練數據,但是訓練數據可能會帶有偏見(人種、性別、職業等因素);為了保證公平性,用戶要求學習模型具有檢測偏見的功能,能夠通過對自身決策的解釋說明其公平。
具有強可解釋性的模型也會具有較高的社會認可度,會更容易被公眾所接納。
3. 可解釋性的分類
根據可解釋性方法的作用時間:本質可解釋性、事后可解釋性
本質可解釋性:對模型的架構進行限制,使其工作原理和中間結果能夠較為容易地為人們所理解(例如,結構簡單的決策樹模型)
事后可解釋性:通過各種統計量、可視化方法、因果推理等手段,對訓練后的模型進行解釋
根據可解釋性方法與模型的匹配關系:針對特定模型的可解釋性、模型無關可解釋性
根據可解釋性方法的作用范圍:局部可解釋性、全局可解釋性
貳、深度學習的可解釋性
1. 深度學習過程的可解釋性(網絡對於數據的處理過程)
回答:輸入為什么會得到相應的的特定輸出?(與剖析程序的執行過程相似)
方法:降低復雜度。比如通過設計表現與原始模型相似但更易於解釋的代理模型,也可構建顯著性圖。
1)線性代理模型(Proxy Models)
用線性可解釋的模型模擬“黑盒模型”,Marco提出了一種新的模型無關的模型解釋技術【LIME:通過學習圍繞預測結果的可解釋模型,解釋任意模型的預測結果。對輸入樣本進行擾動,識別出對於預測結果影響最大的可理解的特征。】
優秀的解釋方法具有以下特性:
① 可解釋性;② 局部保真;③ 模型無關;④ 全局視角
代理模型提供了模型復雜度與可信度之間的量化方法。
2)決策樹方法
Makoto提出新的規則抽取方法【CRED:使用決策樹對神經網絡進行分解,並通過c/d-rule算法合並生成的分支,產生不同分類粒度,能夠考慮連續與離散值的神經網絡輸入輸出的解釋】;DeepRED將CRED的工作拓展到多層網絡上,並采用多種結構優化生成樹的結構。
另一種決策樹方法是【ANN-DT:使用模型的結點結構建立決策樹,對數據進行划分;判斷節點是采用正負兩種方法判斷該位置的函數是否被激活,以此划分數據】
決策樹生成后,通過在樣本空間采樣、實驗,獲得神經網絡的規則。對較淺的網絡生成了可靠的解釋,但由於決策樹節點個數依賴於網絡大小,對於大規模的網絡,方法的計算開銷將相應增長。
3)自動規則生成
4)顯著性圖
2. 深度學習表示的可解釋性(網絡對於數據的表征)
回答:網絡包含哪些信息?(與解釋程序內部的數據結構相似)
1)基於層的解釋
2)基於神經元的解釋
3. 生成自我解釋的深度學習系統(如何構建能夠生成自我解釋的深度學習系統)
1)注意力機制網絡:學習一些功能,以提供對輸入/內部特征的加權,進而引導網絡其他部分可見的信息。
計算input與其中間過程表示之間的權重。
2)分離表示法:使用單獨的維度來描述有意義的和獨立的變化因素,應用中可以使用深層網絡訓練顯式學習的分離表示。
用高低維度的、含義不同的獨立的特征表示樣本。
大多數DL模型學習到的特征往往復雜地耦合在一起。通過對學習到的特征解耦,可以得到解釋性高的編碼。