推薦系統(tǒng)遇上深度學(xué)習(xí)(一一八)-[華為]一種CTR預(yù)估中連續(xù)特征的Embedding學(xué)習(xí)框架

今天分享一篇華為在連續(xù)特征處理方面的工作,提出了一種高模型容量左腔、端到端訓(xùn)練、每個(gè)特征值具有單獨(dú)embedding的框架捅儒,稱作AutoDis液样,一起來(lái)學(xué)習(xí)一下。

1巧还、背景

目前大多數(shù)的CTR模型采用的是Embedding和Feature Interaction(以下簡(jiǎn)稱FI)架構(gòu)鞭莽,如下圖所示:

當(dāng)前大多數(shù)的研究主要集中在設(shè)計(jì)新穎的網(wǎng)絡(luò)架構(gòu)來(lái)更好的捕獲顯式或隱式的特征交互,如Wide & Deep的Wide部分麸祷、DCN中的CrossNet澎怒、DIN中的注意力機(jī)制等等。而另一個(gè)主要的部分摇锋,即Embedding模塊同樣十分重要丹拯,出于以下兩個(gè)原因:

1)Embedding模塊是FI模塊的上游模塊站超,直接影響FI模塊的效果;
2)CTR模型中的大多數(shù)參數(shù)集中在Embedding模塊乖酬,對(duì)于模型效果有十分重要的影響死相。

但是,Embedding模塊卻很少有工作進(jìn)行深入研究咬像,特別是對(duì)于連續(xù)特征的embedding方面算撮。接下來(lái),首先簡(jiǎn)單介紹下CTR模型中連續(xù)特征幾種常見的處理方式县昂,然后對(duì)論文提出的AutoDis框架進(jìn)行介紹肮柜。

2、連續(xù)特征處理

CTR預(yù)估模型的輸入通常包含連續(xù)特征和離散特征兩部分倒彰。對(duì)于離散特征审洞,通常通過(guò)embedding look-up操作轉(zhuǎn)換為對(duì)應(yīng)的embedding;而對(duì)于連續(xù)特征的處理待讳,可以概括為三類:No Embedding, Field Embedding和Discretization(離散化)芒澜。

2.1 No Embedding

第一類是不對(duì)連續(xù)特征進(jìn)行embedding操作,如Wide & Deep直接使用原始值作為輸入创淡,而在Youtube DNN中痴晦,則是對(duì)原始值進(jìn)行變換(如平方,開根號(hào))后輸入:

這類對(duì)連續(xù)特征不進(jìn)行embedding的方法琳彩,由于模型容量有限誊酌,通常難以有效捕獲連續(xù)特征中信息。

2.2 Field Embedding

第二類是進(jìn)行 Field Embedding露乏,也就是同一field(一個(gè)連續(xù)特征可以看作是一個(gè)field)的特征無(wú)論取何值碧浊,共享同一個(gè)embedding,隨后將特征值與其對(duì)應(yīng)的embedding相乘作為模型輸入:

由于同一field的特征共享同一個(gè)embedding施无,并基于不同的取值對(duì)embedding進(jìn)行縮放辉词,這類方法的表達(dá)能力也是有限的。

2.3 Discretization

Discretization即將連續(xù)特征進(jìn)行離散化猾骡,是工業(yè)界最常用的方法瑞躺。這類方法通常是兩階段的,即首先將連續(xù)特征轉(zhuǎn)換為對(duì)應(yīng)的離散值兴想,再通過(guò)look-up的方式轉(zhuǎn)換為對(duì)應(yīng)的embedding幢哨。首先探討一個(gè)問(wèn)題,為什么需要對(duì)連續(xù)特征進(jìn)行離散化呢嫂便?或者說(shuō)離散化為什么通常能夠帶來(lái)更好的效果呢捞镰?關(guān)于這個(gè)問(wèn)題的探討,可以參考知乎問(wèn)題:

https://www.zhihu.com/question/31989952/answer/54184582

總的來(lái)說(shuō),將連續(xù)特征進(jìn)行離散化給模型引入了非線性岸售,能夠提升模型表達(dá)能力践樱,而對(duì)于離散化的方式,常用的有以下幾種:

1) EDD/EFD (Equal Distance/Frequency Discretization):即等距/等頻離散化凸丸。對(duì)于等距離散化拷邢,首先基于特征的最大值和最小值,以及要?jiǎng)澐值耐暗膫€(gè)數(shù)Hj屎慢,計(jì)算桶之間的間距:

隨后基于特征值瞭稼、最小值以及間距計(jì)算對(duì)應(yīng)的分桶:

對(duì)于等頻離散化,則是基于數(shù)據(jù)中特征的頻次進(jìn)行分桶腻惠,每個(gè)桶內(nèi)特征取值的個(gè)數(shù)是相同的环肘。

2)LD (Logarithm Discretization):對(duì)數(shù)離散化,其計(jì)算公式如下:

3) TD (Tree-based Discretization):基于樹模型的離散化集灌,如使用GBDT悔雹。具體的做法可以參考論文中的提及的相關(guān)工作,這里不進(jìn)行具體介紹欣喧。

