1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        【NLP】探索NLP模型可解釋性的7種姿勢(shì)

        共 2799字,需瀏覽 6分鐘

         ·

        2021-11-15 10:13

        每次看badcase時(shí),都會(huì)懷疑自己的能力,是我哪里做的不對(duì)嗎?這都學(xué)不會(huì)?

        幸運(yùn)的話(huà),會(huì)找到一批有共性的問(wèn)題,再有針對(duì)性地加入訓(xùn)練數(shù)據(jù)或者改動(dòng)模型解決。而不幸的話(huà),就是這兒錯(cuò)一個(gè)那兒錯(cuò)一個(gè),想改動(dòng)都無(wú)從下手。

        今天,就推薦一篇香儂科技出品的「NLP模型可解釋性綜述」,幫大家尋找模型預(yù)測(cè)結(jié)果的根據(jù)所在,從而更有針對(duì)性地進(jìn)行優(yōu)化。

        論文:Interpreting Deep Learning Models in?Natural?Language?Processing:?A?Review

        這篇文章描述的「可解釋性」,旨在理解模型為什么給出當(dāng)前的預(yù)測(cè)結(jié)果。從預(yù)測(cè)結(jié)果根據(jù)的出處來(lái)看,作者把可解釋性方法分為三類(lèi):

        1. Training-based:從訓(xùn)練數(shù)據(jù)找根據(jù),比如某條訓(xùn)練樣本使得模型將當(dāng)前測(cè)試樣本預(yù)測(cè)為A類(lèi)
        2. Test-based:從測(cè)試數(shù)據(jù)本身找根據(jù),比如某個(gè)詞、某個(gè)片段
        3. Hybrid-based:同時(shí)從訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)找根據(jù)

        從可解釋性方法的使用來(lái)看,又可以分為兩種:

        1. Joint methods:把負(fù)責(zé)可解釋性的模塊加入到模型中一起訓(xùn)練
        2. Pos-hoc methods:在訓(xùn)練后加入可解釋性模塊

        接下來(lái)的梳理主要以第一種分類(lèi)體系為主線,不過(guò)作者也同時(shí)給出了每個(gè)方法的使用方式:

        Training-based

        Influence Functions

        這類(lèi)方法主要通過(guò)一個(gè)函數(shù),來(lái)衡量訓(xùn)練樣本z對(duì)于測(cè)試樣本x的影響。最naive的方法就是去掉z再訓(xùn)練一個(gè)模型,但這樣測(cè)完的時(shí)候就可以領(lǐng)盒飯走人了。不過(guò)我們有數(shù)學(xué)呀!于是在計(jì)算訓(xùn)練loss的時(shí)候,我們可以給樣本z的loss加一個(gè)擾動(dòng),然后就能計(jì)算出z對(duì)于模型權(quán)重的影響,再把x輸入進(jìn)去,就能計(jì)算出每個(gè)z對(duì)每個(gè)x的影響情況。

        由于公式太復(fù)雜,我就不列出來(lái)殺大家的腦細(xì)胞了。其中有個(gè)問(wèn)題是Hessian矩陣比較難算,對(duì)于深度模型簡(jiǎn)直是災(zāi)難。于是又有學(xué)者提出了更簡(jiǎn)單的方法:Turn over dropout。

        該方法的核心思想是,在訓(xùn)練完模型后,得到每個(gè)樣本的一個(gè)mask矩陣m(z),應(yīng)用mask之后可以分離出那些不受樣本z影響的神經(jīng)元。于是我們可以應(yīng)用矩陣得到兩個(gè)子網(wǎng)絡(luò),再輸入x后預(yù)測(cè),就能計(jì)算出預(yù)測(cè)的diff。

        KNNs Based Interpretation

        基于KNN的方法旨在通過(guò)測(cè)試樣本的隱層表示找到相近的訓(xùn)練樣本

        這個(gè)方法理解起來(lái)就容易多了,而且很實(shí)用。比如我們?cè)谧龇诸?lèi)任務(wù)時(shí),有的測(cè)試樣本置信度沒(méi)那么高,這時(shí)就可以通過(guò)KNN的方法去找相近的TopK個(gè)訓(xùn)練樣本,根據(jù)它們的label分布來(lái)幫助預(yù)測(cè):

        Kernel based Interpretation

        這類(lèi)方法比較老了,參考文獻(xiàn)都是18、19年的。具體做法是,先用核函數(shù)對(duì)預(yù)測(cè)樣本x和多個(gè)訓(xùn)練樣本l計(jì)算相似度K(x,l),之后把相似度矩陣投影成更高維的表示,再輸入神經(jīng)網(wǎng)絡(luò)進(jìn)行預(yù)測(cè)。之后再利用LRP(Layerwise Relevance Propagation)反向計(jì)算每層、每個(gè)神經(jīng)元的相關(guān)性分?jǐn)?shù),傳導(dǎo)回訓(xùn)練樣本那一層就能知道每個(gè)樣本對(duì)測(cè)試數(shù)據(jù)的影響了。

        在訓(xùn)練時(shí),Kernel和投影層都是一起訓(xùn)練的,所以這種方法既需要在訓(xùn)練時(shí)加入,又需要訓(xùn)練后的計(jì)算。

        Test-based

        Saliency-based Interpretation

        這種方法的核心思想是利用一些metric計(jì)算測(cè)試樣本中token、spen的重要程度。作者列出了很多種可以用的metirc:

        Attention-based Interpretation

        這個(gè)相信大家都熟悉了,就是通過(guò)觀察attention矩陣來(lái)分析token的重要程度。

        但有意思的事,作者也在參考文獻(xiàn)中發(fā)現(xiàn)了一些質(zhì)疑的聲音:Attention確實(shí)能給可解釋性提供幫助嗎?

        在一篇19年的工作《Attention is not explanation》中,該作者提到,如果注意力權(quán)重真的能提供可解釋性,那它應(yīng)該具備兩個(gè)性質(zhì)

        1. 注意力權(quán)重應(yīng)該和基于特征的Saliency-based方法有很高的相關(guān)性
        2. 改變注意力權(quán)重會(huì)影響預(yù)測(cè)結(jié)果

        但是之后,該作者通過(guò)一系列的實(shí)驗(yàn),證實(shí)attention不具備上述兩個(gè)性質(zhì)。所以直到現(xiàn)在(2021年11月),注意力機(jī)制是否能提供可解釋性這個(gè)問(wèn)題還處于爭(zhēng)論之中。

        不過(guò)該工作的實(shí)驗(yàn)是基于BiLSTM+Attention的,仍然有很多基于BERT的實(shí)驗(yàn)表明,注意力機(jī)制確實(shí)學(xué)到了不少的語(yǔ)言知識(shí)。

        Explanation Generation

        這個(gè)方法就有意思了,上述我們介紹的可解釋性方法,對(duì)于人類(lèi)來(lái)說(shuō)可讀性都比較弱。而這類(lèi)方法就要求輸出對(duì)人類(lèi)更友好的「解釋」。比如:

        1. Extractive/Abstractive Rationale:通過(guò)抽取或者生成的方式,把樣本中對(duì)結(jié)果影響大的部分輸出出來(lái)
        2. Concept-based:將預(yù)測(cè)樣本聯(lián)系到一些抽象概念上,比如在對(duì)餐廳的評(píng)價(jià)中,哪些詞語(yǔ)是形容口味的、環(huán)境的等等,相當(dāng)于給出了推理過(guò)程
        3. Hierarchical:自底向上分別給句子的每個(gè)token、span打分,哪個(gè)片段是正向、哪個(gè)是負(fù)向,也相當(dāng)于給出了推理過(guò)程

        總結(jié)

        可解釋性算是一個(gè)沒(méi)那么熱的方向,首先是深度模型確實(shí)太復(fù)雜了、太隨機(jī)了,有時(shí)候自己想的一堆idea都沒(méi)用,一個(gè)bug反而有提升。到了解釋的時(shí)候全靠猜,可能是哪里分布不一致?或者是模型已經(jīng)足夠強(qiáng)了,我加的輸入知識(shí)它不需要?其次是大部分人都是結(jié)果導(dǎo)向,有時(shí)間研究不確定的可解釋性,不如花心思在指標(biāo)提升上。

        要說(shuō)可解釋性重不重要,那肯定是重要的。如果對(duì)模型的了解更深入,就可以避免一些高風(fēng)險(xiǎn)的badcase。比如風(fēng)控領(lǐng)域,一個(gè)反動(dòng)內(nèi)容可能會(huì)滅了一家公司,再比如醫(yī)療領(lǐng)域,一個(gè)錯(cuò)誤的預(yù)測(cè)可能影響患者的生命。

        論文的結(jié)尾,作者列出了很多的開(kāi)放問(wèn)題等待大家探索:

        1. 到底怎樣才算可解釋?zhuān)?/section>
        2. 如何評(píng)估這些探究可解釋性的方法?
        3. 是為算法工程師提供解釋?zhuān)€是為看到結(jié)果的用戶(hù)提供解釋?zhuān)?/section>
        4. 目前的可解釋性方法大多研究分類(lèi)任務(wù),而其他任務(wù)呢?
        5. 很多可解釋性方法提供的結(jié)果不一致
        6. 是否要犧牲性能獲取更高的可解釋性?
        7. 可解釋性方法如何應(yīng)用?它的價(jià)值有多少?

        那么最后,深度模型是否真的可解釋?zhuān)窟@個(gè)問(wèn)題我也沒(méi)有想清楚,世上無(wú)法解釋的東西太多了。


        往期精彩回顧




        站qq群554839127,加入微信群請(qǐng)掃碼:
        瀏覽 67
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            最近中文字幕免费MV第一季歌词十 | 亚洲精品乱码久久久久久麻豆不卡 | 自拍偷拍色 | 国产精品久久久久久久久无码春色 | 69成人精品视频 | 少妇高潮迭起 | 综合成人 | 骚狐网站| 操b视频在线播放 | 午夜男女福利 |