天天看點

ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果

| 作者:YEN

| 機關:東北大學

| 研究方向:推薦系統、計算廣告

本文分享一篇發表在ICLR’21的推薦系統方向的文章:推薦系統中可學習的嵌入次元。

論文連結:https://arxiv.org/abs/2101.07577

論文核心内容:基于Embedding的表示學習方法是推薦模型中常用的方式,傳統的方法為每個特征配置設定相同大小的嵌入次元(embedding size),這篇文章通過可學習的剪枝操作為每個特征配置設定不同的嵌入次元。

ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果

簡介

基于嵌入的表示學習(embedding-based representation learning)方法廣泛應用于推薦模型中,它将原始的高維稀疏特征映射為低維的稠密向量。然後将學習到的向量輸入預測模型,如FM 的内積、 AutoInt的自注意網絡,以獲得預測結果。然而,傳統嵌入方式為所有特征配置設定一個相同的嵌入次元(Embedding size),這種方式有兩個問題。

  • 首先,由于有大量的原始特性,不可避免地會導緻一個巨大的嵌入表(Embedding table),進而導緻較高的存儲成本。(特征嵌入表占據了推薦模型中最大比例的存儲成本,一般在嵌入表的參數量占據整個推薦模型的以上。)
  • 其次,相同的特征嵌入次元可能很難處理不同特征之間的異質性。例如一些特性極其稀疏,是以當嵌入次元對所有特征都是一緻的時,很可能會導緻那些不需要太大表示容量的特征出現過拟合問題,導緻推薦模型往往是次優的。

現有的一些試圖解決這個問題的工作要麼會導緻推薦性能的顯著下降,要麼會遭受無法承受的訓練時間成本的限制。

在這篇文章中,作者提出了一種新的方法,稱為PEP(Plug-in Embedding Pruning的縮寫),以減少嵌入表的大小,同時避免精度的下降和優化成本的上升。PEP通過門檻值修剪嵌入表,其中修剪門檻值(s)可以自适應地從資料中進行學習。是以,可以通過剪枝每個特征的備援參數來自動獲得一個混合次元嵌入方案。PEP是一個可以插入各種推薦模型的通用架構。大量的實驗表明,它可以有效地減少嵌入參數,提高基模型的性能。具體來說,它在減少的參數的同時還保證了強大的推薦性能。至于計算成本,與基模型相比,PEP隻增加了的時間成本。

問題定義

基于特征的推薦系統(Feature-based recommender system)廣泛用于個性化資訊服務平台中。一般來說,深度學習推薦模型以各種原始特征(包括使用者和物品的屬性、互動上下文等)作為輸入,進而預測使用者喜歡物品的機率。具體地說,推薦模型将使用者和物品的屬性的組合作為它的輸入向量,表示為 ,其中 可以定義為如下的所有字段的連接配接:

\mathbf{x}=\left[\mathbf{x}_{1} ; \mathbf{x}_{2} ; \ldots ; \mathbf{x}_{\mathbf{M}}\right]

其中 表示特征域的數量, 是第個域的特征表示(通常表示為one-hot向量)。然後對于, 基于嵌入的推薦模型通過以下公式生成相應的嵌入向量:

\mathbf{v}_{\mathbf{i}}=\mathbf{V}_{\mathbf{i}} \mathbf{x}_{\mathbf{i}}

其中是第i個特征域的嵌入矩陣,表示這個特征域共包含多少特征,表示嵌入次元。該模型對所 有特征域的嵌入矩陣 可以表述如下:

\mathbf{V}=\left\{\mathbf{V}_{\mathbf{1}}, \mathbf{V}_{\mathbf{2}}, \ldots, \mathbf{V}_{\mathbf{M}}\right\}

模型預測時通過 和模型的其它參數 進行計算,如下所示:

\hat{y}=\phi(\mathbf{x} \mid \mathbf{V}, \Theta)

表示預測的機率,表示預測模型,如FM、AutoInt、DeepFM等。

在模型訓練中,為了學習模型參數,優化器将訓練損失最小化如下:

\min \mathcal{L}(\mathbf{V}, \Theta, \mathcal{D}),

其中,表示輸入到模型中的資料,表示輸入特征,表示真實标簽,是損失函數。CTR預估問題中,LogLoss是最常用的損失函數。

\mathcal{L}=-\frac{1}{|\mathcal{D}|} \sum_{j=1}^{|\mathcal{D}|}\left(y_{j} \log \left(\hat{y}_{j}\right)+\left(1-y_{j}\right) \log \left(1-\hat{y}_{j}\right)\right)

