NeurIPS 2019 | 适用于众多模型的Embedding正则化方法
?PaperWeekly 原創 ·?作者|崔克楠
學校|上海交通大學博士生
研究方向|異構信息網絡、推薦系統
本文為 NeurIPS 2019 的文章,提出了一種對 embedding 的參數進行的正則化技術。
在許多神經網絡中,底層的 embedding 層的參數占據了網絡中參數的大部分,例如基于 BERT 額模型中的 embedding 高維向量,例如 BERT-Base 中使用 768 維向量表征單詞,在推薦系統中,用戶和商品也往往使用低維向量來表示,例如 50 到 100 維左右。前者中單詞的數量往往在 15000 左右,而后者推薦系統中,商品和用戶的數量往往能夠達到數億的級別。?
本文提出了一種基于數據驅動的 embedding 正則化技術,稱為 Stochastic Shared Embedding (SSE),能夠很好地和 SGD 這些算法結合,使用形式簡單能夠使用于許,多現有的網絡,并且對他們的改動幅度也很小。
論文標題:Stochastic Shared Embeddings: Data-driven Regularization of Embedding Layers
論文來源:NeurIPS 2019
論文鏈接:https://arxiv.org/abs/1905.10630
源碼鏈接:https://github.com/wuliwei9278/SSE-PT
論文方法
從下圖可以預覽該方法,相較于普通的網絡,作者在 embedding layer 后添加了 SSE layer。而 SSE layer 的具體操作則是,在訓練時隨機地對兩個 embedding 進行替換,而在測試時則關閉該操作。
用式子的形式可以表示為如下所示:
S 代表優化目標,下標 i 代表第 i 個訓練樣本,j 和 k 為 embedding 的索引 index(例如對于 BERT 的情感分析任務,訓練樣本用 i 表示,訓練樣本中的輸入為文本,文本當中的單詞用 j 和 k 索引表示)。
Φ 為兩個 embedding 之間的替換概率參數。p 代表使用 embedding k 替換 embedding j 的概率,而 E[k] 代表從取出 embedding k 的操作,l 則代表和目標任務相關的 loss。集合 I 則代表第 I 個 embedding 的索引集合。所以上邊的具體例子指的是我們僅僅對網絡中添加一層 SSE 的情況。?
而轉移概率的定義方法則有兩種,如果我們有 graph 的先驗知識,可以使用 random walk 的方法,例如已知 j 點和 k 點連接,j 和 i 未連接,則有:
ρ 通常大于 1,代表連接的 embedding 之間應當更加接近,同時還有 j 還有一定的概率 1-ρ_0 選擇不進行替換節點,即 self loops。這種基于 Graph 的方法記為 SSE-Graph。圖 2 中也給出了一個 SSE-Graph 的示例圖。
當我們對 embedding 沒有 graph 的先驗知識時,我們采用如下方法:
即所有節點同其他節點之間的轉移概率想用,N 為 embedding 的數量。一般 ρ_0 大小為 0.01,這種方法簡稱為 SSE-SE。
另外,當網絡中有多層 embedding layer 時,上述操作可以在每層 embedding 層之后操作,用式子表示為如下,M 代表不同的 embedding layer 的數量。
另外作者給出了該方法能夠有效減小 variance 的理論分析,而整體的算法如下表所示。
比較與聯系
我們最常用的正則化技術包括 L1,L2 正則化,dropout,以及參數共享,max-norm 正則化,梯度階段等。
本文提出的該技術和以往的許多正則化技術有著一些聯系。例如 Laplacian 正則化,在 graph 上連接的兩個點的 embedding 之間的 distance 會被懲罰。Hard parameter sharing 要求在同一個 group 內的 embedding 完全共享參數。Soft parameter 要求所有的 embedding 之間的距離都要被懲罰。這些正則化技術都和 loss 沒有關聯,而 SSE 是數據驅動的,并且像 dropout 一樣具有隨機性的優勢。?
同時當我們把標簽看作 one hot 向量,對其使用 SSE,則 SSE 和 label smoothing 較為相似。BERT 的預訓練階段會隨機的去掉輸入 10% 的文本,同時對這些文本的 10% 進行隨機替換,這種操作也可以視為一種特殊化的 SSE。
實驗和分析
Q1:SSE 僅使用一層時表現如何?
在推薦數據集上,如 movielens 上,作者利用 movie 和 actors 之間的關系在 movies 之間構建 graph,對比了 SSE-Graph 和 Graph Lapalacian 以及 Dropout 對 MF 和 BPR 模型的提升。可以不管是否提供 Graph 信息,SSE 的表現都是最優的。同時 SSE 還能夠和 dropout 共同使用,一起提升模型效果。
Q2:SSE 對于多層 embedding 的模型提升效果如何??
作者考慮在模型 BERT 中使用 SSE,其實在以往 BERT 的預訓練中,就已經在隱性的使用了 SSE 的思想。例如 BERT 預訓練中,隨機 mask 掉 15% 的詞,同時這 15% 中另外再取 10% 替換為其他隨機的單詞,這就相當使用了替換概率為 0.015 的 SSE。
另外在 fine tune 階段,作者還考慮了對 label 層的 one hot encoding 也使用 SSE。可以從下邊兩個表格中看出在 pre-train 和 fine-tune 階段使用 SSE,模型效果均有提升。
Q3:SSE 效率如何??
可以看到 SSE 不僅使得模型在測試集上的泛化誤差較小,同時收斂速度也更快了。
總結
本文提出的方法和 label smoothing 以及 BERT 預訓練技術有著一些聯系,本文的方法簡單有效,能夠應用到眾多模型中。使用要求可以有 graph 先驗信息或沒有,并且可以和 dropout 等技術結合使用,是一種可以廣泛使用的 embedding 正則化技術。
點擊以下標題查看更多往期內容:?
變分推斷(Variational Inference)最新進展簡述
變分自編碼器VAE:原來是這么一回事
圖神經網絡三劍客:GCN、GAT與GraphSAGE
如何快速理解馬爾科夫鏈蒙特卡洛法?
深度學習預訓練模型可解釋性概覽
ICLR 2020:從去噪自編碼器到生成模型
#投 稿 通 道#
?讓你的論文被更多人看到?
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋梁,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。?
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學習心得或技術干貨。我們的目的只有一個,讓知識真正流動起來。
?????來稿標準:
? 稿件確系個人原創作品,來稿需注明作者個人信息(姓名+學校/工作單位+學歷/職位+研究方向)?
? 如果文章并非首發,請在投稿時提醒并附上所有已發布鏈接?
? PaperWeekly 默認每篇文章都是首發,均會添加“原創”標志
???? 投稿郵箱:
? 投稿郵箱:hr@paperweekly.site?
? 所有文章配圖,請單獨在附件中發送?
? 請留下即時聯系方式(微信或手機),以便我們在編輯發布時和作者溝通
????
現在,在「知乎」也能找到我們了
進入知乎首頁搜索「PaperWeekly」
點擊「關注」訂閱我們的專欄吧
關于PaperWeekly
PaperWeekly 是一個推薦、解讀、討論、報道人工智能前沿論文成果的學術平臺。如果你研究或從事 AI 領域,歡迎在公眾號后臺點擊「交流群」,小助手將把你帶入 PaperWeekly 的交流群里。
總結
以上是生活随笔為你收集整理的NeurIPS 2019 | 适用于众多模型的Embedding正则化方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加快手机直连卫星落地,中国联通完成国内运
- 下一篇: 麦克维尔中央空调接入米家 App,支持小