本頁面由 Cloud Translation API 翻譯而成。
Switch to English

神經結構學習框架

神經結構化學習(NSL)致力於通過利用結構化信號(如果有)以及特徵輸入來訓練深度神經網絡。如Bui等人所述。 (WSDM'18) ,這些結構化信號用於規範化神經網絡的訓練,從而迫使模型學習準確的預測(通過最小化監督損失),同時保持輸入結構的相似性(通過最小化鄰居損失) ,請參見下圖)。該技術是通用的,可以應用於任意的神經體系結構(例如前饋NN,卷積NN和遞歸NN)。

NSL概念

注意,廣義鄰居損失方程是靈活的,並且除了上面說明的形式以外,還可以具有其他形式。例如,我們也可以選擇

$$ \ sum_ {x_j \ in \ mathcal {N}(x_i)} \ mathcal {E}(y_i,g_ \ theta(x_j))$$

是鄰居損失,它計算地面真相之間的距離

$$ y_i $$

和鄰居的預測

$$ g_ \ theta(x_j)$$

。這通常在對抗學習中使用(Goodfellow等,ICLR'15) 。因此,如果鄰居由圖顯式表示,則NSL概括為神經圖學習;如果鄰居由對抗性攝動隱式誘發,則NSL概括為對抗性學習

神經結構學習的整體工作流程如下所示。黑色箭頭代表常規培訓工作流程,紅色箭頭代表NSL為利用結構化信號引入的新工作流程。首先,訓練樣本被增強以包括結構化信號。如果沒有明確提供結構化信號,則可以構造或引入結構化信號(後者適用於對抗性學習)。接下來,將增強的訓練樣本(包括原始樣本和它們的相應鄰居)饋送到神經網絡以計算其嵌入。計算樣本的嵌入與其鄰居的嵌入之間的距離,並將其用作鄰居損失,將其視為正則化項並添加到最終損失中。對於基於鄰居的顯式正則化,我們通常將鄰居損失計算為樣本嵌入與鄰居嵌入之間的距離。但是,神經網絡的任何一層都可以用來計算鄰居損失。另一方面,對於基於誘導鄰居的正則化(對抗),我們將鄰居損失計算為誘導對抗鄰居的輸出預測與地面真相標籤之間的距離。

NSL工作流程

為什麼要使用NSL?

NSL具有以下優點:

  • 更高的精度 :樣本之間的結構化信號可以提供並非總是在特徵輸入中可用的信息;因此,聯合培養的方法(與兩個結構化的信號和特徵)已經顯示出優於對多種任務,諸如文檔分類和語義意圖分類(的許多現有方法(即依賴於訓練只有功能) 裴等人(WSDM'18Kipf等,ICLR'17 )。
  • 魯棒性 :用對抗性示例訓練的模型已被證明具有對抗設計為誤導模型的預測或分類的對抗性魯棒性( Goodfellow等人,ICLR'15Miyato等人,ICLR'16 )。當訓練樣本的數量較少時,使用對抗性示例進行訓練也有助於提高模型的準確性( Tsipras等人,ICLR'19 )。
  • 所需的標籤數據更少 :NSL使神經網絡能夠利用標籤數據和未標籤數據,從而將學習範式擴展到半監督學習 。具體而言,NSL允許網絡像在受監管的設置中一樣使用標記的數據進行訓練,同時驅動網絡為可能帶有或不帶有標籤的“相鄰樣本”學習相似的隱藏表示。當標記的數據量相對較小時,此技術已顯示出提高模型準確性的巨大希望( Bui等人,WSDM'18Miyato等人,ICLR'16 )。

分步教程

為了獲得神經結構化學習的動手經驗,我們提供了三個教程,涵蓋了可以顯式給出,誘導或構造結構化信號的各種場景: