一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于CVR建模的多任務(wù)聯(lián)合學(xué)習(xí)訓(xùn)練方法——ESMM

深度學(xué)習(xí)自然語(yǔ)言處理 ? 來(lái)源:深度學(xué)習(xí)自然語(yǔ)言處理 ? 作者:阿澤 ? 2020-08-27 16:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:阿澤(阿澤的學(xué)習(xí)筆記)

本文介紹阿里媽媽廣告算法團(tuán)隊(duì)發(fā)表于 2018 年 SIGIR 一篇論文《Entire Space Multi-Task Model: An Effective Approach for Estimating Post-Click Conversion Rate》。

傳統(tǒng)的 CVR 通常會(huì)面臨樣本選擇偏差數(shù)據(jù)稀疏兩大的問(wèn)題,從而使得模型訓(xùn)練變得相當(dāng)困難。本文作者提出 ESMM 算法,通過(guò)定義新型多任務(wù)聯(lián)合訓(xùn)練的方式,以全新的視角對(duì) CVR 進(jìn)行建模。

通過(guò)淘寶推薦系統(tǒng)的實(shí)驗(yàn)表明,ESMM 的性能明顯優(yōu)于其他算法。

看到這里,大家可能有很多疑問(wèn):

CVR 預(yù)估任務(wù)中,樣本選擇偏差是什么問(wèn)題?

ESMM 是怎樣多任務(wù)訓(xùn)練的,又是如何聯(lián)合訓(xùn)練的?

帶著問(wèn)題,我們來(lái)閱讀以下內(nèi)容。

Introduction

post-click conversion rate 翻譯過(guò)來(lái)就是:點(diǎn)擊后轉(zhuǎn)化率,也就是說(shuō) CVR 是建立在用戶點(diǎn)擊的基礎(chǔ)上的進(jìn)行的。

作者將用戶的行為簡(jiǎn)化為:曝光->點(diǎn)擊->轉(zhuǎn)換三個(gè)步驟,三者的區(qū)別如下圖所示:

傳統(tǒng)的 CVR 任務(wù)中,工程師通常將以點(diǎn)擊未購(gòu)買的樣本作為負(fù)樣本,而點(diǎn)擊購(gòu)買的樣本作為正樣本,并以此訓(xùn)練模型,將其部署到線上使用。

但這樣的訓(xùn)練方式有一個(gè)問(wèn)題,模型是針對(duì)點(diǎn)擊的商品進(jìn)行訓(xùn)練的,而線上數(shù)據(jù)集大部分都是未點(diǎn)擊的,此時(shí)便會(huì)出現(xiàn)樣本選擇偏差(sample selection bias,SSB) 的問(wèn)題。

此外,點(diǎn)擊商品本身就非常少,所以通過(guò)這種方式構(gòu)建的數(shù)據(jù)集還會(huì)面臨數(shù)據(jù)稀疏(data sparsity,DS) 的問(wèn)題。

SSB 問(wèn)題會(huì)影響模型的泛化性能,而 DS 問(wèn)題會(huì)影響模型的擬合。

現(xiàn)有的一些研究試圖去解決這些問(wèn)題,比如說(shuō):建立基于不同特征的分層估計(jì)器,并將其與 LR 模型相結(jié)合來(lái)解決 DS 問(wèn)題,或者利用對(duì)未曝光未點(diǎn)擊的樣本做采樣來(lái)緩解 SSB 問(wèn)題。這些策略在一定程度上可以消除 SSB 和 DS 問(wèn)題,但都顯得不夠優(yōu)雅,并且也都不能真正解決 CVR 建模中的問(wèn)題。

上述策略的一大關(guān)鍵在于沒有考慮到 CTR 和 CVR 的順序動(dòng)作信息,而阿里媽媽的同學(xué)通過(guò)充分利用用戶操作的順序性提出了 ESMM 算法,該方法能夠同時(shí)解決 SSB 和 DS 問(wèn)題。

ESMM 中引入了兩個(gè)輔助任務(wù),分別是 CTR 和點(diǎn)擊后轉(zhuǎn)換的 CTCVR 任務(wù)。ESMM 并不是直接使用曝光樣本來(lái)訓(xùn)練 CVR,而是利用 的關(guān)系,CTCVR 和 CTR 都可以通過(guò)曝光的樣本進(jìn)行訓(xùn)練,而 CVR 作為中間變量可以由 CTR 和 CTCVR 估算得到。因此,通過(guò)這種方法算出的 CVR 也適用于整個(gè)樣本空間(與線上分布一致),這便解決了 SSB 問(wèn)題。此外,CVR 和 CTR 共享網(wǎng)絡(luò)表征,由于后者的訓(xùn)練樣本更多,所以也可以減輕 DS 問(wèn)題。

