一文總結特徵增強&個人化在CTR預估中的經典方法與效果對比
在CTR預估中,主流都採用特徵embedding MLP的方式,其中特徵非常關鍵。然而對於相同的特徵,在不同的樣本中,表徵是相同的,這種方式輸入到下游模型,會限制模型的表達能力。
為了解決這個問題,CTR預估領域提出了一系列相關工作,稱為特徵增強模組。特徵增強模組根據不同的樣本,對embedding層的輸出結果進行一次矯正,以適應不同樣本的特徵表示,提升模型的表達能力。
最近,復旦大學和微軟亞洲研究院合作發布了一篇關於特徵增強工作的綜述,對比了不同特徵增強模組的實現方法及其效果。現在,讓我們來介紹幾個特徵增強模組的實作方法,以及本文所進行的相關對比實驗
論文標題:A Comprehensive Summarization and Evaluation of Feature Refinement Modules for CTR Prediction
下載網址:https://arxiv.org/pdf/2311.04625v1.pdf
1、特徵增強建模想法
特徵增強模組,旨在提升CTR預估模型中Embedding層的表達能力,實現相同特徵在不同樣本下的表徵差異化。特徵增強模組可以用下面這個統一公式表達,輸入原始的Embedding,經過一個函數後,產生這個樣本個性化的Embedding。
圖片
這類方法的大致思路為,在得到初始的每個特徵的embedding後,使用樣本本身的表徵,對特徵embedding做一個變換,得到目前樣本的個人化embedding。以下為大家介紹一些經典的特徵增強模組建模方法。
2、特徵增強經典方法
An Input-aware Factorization Machine for Sparse Prediction(IJCAI 2019)這篇文章在embedding層之後增加了一個reweight層,將樣本初始embedding輸入到一個MLP中得到一個表徵樣本的向量,使用softmax進行歸一化。 Softmax後的每個元素對應一個特徵,代表這個特徵的重要程度,使用這個softmax結果和每個對應特徵的初始embedding相乘,實現樣本粒度的特徵embedding加權。
圖片
FiBiNET: 結合特徵重要性和二階特徵互動的點擊率預測模型(RecSys 2019)也採用了類似的想法。該模型為每個樣本學習了一個特徵的個人化權重。整個過程分為擠壓(squeeze)、提取(extraction)和重新加權(reweight)三個步驟。在擠壓階段,透過池化方法將每個特徵的嵌入向量得到一個統計標量。在提取階段,將這些標量輸入到多層感知機(MLP)中,得到每個特徵的權重。最後,將這些權重與每個特徵的嵌入向量相乘,得到加權後的嵌入結果,相當於在樣本層級上進行特徵重要性的篩選
圖片
#A Dual Input-aware Factorization Machine for CTR Prediction(IJCAI 2020)和上一篇文章類似,也是利用self-attention對特徵進行一層增強。整體分為vector-wise和bit-wise兩個模組。 Vector-wise將每個特徵的embedding當成序列中的一個元素,輸入到Transformer中得到融合後的特徵表示;bit-wise部分使用多層MLP對原始特徵進行對應。兩部分的輸入結果相加後,得到每個特徵元素的權重,乘到對應的原始特徵的每一位上,得到增強後的特徵。
圖片
GateNet:增強門控深度網路用於點擊率預測(2020)利用每個特徵的初始嵌入向量透過一個MLP和sigmoid函數產生其獨立的特徵權重分數,同時使用MLP將所有特徵映射為按位的權重分數,將兩者結合起來對輸入特徵進行加權。除了特徵層外,在MLP的隱藏層中,也利用類似的方法對每個隱藏層的輸入進行加權
圖片
Interpretable Click-Through Rate Prediction through Hierarchical Attention(WSDM 2020)也是利用self-attention實現特徵的轉換,但是增加了高階特徵的生成。這裡面使用層次self-attention,每一層的self-attention以上一層sefl-attention的輸出作為輸入,每一層增加了一階高階特徵組合,實現層次多層特徵提取。具體來說,每一層進行self-attention後,將生成的新特徵矩陣經過softmax得到每個特徵的權重,根據權重對原始特徵加權新的特徵,再和原始特徵進行一次點積,實現增加一階的特徵交叉。
圖片
ContextNet: A Click-Through Rate Prediction Framework Using Contextual information to Refine Feature Embedding(2021)也是類似的做法,使用一個MLP將所有特徵映射成一個每個特徵embedding尺寸的維度,對原始特徵做一個縮放,文中針對每個特徵使用了個性化的MLP參數。透過這種方式,利用樣本中的其他特徵作為上下位增強每個特徵。
圖片
Enhancing CTR Prediction with Context-Aware Feature Representation Learning(SIGIR 2022)採用了self-attention進行特徵增強,對於一組輸入特徵,每個特徵對於其他特徵的影響程度是不同的,透過self-attention,對每個特徵的embedding進行一次self-attention,實現樣本內特徵間的資訊交互作用。除了特徵間的交互,文中也利用MLP進行bit層級的訊息交互。上述生成的新embedding,會透過一個gate網絡,和原始的embedding進行融合,得到最終refine後的特徵表示。
圖片
3、實驗效果
#進行了各類別特徵增強方法的效果對比後,得出整體結論:在在眾多特徵增強模組中,GFRL、FRNet-V、FRNetB表現最優,且效果優於其他特徵增強方法
##圖片 #
以上是一文總結特徵增強&個人化在CTR預估中的經典方法與效果對比的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題
![WLAN擴充模組已停止[修復]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
如果您的Windows電腦上的WLAN擴充模組出現問題,可能會導致您與網際網路中斷連線。這種情況常常讓人感到困擾,但幸運的是,本文提供了一些簡單的建議,可以幫助您解決這個問題,讓您的無線連線重新正常運作。修復WLAN擴充模組已停止如果您的Windows電腦上的WLAN可擴充性模組已停止運作,請依照下列建議進行修復:執行網路和Internet故障排除程式停用並重新啟用無線網路連線重新啟動WLAN自動設定服務修改電源選項修改高級電源設定重新安裝網路適配器驅動程式運行一些網路命令現在,讓我們來詳細看

本文詳細介紹了解決事件ID10000的方法,該事件表明無線區域網路擴充模組無法啟動。在Windows11/10PC的事件日誌中可能會顯示此錯誤。 WLAN可擴充性模組是Windows的一個元件,允許獨立硬體供應商(IHV)和獨立軟體供應商(ISV)為使用者提供客製化的無線網路特性和功能。它透過增加Windows預設功能來擴充本機Windows網路元件的功能。在作業系統載入網路元件時,WLAN可擴充性模組會作為初始化的一部分啟動。如果無線區域網路擴充模組遇到問題無法啟動,您可能會在事件檢視器的日誌中看到錯誤消

一、sys模組簡介前面介紹的os模組主要面向作業系統,而本篇的sys模組則主要針對的是Python解釋器。 sys模組是Python自帶的模組,它是與Python解釋器互動的一個介面。 sys 模組提供了許多函數和變數來處理 Python 執行環境的不同部分。二、sys模組常用方法透過dir()方法可以查看sys模組中帶有哪些方法:import sys print(dir(sys))1.sys.argv-取得命令列參數sys.argv作用是實作從程式外部向程式傳遞參數,它能夠取得命令列參數列

前言本文繼續來介紹Python集合模組,這次主要簡明扼要的介紹其內的命名元組,即namedtuple的使用。閒話少敘,我們開始-記得按讚、追蹤和轉發哦~ ^_^創建命名元組Python集合中的命名元組類namedTuples為元組中的每個位置賦予意義,並增強代碼的可讀性和描述性。它們可以在任何使用常規元組的地方使用,並且增加了透過名稱而不是位置索引方式存取欄位的能力。其來自Python內建模組collections。其使用的常規語法方式為:import collections XxNamedT

你好,我是somenzz,可以叫我徵哥。 Python的import是非常直覺的,但即使這樣,有時你會發現,明明套件就在那裡,我們仍會遇到ModuleNotFoundError,明明相對路徑非常正確,就是報錯ImportError:attemptedrelativeimportwithnoknownparentpackage導入同一個目錄的模組和不同的目錄的模組是完全不同的,本文透過分析使用import經常遇到的一些問題,來幫助你輕鬆搞定import,據此,你可以輕鬆創建屬

所有資料在開始時都會自動分配一個「DOB」(出生日期)。因此,在某些時候處理資料時不可避免地會遇到日期和時間資料。本教學將帶您了解Python中的datetime模組以及使用一些外圍函式庫,如pandas和pytz。在Python中,任何與日期和時間有關的事情都由datetime模組處理,它將模組進一步分為5個不同的類別。類別只是與物件相對應的資料類型。下圖總結了Python中的5個日期時間類別以及常用的屬性和範例。 3個有用的片段1.將字串轉換為日期時間格式,也許是使用datet

Ansible工作原理從上面的圖可以了解到:管理端支援local、ssh、zeromq三種方式連接被管理端,預設使用基於ssh的連接,這部分對應上面架構圖中的連接模組;可以按應用類型等方式進行HostInventory(主機清單)分類,管理節點透過各類模組實現對應的操作,單一模組,單一指令的批次執行,我們可以稱為ad-hoc;管理節點可以透過playbooks實作多個task的集合實作一類功能,如web服務的安裝部署、資料庫伺服器的批次備份等。 playbooks我們可以簡單的理解為,系統透過

在CTR預估中,主流都採用特徵embedding+MLP的方式,其中特徵非常關鍵。然而對於相同的特徵,在不同的樣本中,表徵是相同的,這種方式輸入到下游模型,會限制模型的表達能力。為了解決這個問題,CTR預估領域提出了一系列相關工作,稱為特徵增強模組。特徵增強模組根據不同的樣本,對embedding層的輸出結果進行一次矯正,以適應不同樣本的特徵表示,提升模型的表達能力。最近,復旦大學和微軟亞洲研究院合作發布了一篇關於特徵增強工作的綜述,比較了不同特徵增強模組的實現方法及其效果。現在,我們來介紹一
