ICLR2020 | 如何判断两个神经网络学到的知识是否一致
?
人工智能頂會 ICLR 2020 將于 4 月 26 日于埃塞俄比亞首都亞的斯亞貝巴舉行。在最終提交的 2594 篇論文中,有 687 篇被接收,接收率為 26.5%。本文介紹了上海交通大學(xué)張拳石團(tuán)隊的一篇接收論文——《Knowledge Consistency between Neural Networks and Beyond》。在本文中,研究者提出了一種對神經(jīng)網(wǎng)絡(luò)特征表達(dá)一致性、可靠性、知識盲點的評測與解釋方法。
論文鏈接:https://arxiv.org/pdf/1908.01581.pdf
概覽
深度神經(jīng)網(wǎng)絡(luò)(DNN)已經(jīng)在很多任務(wù)中表現(xiàn)出了強(qiáng)大的能力,但目前仍缺乏診斷其中層表征能力的數(shù)學(xué)工具,如發(fā)現(xiàn)表征中的缺陷或識別可靠/不可靠的特征。由于數(shù)據(jù)泄漏或數(shù)據(jù)集發(fā)生變化,基于測試準(zhǔn)確率的傳統(tǒng) DNN 評測方法無法深入評估 DNN 表征的正確性。
因此,在本論文中,來自上海交大的研究者提出了一種從知識一致性的角度來診斷 DNN 中層網(wǎng)絡(luò)表征能力的方法。即,給定兩個為同一任務(wù)訓(xùn)練的 DNN(無論二者架構(gòu)是否相同),目標(biāo)是檢驗兩個 DNN 的中間層是否編碼相似的視覺概念。
該研究實現(xiàn)了:(1)定義并量化了神經(jīng)網(wǎng)絡(luò)之間知識表達(dá)的不同階的一致性;(2)對強(qiáng)弱神經(jīng)網(wǎng)絡(luò)中層知識進(jìn)行分析;(3)對中層特征的診斷,在不增加訓(xùn)練樣本標(biāo)注的前提下進(jìn)一步促進(jìn)神經(jīng)網(wǎng)絡(luò)分類準(zhǔn)確率;(4)為解釋神經(jīng)網(wǎng)絡(luò)壓縮和知識蒸餾提供了一種新的思路。
算法簡介
該論文定義了兩個神經(jīng)網(wǎng)絡(luò)之間在知識表達(dá)層面的一致性,即分析兩個獨(dú)立訓(xùn)練的神經(jīng)網(wǎng)絡(luò)是否建模了相同或相似的知識。研究者關(guān)注的是兩個神經(jīng)網(wǎng)絡(luò)所建模的知識的相似性,而非特征的相似性(比如,將一個神經(jīng)網(wǎng)絡(luò)的中層卷積核的順序打亂,并相應(yīng)的重新排列其對應(yīng)的上層卷積核的順序,經(jīng)過上層卷積后特征與原始神經(jīng)網(wǎng)絡(luò)對應(yīng)特征相同,這時,這兩神經(jīng)網(wǎng)絡(luò)具有不同的中層特征,但事實上建模了相同的知識)。
另一方面,可以利用神經(jīng)網(wǎng)絡(luò)知識表達(dá)的一致性,直接對神經(jīng)網(wǎng)絡(luò)內(nèi)部特征表達(dá)可靠性進(jìn)行評測,而不需要額外標(biāo)注新的監(jiān)督信息,此評測標(biāo)準(zhǔn)也與具體任務(wù)設(shè)置無關(guān)。如果沒有可靠的數(shù)學(xué)工具去評測神經(jīng)網(wǎng)絡(luò)的特征的可靠性,僅僅通過最終的分類正確率來評測神經(jīng)網(wǎng)絡(luò),對深度學(xué)習(xí)的未來發(fā)展是遠(yuǎn)遠(yuǎn)不夠的。
因而,針對同一任務(wù)訓(xùn)練多個不同的神經(jīng)網(wǎng)絡(luò),此研究量化出各神經(jīng)網(wǎng)絡(luò)間彼此一致的知識表達(dá),并拆分出其所對應(yīng)的特征分量。具體來說,f_A 和 f_B 分別表示神經(jīng)網(wǎng)絡(luò) A 與神經(jīng)網(wǎng)絡(luò) B 的中層特征,當(dāng) f_A 可以通過線性變換得到 f_B 時,可認(rèn)為 f_A 和 f_B 零階一致;當(dāng) f_A 可以通過一次非線性變換得到 f_B 時,可認(rèn)為 f_A 和 f_B 一階一致;類似的,當(dāng) f_A 可以通過 n 次非線性變換得到 f_B 時,可認(rèn)為 f_A 和 f_B 為 n 階一致。
如下圖所示,可以通過以下神經(jīng)網(wǎng)絡(luò),將神經(jīng)網(wǎng)絡(luò)中層特征 f_A 拆分為 0-K 階不同的一致性特征分量,以及不一致特征分量。
?
低階一致性分量往往表示相對可靠的特征,而不一致分量則表示神經(jīng)網(wǎng)絡(luò)中的噪聲信號。
在應(yīng)用層面,知識一致性可以用來發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)中的不可靠特征和知識盲點。將一個深層高性能網(wǎng)絡(luò)作為標(biāo)準(zhǔn)的知識表達(dá),去分析診斷一個相對淺層的神經(jīng)網(wǎng)絡(luò)的知識表達(dá)缺陷(淺層神經(jīng)網(wǎng)絡(luò)有自己特定的應(yīng)用價值,比如用在移動端)。當(dāng)利用淺層神經(jīng)網(wǎng)絡(luò) (DNN A) 特征去重建深層神經(jīng)網(wǎng)絡(luò) (DNN B) 特征時,深層神經(jīng)網(wǎng)絡(luò)中的不一致特征分量 (δ=f_B-g(f_A)) 往往代表著淺層神經(jīng)網(wǎng)絡(luò)的知識盲點;相對應(yīng)地,當(dāng)利用深層神經(jīng)網(wǎng)絡(luò)特征去重建淺層神經(jīng)網(wǎng)絡(luò)特征時,淺層神經(jīng)網(wǎng)絡(luò)中的不一致特征分量 (δ=f_A-g(f_B)) 往往代表著其中不可靠的特征分量。
實驗結(jié)果
下圖顯示了算法所預(yù)測的淺層神經(jīng)網(wǎng)絡(luò)的知識盲點與不可靠特征。
?
下表從知識一致性的角度,分析神經(jīng)網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定性。當(dāng)訓(xùn)練樣本相對較少時,淺層的神經(jīng)網(wǎng)絡(luò)的訓(xùn)練有更強(qiáng)的穩(wěn)定性。
?
如下圖所示,一致的特征分量往往代表更可靠的信息,可以進(jìn)一步提升神經(jīng)網(wǎng)絡(luò)的分類精度。即,在不增加訓(xùn)練樣本標(biāo)注的前提下,利用知識一致性進(jìn)一步提升模型的分類正確率。
?
知識一致性算法可以消除神經(jīng)網(wǎng)絡(luò)中的冗余特征。預(yù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)(如利用 ImageNet 訓(xùn)練的神經(jīng)網(wǎng)絡(luò))往往建模了海量類別的分類信息,當(dāng)目標(biāo)應(yīng)用只針對少量類別時,預(yù)訓(xùn)練的特征中表達(dá)無關(guān)類別的特征分量則可視為冗余信息。如下圖所示,知識一致性算法可以有效的去除與目標(biāo)應(yīng)用無關(guān)的冗余特征分量,進(jìn)一步提升目標(biāo)應(yīng)用的性能。
?
此外,知識一致性算法可以分析不同任務(wù)訓(xùn)練得到模型中的一致/不一致特征。如下圖所示,研究者訓(xùn)練網(wǎng)絡(luò) A 進(jìn)行 320 類細(xì)分類(包括 CUB 中的 200 類鳥與 Stanford Dog 中的 120 類狗),訓(xùn)練網(wǎng)絡(luò) B 進(jìn)行簡單的二分類(鳥或狗),通過特征相互重構(gòu),可以看到網(wǎng)絡(luò) A 中建模了更多的知識,網(wǎng)絡(luò) A 的特征能夠更好地重構(gòu)網(wǎng)絡(luò) B 的特征。
?
知識一致性算法可以用于分析網(wǎng)絡(luò)壓縮中的信息損失。研究者使用壓縮后模型生成的特征來重建原始模型的特征,不一致的特征分量往往對應(yīng)著壓縮過程中被舍棄的知識。如下圖(左)所示,通過量化這部分被舍棄的知識,他們發(fā)現(xiàn)在壓縮過程中較小的知識損失會有更高的分類正確率。
此外,還可以通過知識一致性算法解釋蒸餾。如下圖(右),通過量化不同代的再生神經(jīng)網(wǎng)絡(luò)中不一致的特征分量,可以發(fā)現(xiàn)隨著蒸餾代數(shù)的增加,不可靠的特征分量逐漸減少。
?
總結(jié)
以上是生活随笔為你收集整理的ICLR2020 | 如何判断两个神经网络学到的知识是否一致的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1年排名前进13位 ,这个论题成顶会新宠
- 下一篇: 数据挖掘学习指南!!