ESMM

接下來(lái),我們來(lái)看 ESMM 的具體做法。

我們將上面的式子寫具體,對(duì)于給定的曝光樣本 x,我們可以得到 CTCVR 的概率:

基于這種關(guān)系,我們聯(lián)合 Embedding 和 MLP 網(wǎng)絡(luò)設(shè)計(jì)了 ESMM 架構(gòu):

ESMM 借鑒多任務(wù)學(xué)習(xí)的思想,將模型分為左右兩個(gè)模塊,左邊是我們需要的 CVR 模塊,右邊是 CTR 和 CTCVR 輔助訓(xùn)練模塊,恰當(dāng)?shù)囊肓擞脩舨僮鞯捻樞蛐?,同時(shí)消除了 CVR 建模出現(xiàn)的兩個(gè)問(wèn)題。

值得注意的是,CVR 和 CTR 任務(wù)采用相同的特征輸入并共享 Embedding Layer,CTR 任務(wù)中由于具有大量訓(xùn)練樣本,可以對(duì)模型進(jìn)行充分訓(xùn)練,這種參數(shù)共享的方式,可以降低數(shù)據(jù)稀疏帶來(lái)的影響。

另外,pCVR 只是一個(gè)中間變量,受到上面公式的約束,而 pCTR 和 pCTCVR 才是 ESMM 中實(shí)際訓(xùn)練的主要因素。(可以這樣理解,CVR 模型是沒有監(jiān)督信號(hào)的,而 CTR 和 CTCVR 都是有監(jiān)督信號(hào)的,最后利用公式約束得到 CVR 模型。)

所以,對(duì)于給定曝光的樣本,我們同時(shí)可以得到 CVR、CTR 和 CTCVR。

可能有同學(xué)會(huì)有疑問(wèn),為什么要通過(guò)公式進(jìn)行約束,而不直接通過(guò) pCTCVR/pCTR 來(lái)得到 pCVR。作者也做了這樣的實(shí)驗(yàn),但是結(jié)果并不好,主要原因在于 pCTR 通常非常小,除以一個(gè)非常小的數(shù)會(huì)引起數(shù)值不穩(wěn)定,所以 ESMM 采用了乘法公式進(jìn)行約束,而不是直接通過(guò)除法得到結(jié)果。

我們來(lái)看下 ESMM 的損失函數(shù),由具有監(jiān)督信息的 CVR 和 CTCVR 任務(wù)組成:

其中, 和 分別是 CTR 和 CVR 網(wǎng)絡(luò)的參數(shù); 為交叉熵?fù)p失函數(shù)。

Experiments

來(lái)看一下實(shí)驗(yàn)部分:

所有數(shù)據(jù)集是從淘寶日志中整理抽取出來(lái)的生產(chǎn)環(huán)境的數(shù)據(jù)集(Product Dataset),并且從中進(jìn)行隨機(jī)采樣(1%)作為公共數(shù)據(jù)集(Public Dataset),同時(shí)也開源了這部分公共數(shù)據(jù)集。兩個(gè)數(shù)據(jù)集的信息如下所示:

下圖為不同模型在公共數(shù)據(jù)集中的表現(xiàn):

其中 ESMM-NS 為 ESMM 的精簡(jiǎn)版,沒有 Embedding Layer 的參數(shù)共享。

可以看到兩個(gè)版本的 ESMM 在不同任務(wù)下的效果都取得了 SOTA 的成績(jī)。

再看一下不同模型在生產(chǎn)數(shù)據(jù)集上的表現(xiàn):

ESMM 模型在不同大小的數(shù)據(jù)集上都是處于領(lǐng)先地位的。

Code

