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