以分類問題舉例湘换。將一張圖片分類為貓宾舅。
局部可解釋性:為什么這是一只貓
全局可解釋性:一只貓長什么樣
為什么要可解釋:對于分類問題,我們在某些情況下給出分類的依據(jù)彩倚。(神馬漢斯筹我?)
具有可解釋性,幫助我們提高模型的性能帆离。
李宏毅對可解釋性的觀點(diǎn):機(jī)器學(xué)習(xí)可解釋性不等于完全理解模型蔬蕊,只要使得人滿意。不同的任務(wù)給予不同的解釋內(nèi)容哥谷。目標(biāo)——》去黑暗下找車鑰匙岸夯。
局部可解釋性方法:1.遮擋輸入的每一個(gè)組成成分,觀察結(jié)果们妥。2.對輸入的每一個(gè)成分添加擾動猜扮,觀察結(jié)果。擾動影響可以使用y對x的偏微分計(jì)算监婶。3.對于某些輸入的成分旅赢,雖然它的偏微分小,但是對結(jié)果的判斷確實(shí)有很大作用惑惶,這類可解釋性需要新的方法煮盼。
舉例:模型對圖片分類,兩類圖片分別是png和jpg集惋,利用saliency map可以解釋分類正確的原因孕似。
全局可解釋性方法:激活值最大化。指定一個(gè)分類的輸出結(jié)果刮刑,找到得到該分類結(jié)果最大值的輸入喉祭,這個(gè)數(shù)據(jù)就是模型F所希望的最佳輸入。通常需要一個(gè)正則項(xiàng)來保證輸入是一個(gè)正常的圖像雷绢。
除了一般正則項(xiàng)泛烙,可以利用卷積神經(jīng)網(wǎng)絡(luò)G作為正則項(xiàng)。一個(gè)向量z輸入生成網(wǎng)絡(luò)G翘紊,得到輸入圖像X蔽氨,將X再輸入分類器F,得到分類結(jié)果Y。通過最大化Y鹉究,找到對應(yīng)的z宇立。z輸入到G中得到分類器F認(rèn)為的理想的圖像X。這里的分類器F在訓(xùn)練中固定不變自赔,因?yàn)槲覀兊哪康氖墙忉屗?/p>
利用可解釋的模型去解釋不可解釋的模型妈嘹。例如使用一個(gè)線性模型去模擬一個(gè)神經(jīng)網(wǎng)絡(luò),我們只解釋線性模型即可绍妨。然而润脸,線性模型是不能模擬神經(jīng)網(wǎng)絡(luò),正因?yàn)槿绱怂ィ晕覀儾攀褂蒙窠?jīng)網(wǎng)絡(luò)毙驯。所以考慮用一個(gè)可解釋模型去模擬部分的神經(jīng)網(wǎng)絡(luò),來解釋不可解釋的模型灾测。使用lime模型(local interpretable model-agnostic explanations)爆价,但是會受到采樣點(diǎn)的選取結(jié)果影響。
利用LIME解釋圖像分類問題媳搪。1.將一個(gè)圖像分割成M個(gè)不同的區(qū)域允坚,將部分區(qū)域覆蓋后輸入網(wǎng)絡(luò),記錄輸出的分?jǐn)?shù)蛾号。2.將分割的圖像編碼成M長度的向量,編碼規(guī)則為:不覆蓋的區(qū)域?yàn)?涯雅,覆蓋的區(qū)域?yàn)?鲜结。3.將編碼后的向量用線性模型模擬1步驟中的輸出結(jié)果。4.查看線性模型的權(quán)重锨并,權(quán)重較大的代表該區(qū)域m更影響輸出結(jié)果狐粱。
利用決策樹解釋神經(jīng)網(wǎng)絡(luò)次员。決策樹有很好的擬合數(shù)據(jù)的能力,但是想要達(dá)到和神經(jīng)網(wǎng)絡(luò)同樣的擬合數(shù)據(jù)的效果怒允,意味著這棵決策樹會很深。這就會導(dǎo)致很難去解釋锈遥,因此我們希望用一個(gè)盡可能最淺的決策樹來擬合神經(jīng)網(wǎng)絡(luò)的輸出纫事。解決方案:在訓(xùn)練的時(shí)候就考慮轉(zhuǎn)化為決策樹后的大小。構(gòu)造新的損失函數(shù)loss+O(T)所灸,O(T)代表樹的平均深度丽惶。但是我們在訓(xùn)練神經(jīng)網(wǎng)絡(luò)的時(shí)候使用梯度下降法,樹的平均深度是無法做偏微分的爬立。解決方案:訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)钾唬,它的輸入是網(wǎng)絡(luò)的參數(shù),輸出是其轉(zhuǎn)化為樹結(jié)構(gòu)后的平均深度。這個(gè)新的網(wǎng)絡(luò)不需要很復(fù)雜抡秆,知識在訓(xùn)練這個(gè)網(wǎng)絡(luò)所需要的數(shù)據(jù)需要自己制作奕巍,比較麻煩。