放上 ESMM 的核心代碼:

 1#-*-coding:UTF-8-*-
 2importtensorflowastf
 3fromtensorflow.python.estimator.cannedimportheadashead_lib
 4fromtensorflow.python.ops.lossesimportlosses
 5
 6defbuild_deep_layers(net,params):
 7#構(gòu)建隱藏層
 8fornum_hidden_unitsinparams['hidden_units']:
 9net=tf.layers.dense(net,units=num_hidden_units,activation=tf.nn.relu,
10kernel_initializer=tf.glorot_uniform_initializer())
11returnnet
12
13defesmm_model_fn(features,labels,mode,params):
14net=tf.feature_column.input_layer(features,params['feature_columns'])
15last_ctr_layer=build_deep_layers(net,params)
16last_cvr_layer=build_deep_layers(net,params)
17
18head=head_lib._binary_logistic_or_multi_class_head(
19n_classes=2,weight_column=None,label_vocabulary=None,loss_reduction=losses.Reduction.SUM)
20ctr_logits=tf.layers.dense(last_ctr_layer,units=head.logits_dimension,
21kernel_initializer=tf.glorot_uniform_initializer())
22cvr_logits=tf.layers.dense(last_cvr_layer,units=head.logits_dimension,
23kernel_initializer=tf.glorot_uniform_initializer())
24#核心思想在這里:
25ctr_preds=tf.sigmoid(ctr_logits)
26cvr_preds=tf.sigmoid(cvr_logits)
27ctcvr_preds=tf.multiply(ctr_preds,cvr_preds)
28optimizer=tf.train.AdagradOptimizer(learning_rate=params['learning_rate'])
29ctr_label=labels['ctr_label']
30cvr_label=labels['cvr_label']
31
32user_id=features['user_id']
33click_label=features['label']
34conversion_label=features['is_conversion']
35
36
37ifmode==tf.estimator.ModeKeys.PREDICT:
38predictions={
39'ctr_preds':ctr_preds,
40'cvr_preds':cvr_preds,
41'ctcvr_preds':ctcvr_preds,
42'user_id':user_id,
43'click_label':click_label,
44'conversion_label':conversion_label
45}
46export_outputs={
47'regression':tf.estimator.export.RegressionOutput(predictions['cvr_preds'])
48}
49returntf.estimator.EstimatorSpec(mode,predictions=predictions,export_outputs=export_outputs)
50
51else:
52ctr_loss=tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=ctr_label,logits=ctr_logits))
53ctcvr_loss=tf.reduce_sum(tf.losses.log_loss(labels=cvr_label,predictions=ctcvr_preds))
54loss=ctr_loss+ctcvr_loss#loss這兒可以加一個(gè)參數(shù),參考multi-task損失的方法
55
56train_op=optimizer.minimize(loss,global_step=tf.train.get_global_step())
57returntf.estimator.EstimatorSpec(mode,loss=loss,train_op=train_op)

Conclusion

一句話總結(jié):作者提出了一種用于 CVR 建模的多任務(wù)聯(lián)合訓(xùn)練方法——ESMM,其充分利用了用戶點(diǎn)擊、轉(zhuǎn)換的順序性,并借助 CTR 和 CTCVR 兩個(gè)輔助任務(wù)來(lái)訓(xùn)練 ESMM 模型,并通過(guò)三者的關(guān)系約束得到 CVR 模型。ESMM 模型可以很好的解決傳統(tǒng) CVR 建模中出現(xiàn)的樣本選擇偏差和數(shù)據(jù)稀疏的兩大難題,并在真實(shí)數(shù)據(jù)集中取得 SOTA 的優(yōu)秀表現(xiàn)。

此外,ESMM 模型中子網(wǎng)絡(luò)也可以替換成其他更先進(jìn)的模型,從而吸收其他模型的優(yōu)勢(shì),進(jìn)一步提升學(xué)習(xí)效果。

Reference

Ma X, Zhao L, Huang G, et al. Entire space multi-task model: An effective approach for estimating post-click conversion rate[C]//The 41st International ACM SIGIR Conference on Research & Development in Information Retrieval. 2018: 1137-1140.

github:x-deeplearning

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 多任務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    9216
  • CVR
    CVR
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    6546
  • CTR
    CTR
    +關(guān)注

    關(guān)注

    0

    文章

    39

    瀏覽量

    14347
  • ESMM
    +關(guān)注

    關(guān)注

    0

    文章

    2

    瀏覽量

    960

原文標(biāo)題:【CTR】ESMM:多任務(wù)聯(lián)合學(xué)習(xí)