其中,是訓練樣本的總數,這裡省略了正則化項。

PEP模型:通過剪枝可獲得可學習的嵌入尺寸

如上所述,記憶體高效的嵌入學習(memory-efficient embedding learning)的一個可行解決方案是自動為不同的特征嵌入 自動配置設定不同嵌入大小的次元 。

由于其離散性和極大的優化空間,直接學習 是不可行的。為了解決這個問題,作者提出了一個新的想法,在 上強制執行列稀疏,它等價地縮小了嵌入的次元。

ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果

如圖1所示,嵌入 中的第一個值被剪裁并設定為零,進而導緻一個 的嵌入大小。此外,還有一些不重要的特征嵌入,如 ,通過設定所有值為零可以進行丢棄,即。是以,這樣的方法可以顯著地減少嵌入參數。另外,稀疏矩陣存儲技術有助于我們顯著節省記憶體使用量。

是以,作者以這種方式将嵌入矩陣 的嵌入大小選擇問題重新轉換為學習列稀疏矩陣問題。為了實作這一點, 作者對 的稀疏限制如下:

\min \mathcal{L}, \text { s.t. }\|\mathbf{V}\|_{0} \leq k

其中表示範數,即非零元數量。是參數預算,即對嵌入表參數總數的限制。

然而,由于範數限制的非凸性,上面的方程直接優化是 NP 困難的。為了解決這個問題,一些研究對範數進行了凸松弛,即範數。然而,這樣的求解方法依舊有如下挑戰:

  • 首先,将最優值投影到 球面上的過程需要太多的計算成本,特别是當推薦模型有數百萬個參數時。
  • 其次,參數預算 需要專家手動設定。

考慮到特征對任務具有不同的重要性,這種操作顯然是次優的。為了解決這兩個挑戰,受軟門檻值重參數化(Soft Threshold Reparameterization)的啟發,作者通過梯度下降來更新的可學習的門檻值進而對 進行剪枝操作。

的重參數化可以表述如下:

\hat{\mathbf{V}}=\mathcal{S}(\mathbf{V}, s)=\operatorname{sign}(\mathbf{V}) \operatorname{Re} L U(|\mathbf{V}|-g(s))

這裡 表示重參數化的矩陣,作為一個剪枝門檻值,其中sigmoid函數是一個簡單而有效的解決方案。可訓練參數 的初始值(稱為)需要進行設定,以確定門檻值在最開始時接近于零。符号函數将正輸入轉換為 ,負輸入轉換為 ,零輸入将保持不變。

由于 應用于 的每個元素, 是以推薦模型的優化問題可以重新定義如下:

\min \mathcal{L}(\mathcal{S}(\mathbf{V}, s), \Theta, \mathcal{D})

然後通過标準的反向傳播将可訓練剪枝參數與推薦模型的參數聯合優化。得益于自動微分架構tensorflow, pytorch等,可以通過端到端的方式自動訓練上述參數。

當然,上面的剪枝門檻值是全局的,也可進行細粒度的剪枝:

  • Global: 剪枝門檻值為。
  • Dimension Wise: 對每個次元進行剪枝,剪枝門檻值為。
  • Feature Wise: 對每個特征進行剪枝,剪枝門檻值為。
  • Feature-Dimension Wise: 對每個特征的每個次元進行剪枝,剪枝門檻值為。

PEP實作

PEP與基模型(FM,DeepFM, AutoInt...)結合時,隻需要把傳統的嵌入表換成.

ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果

實驗結果

PEP推薦精度

PEP子產品顯著地減少了參數的數量,特别是對于較大的資料集而言。

  • 在Criteo和Avazu資料集中,與最好的基線相比,作者的PEP-0可以減少(從 到 )。
  • PEP的方法始終優于基于統一嵌入次元的模型,并在大多數情況下比其他方法獲得更好的精度。例如,對于 Criteo 資料集上的 FM 模型,PEP 比 UE 的相對性能改進為 , 比 DartsEmb 的相對性能改進為 。
ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果

PEP訓練效率

與基模型相比,PEP需要引入額外的時間來為不同的特征找到合适的尺寸。作者對比了三個不同模型的訓練時間。我們可以觀察到,PEP 的額外計算成本是 到 ,這相比于基模型是可以接受的。而DartsEmb模型需要近一倍的計算時間才能在其雙層優化過程中搜尋一個良好的嵌入大小。

ICLR2021 | 推薦系統中可學習的嵌入次元簡介問題定義PEP模型:通過剪枝可獲得可學習的嵌入尺寸PEP實作實驗結果