【机器学习】【可解释性】LIME
相關博客
【自然語言處理】【可解釋性】NKB:用于預訓練Transformers的神經知識銀行
【自然語言處理】【可解釋性】自注意力歸因:解釋Transformer內部的信息交互
【深度學習】【積分梯度】深度網絡的公理歸因(Axiomatic Attribution for Deep Networks)
【自然語言處理】【可解釋性】Perturbed Masking:分析和解釋BERT的無參數探針
【機器學習】【可解釋性】LIME
【自然語言處理】【聚類】TELL:可解釋神經聚類
【自然語言處理】【Prompt】語言模型即知識庫(Language Models as Knowledge Bases)
【自然語言處理】【Prompt】P-tuning
一、簡介
機器學習已經被廣泛使用,但仍然是黑盒模型。但是,如果人類無法相信某個模型,那么很難在產品中部署這個模型。這里區分兩個概念:
- trusting?a?prediction\text{trusting a prediction}trusting?a?prediction:用戶是否充分信任一個預測,并基于該預測采取行動;
- trusting?a?model\text{trusting a model}trusting?a?model:用戶是否相信模型在部署后能夠以合理的方式運行;
trusting?a?prediction\text{trusting a prediction}trusting?a?prediction非常重要,例如在使用機器學習進行醫療診斷或者恐怖蛀牙檢測,預測不能只給出結果,還必須給出原因。trusting?a?model\text{trusting a model}trusting?a?model同樣非常重要,值得信賴的模型才更可能被部署。
接下來的部分主要包括:
- 一種稱為LIME\text{LIME}LIME的解釋方法,其能夠為任何的單個預測提供faithful的解釋,從而解決trusting?a?prediction\text{trusting a prediction}trusting?a?prediction;
- 一種稱為SP-LIME\text{SP-LIME}SP-LIME的解釋方法,通過挑選具有代表性的實例進行解釋,從而解決trusting?a?model\text{trusting a model}trusting?a?model的問題;
論文作者提出了一種稱為LIME\text{LIME}LIME的模型不可知解釋方法,其能夠以faithful的方式來解釋任意的預測
二、為什么需要解釋
解釋模型的預測是獲取人類信任和應用機器學習都十分重要。
”解釋單個預測“的過程如圖1所示。
顯然,如果能夠為醫生提供人類可理解的模型解釋,那么醫生就能依賴先驗知識決定接受或者拒絕預測。
此外,先前評估機器學習模型的方法,是通過評估模型在測試集上的指標來確定的。但是,這種方式并不能完全測試出模型在真實世界中的表現。因此,通過解釋一些具有代表性樣本的模型預測,能夠提供一種對模型的全局理解。特別是,數據泄露(data leakage)的錯誤很難被已有的方法評估,但是通過對模型的預測提供解釋可以很方便的發現這樣的錯誤。
三、解釋方法該具有的性質
1. 易于理解性
解釋方法提供的解釋必須是易于理解,而易于理解是與受眾相關的。
此外,模型的易于理解性也是一個相對的概念。舉例來說,通常線性模型被認為具有良好的可解釋性,但是在一些情況下也會難以理解。例如,若成百上千個特征均對線性模型預測有貢獻,并且這些特征對應的權重也完全已知,人類仍然很難理解這樣的模型。
2. 局部保真度
解釋方法必須具有局部保真度(local fidelity)。除非一個解釋是對模型本身的完整描述,否則不可能是完全faithful的解釋。顯然,在深度學習模型中,根本不可能給出一個完全faithful的解釋。但是,一個解釋必須具有局部保真度,即一個解釋能夠展示出模型在被解釋實例附近的行為。
此外,局部保真度并不意味著全局保真度,即特征是局部重要但并不全局重要。
3. 模型不可知
雖然有有些模型本身是可解釋的,但是理想的解釋方法應該能解釋任何模型,因此需要解釋方法是模型不可知。
4. 解釋整個模型
除了能夠解釋單個預測外,能夠為模型提供一個全局視角的解釋也很重要。
四、LIME
LIME(Local?Interpretable?Model-agnostic?Explanations)\text{LIME(Local Interpretable Model-agnostic Explanations)}LIME(Local?Interpretable?Model-agnostic?Explanations)是一種為分類器提供局部保真的可解釋方法。
1. 數據表示形式
正如前面提及的,解釋是需要易于理解的。
因此,對于文本來說,其解釋可以表示為一個二進制向量,其中0表示單詞的缺失,1表示單詞存在。直觀上來看,就是從文本中抽取一些片段來解釋單個預測。對于圖像分類器,也可以使用一個二進制向量來表示相鄰圖像塊的存在還是缺失。
令x∈Rdx\in\mathbb{R}^dx∈Rd為被解釋實體的原始表示,使用x′∈{0,1}d′x'\in\{0,1\}^{d'}x′∈{0,1}d′表示用于解釋的二進制向量。
2. LIME提出的框架
LIME其實提出了一種解釋框架,該框架對保真度和可解釋性進行了權衡。
2.1 原理概述
LIME希望通過一個可解釋的簡單模型ggg來模擬復雜模型fff的局部行為,從而為單個樣本提供解釋。
2.2 基本框架
可解釋模型ggg
模型g∈Gg\in Gg∈G是一個本身可以解釋的模型,例如決策樹、線性模型等。其中GGG表示一類可解釋模型。
模型復雜度Ω(g)\Omega(g)Ω(g)
雖然ggg為可解釋模型,但是如果復雜度過高則仍然難以解釋,因此定義Ω(g)\Omega(g)Ω(g)來衡量解釋模型g∈Gg\in Gg∈G的復雜度。例如,若ggg為決策樹,則Ω(g)\Omega(g)Ω(g)可以為樹的深度;若ggg為線性模型,則Ω(g)\Omega(g)Ω(g)可以是非零權重的數量。
被解釋模型fff
被解釋的模型表示為f:Rd→Rf:\mathbb{R}^d\rightarrow\mathbb{R}f:Rd→R,例如在分類任務中,f(x)f(x)f(x)是樣本xxx屬性某個類別的概率。
樣本領域πx\pi_xπx?
令πx(z)\pi_x(z)πx?(z)表示樣本xxx和zzz的接近程度,πx\pi_xπx?表示樣本xxx的領域。
模型近似度L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)
令L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)表示在領域πx\pi_xπx?內模型ggg近似fff的unfaithful程度。即L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)越小,ggg對fff的近似越好。
最終框架
為了確保易于解釋和局部保真度,必須要最小化L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)的同時也保證Ω(g)\Omega(g)Ω(g)足夠低,便于人類理解。因此,最終的框架為
ξ(x)=argming∈GL(f,g,πx)+Ω(g)\xi(x)=\mathop{\text{argmin}}_{g\in G}\mathcal{L}(f,g,\pi_x)+\Omega(g) ξ(x)=argming∈G?L(f,g,πx?)+Ω(g)
其中,上面的框架可以適應于任何類型的GGG、L\mathcal{L}L和Ω\OmegaΩ,ξ(x)\xi(x)ξ(x)為樣本xxx的解釋。
2.3 如果計算L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)
由于希望使用ggg來近似fff的局部行為,那么就需要通過數據來模擬fff的局部行為,并使用ggg進行學習。具體來說,
- 給定一個待解釋樣本x∈Rnx\in\mathbb{R}^nx∈Rn,二進制向量x′∈{0,1}d′x'\in\{0,1\}^{d'}x′∈{0,1}d′則是xxx的易于解釋性表示;
- 通過對x′x'x′進制擾動生成z′∈{0,1}d′z'\in\{0,1\}^{d'}z′∈{0,1}d′,其包含了x′x'x′中的一部分非零值;
- 基于z′z'z′和xxx,生成z′z'z′的原始表示zzz;
- 使用原始模型進行預測f(z)f(z)f(z);
- 衡量樣本xxx和zzz的接近程度πx(z)\pi_x(z)πx?(z);
- 生成一個領域樣本(z′,f(z),πx(z))(z',f(z),\pi_x(z))(z′,f(z),πx?(z));
按照上面的方法生成一個新的數據集,其代表fff在樣本xxx領域的行為。然后,使用新的數據集訓練模型ggg,那么就認為ggg學習到了fff的局部行為。ggg的解釋也就是fff的解釋。
3. LIME框架的具體例子----稀疏線性解釋器
3.1 L(f,g,πx)\mathcal{L}(f,g,\pi_x )L(f,g,πx?)的具體選擇
令GGG表示一類線性模型,則g(z′)=wg?z′g(z')=w_g\cdot z'g(z′)=wg??z′。
定義具體的L(f,g,πx)\mathcal{L}(f,g,\pi_x)L(f,g,πx?)
L(f,g,πx)=∑z,z′∈Zπx(z)(f(z)?g(z′))2\mathcal{L}(f,g,\pi_x)=\sum_{z,z'\in\mathcal{Z}}\pi_x(z)(f(z)-g(z'))^2 L(f,g,πx?)=z,z′∈Z∑?πx?(z)(f(z)?g(z′))2
其中,樣本接近程度評估函數為πx(z)=exp(?D(x,z)2/σ2)\pi_x(z)=exp(-D(x,z)^2/\sigma^2)πx?(z)=exp(?D(x,z)2/σ2),DDD是距離衡量函數,σ\sigmaσ是標準化系數。值得注意的是,g(z′)g(z')g(z′)是在二進制向量上訓練的,f(z)f(z)f(z)則相反。
3.2 Ω(g)\Omega(g)Ω(g)的具體選擇
對于文本分類任務,可以使用詞袋的方法來確定解釋的易于理解性。通過對詞袋中單詞數設定一個界限KKK來控制解釋的復雜度,例如Ω(g)=∞1[∥wg∥0>K]\Omega(g)=\infty 1[\Vert w_g\Vert_0>K]Ω(g)=∞1[∥wg?∥0?>K]。其中,KKK可以設置為用戶能夠理解的最大值。
對于圖像分類,可以使用相同的Ω\OmegaΩ,只不過使用"super-pixels"來替代單詞即可。
由于直接優化目標函數中的Ω\OmegaΩ十分困難,因此ggg可以選擇具有KKK個特征的Lasso模型。
3.3 完整的算法
輸入:分類器fff和采樣數量NNN;
輸入:實例xxx和其可解釋版本x′x'x′;
輸入:相似度核πx\pi_xπx?,解釋的長度KKK;
? Z←{}\mathcal{Z}\leftarrow\{\}Z←{}
? for i∈1,2,...,Ni\in {1,2,...,N}i∈1,2,...,N do
? zi′←sample_aroud(x′)z_i'\leftarrow sample\_aroud(x')zi′?←sample_aroud(x′)
? Z←Z∪?zi′,f(zi),πx(zi)?\mathcal{Z}\leftarrow\mathcal{Z}\cup\langle z_i',f(z_i),\pi_x(z_i)\rangleZ←Z∪?zi′?,f(zi?),πx?(zi?)?
? end for
? 使用zi′z_i'zi′?作為特征,f(z)f(z)f(z)作為標簽,訓練模型K-Lasso(Z,K)\text{K-Lasso}(\mathcal{Z},K)K-Lasso(Z,K);
? 獲取權重w←K-Lasso(Z,L)w\leftarrow \text{K-Lasso}(\mathcal{Z},L)w←K-Lasso(Z,L)
? return w
上面的算法會為單個實例生成一個解釋,其計算復雜度主要依賴于f(x)f(x)f(x)的時間和采樣數量NNN。
4. 缺陷
- 二進制向量的方式可能無法提供有效的解釋。例如,在一個預測圖像是否為“復古”風格的模型中,無法通過像素的存在或者缺失來提供人類易于理解的解釋。
- 若GGG選擇未稀疏線性模型,那么也就意味著fff的局部是線性的。如果fff的局部是高度非線性的,那么LIME也無法提供一個faithful的解釋。
五、應用LIME的案例
1. 文本分類
存在一個文本分類模型,其被用于將文本分類為A和B兩種標簽。若模型準確了能夠達到95%以上,那么通常人類會選擇該模型并部署。但是,如果所有A類別的文本均包含單詞"Posting",而B類別文本幾乎不包含。那么模型將會依據單詞"Posting"進行判斷。顯著,這樣的模型是有問題的,需要修改訓練數據。
2. 圖像分類
上圖(a)是輸入至圖像分類模型進行分類的原始圖像。(b)、?、(d)分別是模型將原始圖像預測為“電吉他”、“木吉他”和"拉布拉多"的原因。特別是,(b)提供了模型為什么將木吉他判斷為電吉他的原因----指板。
總結
以上是生活随笔為你收集整理的【机器学习】【可解释性】LIME的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Car - 开机画面
- 下一篇: 高德地图测开笔试题分享