文章出處:【微信號(hào):zenRRan,微信公眾號(hào):深度學(xué)習(xí)自然語(yǔ)言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    NVIDIA Isaac Lab可用環(huán)境與強(qiáng)化學(xué)習(xí)腳本使用指南

    Lab 是一個(gè)適用于機(jī)器人學(xué)習(xí)的開源模塊化框架,其模塊化高保真仿真適用于各種訓(xùn)練環(huán)境,Isaac Lab 同時(shí)支持模仿學(xué)習(xí)(模仿人類)和強(qiáng)化學(xué)習(xí)(在嘗試和錯(cuò)誤中進(jìn)行
    的頭像 發(fā)表于 07-14 15:29 ?527次閱讀
    NVIDIA Isaac Lab可用環(huán)境與強(qiáng)化<b class='flag-5'>學(xué)習(xí)</b>腳本使用指南

    CPU密集型任務(wù)開發(fā)指導(dǎo)

    onmessage()方法接收Worker線程發(fā)送過(guò)來(lái)的消息,并通過(guò)調(diào)用postMessage()方法向Worker線程發(fā)送消息。例如向Worker線程發(fā)送訓(xùn)練和預(yù)測(cè)的消息,同時(shí)接收Worker線程發(fā)送
    發(fā)表于 06-19 06:05

    快速入門——LuatOS:sys庫(kù)多任務(wù)管理實(shí)戰(zhàn)攻略!

    在嵌入式開發(fā)中,多任務(wù)管理是提升系統(tǒng)效率的關(guān)鍵。本教程專為快速入門設(shè)計(jì),聚焦LuatOS的sys庫(kù),通過(guò)實(shí)戰(zhàn)案例帶你快速掌握多任務(wù)創(chuàng)建、調(diào)度與同步技巧。無(wú)論你是零基礎(chǔ)新手還是希望快速提升開發(fā)效率
    的頭像 發(fā)表于 05-29 14:36 ?217次閱讀
    快速入門——LuatOS:sys庫(kù)<b class='flag-5'>多任務(wù)</b>管理實(shí)戰(zhàn)攻略!

    華為公布AI模型訓(xùn)練與車輛控制專利

    近日,華為技術(shù)有限公司在技術(shù)創(chuàng)新領(lǐng)域再次邁出重要一步,其申請(qǐng)的“模型的訓(xùn)練方法、車輛的控制方法及相關(guān)裝置”專利于2月18日正式公布。這一專利的公布標(biāo)志著華為在人工智能領(lǐng)域的又一重大突破。 據(jù)專利摘要
    的頭像 發(fā)表于 02-20 09:14 ?477次閱讀

    騰訊公布大語(yǔ)言模型訓(xùn)練新專利

    近日,騰訊科技(深圳)有限公司公布了一項(xiàng)名為“大語(yǔ)言模型的訓(xùn)練方法、裝置、計(jì)算機(jī)設(shè)備及存儲(chǔ)介質(zhì)”的新專利。該專利的公布,標(biāo)志著騰訊在大語(yǔ)言模型訓(xùn)練領(lǐng)域取得了新的突破。 據(jù)專利摘要顯示,該方法通過(guò)在
    的頭像 發(fā)表于 02-10 09:37 ?405次閱讀

    【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗(yàn)】+大模型微調(diào)技術(shù)解讀

    Tuning)和Prompt-Tuning:通過(guò)在輸入序列中添加特定提示來(lái)引導(dǎo)模型生成期望的輸出,簡(jiǎn)單有效,適用于多種任務(wù)。P-Tuning v1和P-Tuning v2:基于多任務(wù)學(xué)習(xí)的微調(diào)
    發(fā)表于 01-14 16:51

    傳統(tǒng)機(jī)器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    用于開發(fā)生物學(xué)數(shù)據(jù)的機(jī)器學(xué)習(xí)方法。盡管深度學(xué)習(xí)(一般指神經(jīng)網(wǎng)絡(luò)算法)是一個(gè)強(qiáng)大的工具,目前也非常流行,但它的應(yīng)用領(lǐng)域仍然有限。與深度學(xué)習(xí)相比,傳統(tǒng)方法在給定問(wèn)題上的開發(fā)和測(cè)試速度更快。
    的頭像 發(fā)表于 12-30 09:16 ?1184次閱讀
    傳統(tǒng)機(jī)器<b class='flag-5'>學(xué)習(xí)方法</b>和應(yīng)用指導(dǎo)

    《具身智能機(jī)器人系統(tǒng)》第7-9章閱讀心得之具身智能機(jī)器人與大模型

    和經(jīng)驗(yàn)積累,使機(jī)器人能夠自主發(fā)現(xiàn)工藝規(guī)律,優(yōu)化作業(yè)參數(shù)。家庭服務(wù)機(jī)器人則采用混合任務(wù)規(guī)劃策略:將預(yù)訓(xùn)練的基礎(chǔ)技能與實(shí)時(shí)規(guī)劃相結(jié)合,靈活應(yīng)對(duì)開放環(huán)境中的各種情況。 第9章深入探討了元學(xué)習(xí)在具身智能中
    發(fā)表于 12-24 15:03

    智慧光迅CVR視頻融合云平臺(tái)介紹

    種功能,構(gòu)建了一套萬(wàn)物互聯(lián)的核心網(wǎng)絡(luò)。 ? 即便有了這么多種功能,有些小伙伴們還是不知足,甚至還問(wèn)我們什么時(shí)候監(jiān)控,雖然做監(jiān)控是不太可能了,但是我們可以做模塊化平臺(tái)呀! ? 所以,CVR視頻融合平臺(tái)他來(lái)了!?。?? CVR視頻融合平臺(tái)簡(jiǎn)介 智慧光迅
    的頭像 發(fā)表于 12-10 10:27 ?805次閱讀
    智慧光迅<b class='flag-5'>CVR</b>視頻融合云平臺(tái)介紹

    LLM和傳統(tǒng)機(jī)器學(xué)習(xí)的區(qū)別

    訓(xùn)練方法 LLM: 預(yù)訓(xùn)練和微調(diào): LLM通常采用預(yù)訓(xùn)練(Pre-training)和微調(diào)(Fine-tuning)的方法。預(yù)訓(xùn)練階段,模
    的頭像 發(fā)表于 11-08 09:25 ?1881次閱讀

    PyTorch GPU 加速訓(xùn)練模型方法

    在深度學(xué)習(xí)領(lǐng)域,GPU加速訓(xùn)練模型已經(jīng)成為提高訓(xùn)練效率和縮短訓(xùn)練時(shí)間的重要手段。PyTorch作為一個(gè)流行的深度學(xué)習(xí)框架,提供了豐富的工具和
    的頭像 發(fā)表于 11-05 17:43 ?1400次閱讀

    Pytorch深度學(xué)習(xí)訓(xùn)練方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練。
    的頭像 發(fā)表于 10-28 14:05 ?652次閱讀
    Pytorch深度<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>訓(xùn)練</b>的<b class='flag-5'>方法</b>

    直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)訓(xùn)練的基礎(chǔ)模型下的持續(xù)學(xué)習(xí)

    神經(jīng)網(wǎng)絡(luò),特別是預(yù)訓(xùn)練的基礎(chǔ)模型研究得到了廣泛的應(yīng)用,但其仍然主要依賴于在大量樣本上的批量式訓(xùn)練。本報(bào)告將探討實(shí)現(xiàn)模型的增量式訓(xùn)練,針對(duì)深度神經(jīng)網(wǎng)絡(luò)在增量式學(xué)習(xí)新任務(wù)
    的頭像 發(fā)表于 10-18 08:09 ?590次閱讀
    直播預(yù)約 |數(shù)據(jù)智能系列講座第4期:預(yù)<b class='flag-5'>訓(xùn)練</b>的基礎(chǔ)模型下的持續(xù)<b class='flag-5'>學(xué)習(xí)</b>

    高速PCB信號(hào)和電源完整性問(wèn)題的建模方法研究

    高速PCB信號(hào)和電源完整性問(wèn)題的建模方法研究
    發(fā)表于 09-21 14:13 ?1次下載

    深度識(shí)別人臉識(shí)別在任務(wù)中為什么有很強(qiáng)大的建模能力

    深度學(xué)習(xí)人臉識(shí)別技術(shù)是人工智能領(lǐng)域中的一個(gè)重要分支,它利用深度學(xué)習(xí)算法來(lái)識(shí)別和驗(yàn)證人臉。這項(xiàng)技術(shù)在近年來(lái)取得了顯著的進(jìn)展,其強(qiáng)大的建模能力主要得益于以下幾個(gè)方面: 數(shù)據(jù)驅(qū)動(dòng)的學(xué)習(xí)方式
    的頭像 發(fā)表于 09-10 14:53 ?836次閱讀