人工智慧頂會 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 的特徵。
知識一致性演算法可以用於分析網路壓縮中的資訊損失。研究者使用壓縮後模型生成的特徵來重建原始模型的特徵,不一致的特徵分量往往對應著壓縮過程中被捨棄的知識。如下圖(左)所示,通過量化這部分被捨棄的知識,他們發現在壓縮過程中較小的知識損失會有更高的分類正確率。
此外,還可以通過知識一致性演算法解釋蒸餾。如下圖(右),通過量化不同代的再生神經網路中不一致的特徵分量,可以發現隨著蒸餾代數的增加,不可靠的特徵分量逐漸減少。