盡管離散化在工業(yè)界廣泛引用荠商,但仍然有以下三方面的缺點(diǎn):
1)TPP (Two-Phase Problem):將特征分桶的過(guò)程一般使用啟發(fā)式的規(guī)則(如EDD、EFD)或者其他模型(如GBDT)续誉,無(wú)法與CTR模型進(jìn)行一起優(yōu)化,即無(wú)法做到端到端訓(xùn)練初肉;
2)SBD (Similar value But Dis-similar embedding):對(duì)于邊界值酷鸦,兩個(gè)相近的取值由于被分到了不同的桶中,導(dǎo)致其embedding可能相差很遠(yuǎn)牙咏;
3)DBS (Dis-similar value But Same embedding):對(duì)于同一個(gè)桶中的邊界值臼隔,兩邊的取值可能相差很遠(yuǎn),但由于在同一桶中妄壶,其對(duì)應(yīng)的embedding是相同的摔握。

上述的三種局限可以通過(guò)下圖進(jìn)一步理解:

2.4 總結(jié)

上述三種對(duì)于連續(xù)特征的處理方式的總結(jié)如下表所示:

可以看到,無(wú)論是何種方式丁寄,都存在一定的局限性氨淌。而本文提出了AutoDis框架,具有高模型容量伊磺、端到端訓(xùn)練盛正,每個(gè)特征取值具有獨(dú)立表示的特點(diǎn),接下來(lái)對(duì)AutoDis進(jìn)行介紹屑埋。

3豪筝、AutoDis介紹

為了實(shí)現(xiàn)高模型容量、端到端訓(xùn)練,每個(gè)特征取值具有獨(dú)立表示续崖,AutoDis設(shè)計(jì)了三個(gè)核心的模塊敲街,分別是meta- embeddings、automatic discretization和 aggregation模塊严望,其整體架構(gòu)如下圖所示:

接下來(lái)多艇,對(duì)三個(gè)核心模塊進(jìn)行分別介紹。

3.1 Meta-Embeddings

為了提升模型容量著蟹,一種樸素的處理連續(xù)特征的方式是給每一個(gè)特征取值賦予一個(gè)獨(dú)立的embedding墩蔓。顯然,這種方法參數(shù)量巨大萧豆,無(wú)法在實(shí)踐中進(jìn)行使用奸披。另一方面,F(xiàn)ield Embedding對(duì)同一域內(nèi)的特征賦予相同的embedding涮雷,盡管降低了參數(shù)數(shù)量阵面,但模型容量也受到了一定的限制。為了平衡參數(shù)數(shù)量和模型容量洪鸭,AutoDis設(shè)計(jì)了Meta-embeddings模塊样刷。

對(duì)于第j個(gè)域的連續(xù)特征,對(duì)應(yīng)Hj個(gè)meta-embeddings(Hj可以看作是分桶的個(gè)數(shù)览爵,每一個(gè)桶對(duì)應(yīng)一個(gè)embedding)置鼻。對(duì)于連續(xù)特征的一個(gè)具體取值,則是通過(guò)一定方式將這Hj個(gè)embedding進(jìn)行聚合蜓竹。相較于Field Embedding方法箕母,每一個(gè)Field對(duì)應(yīng)Hj個(gè)embedding,提升了模型容量俱济,同時(shí)嘶是,參數(shù)數(shù)量也可以通過(guò)Hj進(jìn)行很好的控制。

3.2 Automatic Discretization

Automatic Discretization模塊可以對(duì)連續(xù)特征進(jìn)行自動(dòng)的離散化蛛碌,實(shí)現(xiàn)了離散化過(guò)程的端到端訓(xùn)練聂喇。具體來(lái)說(shuō),對(duì)于第j個(gè)連續(xù)特征的具體取值xj蔚携,首先通過(guò)兩層神經(jīng)網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)換希太,得到Hj長(zhǎng)度的向量:

那么,該特征取值被分到第h個(gè)桶的概率計(jì)算如下:

傳統(tǒng)的離散化方式是將特征取值分到某一個(gè)具體的桶中酝蜒,即對(duì)每個(gè)桶的概率進(jìn)行argmax跛十,但這是一種無(wú)法進(jìn)行梯度回傳的方式。而上式可以看作是一種soft discretization秕硝,通過(guò)調(diào)節(jié)溫度系數(shù)??芥映,可以達(dá)到近似argmax的效果洲尊,同時(shí)也可以實(shí)現(xiàn)梯度回傳,實(shí)現(xiàn)了離散化過(guò)程的端到端訓(xùn)練(這種方式也稱為softargmax奈偏,最近工作中也經(jīng)常使用)坞嘀。

對(duì)于溫度系數(shù)??,當(dāng)其接近于0時(shí)惊来,得到的分桶概率分布接近于one-hot丽涩,當(dāng)其接近于無(wú)窮時(shí),得到的分桶概率分布近似于均勻分布裁蚁。對(duì)于不同的連續(xù)特征矢渊,特征取值分布是不同的,那么應(yīng)該如何對(duì)不同特征選擇合適的溫度系數(shù)??呢枉证?論文給出了如下的方法矮男,將連續(xù)特征的分布情況和特征的具體取值進(jìn)行綜合考慮,同時(shí)將溫度系數(shù)??的計(jì)算過(guò)程與模型訓(xùn)練進(jìn)行結(jié)合:

上式中室谚,nj是第j個(gè)連續(xù)特征的統(tǒng)計(jì)值毡鉴,包括均值和累積概率分布的統(tǒng)計(jì)值(我理解的是累積概率為某個(gè)值如0.1或0.2時(shí)對(duì)應(yīng)的連續(xù)特征取值)

3.3 Aggregation Function

根據(jù)前兩個(gè)模塊,已經(jīng)得到了每個(gè)分桶的embedding秒赤,以及某個(gè)特征取值對(duì)應(yīng)分桶的概率分布猪瞬,接下來(lái)則是如何選擇合適的Aggregation Function對(duì)二者進(jìn)行聚合。論文提出了如下幾種方案:

1)Max-Pooling:這種方式即hard selection的方式入篮,選擇概率最大的分桶對(duì)應(yīng)的embedding陈瘦。前面也提到,這種方式會(huì)遇到SBD和DBS的問(wèn)題潮售。
2)Top-K-Sum:將概率最大的K個(gè)分桶對(duì)應(yīng)的embedding甘晤,進(jìn)行sum-pooling。這種方式不能從根本上解決DBS的問(wèn)題饲做,同時(shí)得到的最終embedding也沒有考慮到具體的概率取值。
3)Weighted-Average:根據(jù)每個(gè)分桶的概率對(duì)分桶embedding進(jìn)行加權(quán)求和遏弱,這種方式確保了每個(gè)不同的特征取值都能有其對(duì)應(yīng)的embedding表示盆均。同時(shí),相近的特征取值往往得到的分桶概率分布也是相近的漱逸,那么其得到的embedding也是相近的泪姨,可以有效解決SBD和DBS的問(wèn)題。

3.4 模型訓(xùn)練

模型的訓(xùn)練過(guò)程同一般的CTR過(guò)程相似饰抒,采用二分類的logloss指導(dǎo)模型訓(xùn)練肮砾,損失如下:

最后再來(lái)總結(jié)一下整個(gè)AutoDis框架,Meta-Embeddings模塊將每個(gè)連續(xù)特征賦予Hj個(gè)分桶袋坑,每個(gè)分桶對(duì)應(yīng)一個(gè)單獨(dú)的embedding仗处;Automatic Discretization模塊實(shí)現(xiàn)了端到端的分桶,每個(gè)具體的特征取值得到分桶的概率分布; Aggregation Function模塊通過(guò)Weighted-Average的方式得到每個(gè)特征取值對(duì)應(yīng)的embedding婆誓,并有效解決SBD和DBS的問(wèn)題吃环。

4、實(shí)驗(yàn)結(jié)果及分析

最后來(lái)看一下實(shí)驗(yàn)結(jié)果洋幻,離線和線上均取得了不錯(cuò)的提升:

那么郁轻,AutoDis是否有效解決了SBD和DBS的問(wèn)題呢?實(shí)驗(yàn)結(jié)果也印證了這一點(diǎn):

好了文留,論文就介紹到這里好唯,本文不僅對(duì)于連續(xù)特征的處理進(jìn)行了比較詳盡的總結(jié),還提出了一種端到端的連續(xù)特征離散化處理方式燥翅,比較值得閱讀~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骑篙,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子权旷,更是在濱河造成了極大的恐慌替蛉,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拄氯,死亡現(xiàn)場(chǎng)離奇詭異躲查,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)译柏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門镣煮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鄙麦,你說(shuō)我怎么就攤上這事典唇。” “怎么了胯府?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵介衔,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我骂因,道長(zhǎng)炎咖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任寒波,我火速辦了婚禮乘盼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘俄烁。我一直安慰自己绸栅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布页屠。 她就那樣靜靜地躺著粹胯,像睡著了一般蓖柔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上矛双,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天渊抽,我揣著相機(jī)與錄音,去河邊找鬼议忽。 笑死懒闷,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的栈幸。 我是一名探鬼主播愤估,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼速址!你這毒婦竟也來(lái)了玩焰?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤芍锚,失蹤者是張志新(化名)和其女友劉穎昔园,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體并炮,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡默刚,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逃魄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荤西。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖伍俘,靈堂內(nèi)的尸體忽然破棺而出邪锌,到底是詐尸還是另有隱情,我是刑警寧澤癌瘾,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布觅丰,位于F島的核電站,受9級(jí)特大地震影響妨退,放射性物質(zhì)發(fā)生泄漏妇萄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一碧注、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧糖赔,春花似錦萍丐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遂跟。三九已至途蒋,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背祥得。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拳喻,地道東北人燕耿。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像掺栅,于是被迫代替她去往敵國(guó)和親烙肺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容