• 文献阅读:ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performance

    • 1. 内容简介 & 问题描述
    • 2. 主要方法描述
    • 3. 实验结果分析
      • 1. 基础实验结果考察
      • 2. 消解实验
      • 3. 可视化结果分析
    • 4. 结论 & 思考

文献链接:https://arxiv.org/pdf/2005.10545v1.pdf

1. 内容简介 & 问题描述

这一篇文章是阿里提出的另一篇推荐系统的文章,思路上而言多少是接续了之前的ESMM这篇文章的,多少算是其后续的一个优化方法。

关于ESMM这个工作,相信大家基本也都了解,我之前也写过一篇小文章(文献阅读:Entire Space Multi-Task Model:An Effective Approach for Estimating Post-Click Conversion Rate)对其进行过内容整理,其针对的问题是关于SSB(Sample Selection Bias)以及DS(Data Sparsity)的,即数据选择偏差以及数据的稀疏性问题。

不过相较于ESMM模型仅仅针对CVR问题进行了一个针对性的建模与优化,而这一篇文章当中提出的ESAM方法则更加普适,可以用于各类SSB以及DS问题。

2. 主要方法描述

文章最为核心的思路还是在训练过程中加入那些长尾的数据,让模型可以见到更多的数据,进而从中学到有效的信息。

但是,不同于之前的ESMM工作当中使用隐式概率传递关系进行信号学习的方式,这里的信号学习是通过正则项的方式进行学习的。

我们首先给出模型的结构以及其对应的loss function如下:

L=LS+λ1⋅LDA+λ2⋅LDCc+λ3⋅LDCpL = L_{S} + \lambda_1 \cdot L_{DA} + \lambda_2 \cdot L_{DC}^c + \lambda_3 \cdot L_{DC}^p L=LS+λ1LDA+λ2LDCc+λ3LDCp

其中,LSL_{S}LS是主Loss函数,对于不同的问题会有不同的定义,而剩余三个是三个正则项,其具体定义如下:

  1. LDAL_{DA}LDA

    LDA=1L2∑j,kL(hjsT⋅hks−hjtT⋅hkt)2=1L2∣∣Cov(Ds)−Cov(Dt)∣∣F2\begin{aligned} L_{DA} & = \frac{1}{L^2} \sum_{j, k}^{L}(h_j^{sT} \cdot h_k^s - h_j^{tT} \cdot h_k^t)^2 \\ & = \frac{1}{L^2} ||Cov(D^s) - Cov(D^t)||_{F}^2 \end{aligned} LDA=L21j,kL(hjsThkshjtThkt)2=L21Cov(Ds)Cov(Dt)F2

    其中,s表示有反馈的数据,即经过曝光之后的标签数据,而t表示无反馈数据,即没有经过曝光的长尾数据。后者在原先的训练设置当中是无法得到训练的。

    j和k表示遍历模型输出的最终的item表示的所有维度,即他的意思是说,最终输出的表示向量vvv的任意两个维度之间的关系相关性应该是一个比较稳定的型号。即Cov(D)Cov(D)Cov(D)是一个L×LL\times LL×L的矩阵。

    通过这个正则项,模型的目标是将那些未曾经过充分训练的item,乃至在训练中从未见过的item,都能够直接生成一个合理的embedding表示。我的理解是有点类似于GNN当中的鉴别器。

  2. LDCcL_{DC}^cLDCc

    LDCc=∑j=1nmax(0,∣∣vdjs∣∣vdjs∣∣−cqyjs∣∣22−m1)+∑k=1ny∑u=k+1nymax(0,m2−∣∣cqk−cqu∣∣22)\begin{aligned} L_{DC}^c & = \sum_{j=1}^n max(0, ||\frac{v_{d_j^s}}{||v_{d_j^s}|| - c_{q}^{y_j^s}}||_2^2 - m_1) \\ & + \sum_{k=1}^{n_y} \sum_{u=k+1}^{n_y} max(0, m_2 - ||c_q^k - c_q^u||_2^2) \end{aligned} LDCc=j=1nmax(0,vdjscqyjsvdjs22m1)+k=1nyu=k+1nymax(0,m2cqkcqu22)

    其中,

    cqk=∑j=1n(δ(yjs=Yk)⋅vdjs∣∣vdjs∣∣)∑j=1nδ(yjs=YK)c_q^k = \frac{\sum_{j=1}^n (\delta(y_j^s = Y_k) \cdot \frac{v_{d_j^s}}{||v_{d_j^s}||})}{\sum_{j=1}^{n} \delta(y_j^s = Y_K)} cqk=j=1nδ(yjs=YK)j=1n(δ(yjs=Yk)vdjsvdjs)

    这部分正则项的物理含义是说,对于任何一个user请求(即query信号),其各个标签对应的item的embedding之间应该表现出一定的聚类特征,即一个用户点击过的商品,应该与他点击过的其他商品在表征上更为接近,而与其他未点击过的商品相互远离。

    上述公式当中的nyn_yny表示行为标签的总个数,yyy表示item的行为标签,vvv表示item的embedding表示。

  3. LDCpL_{DC}^pLDCp

    LDCp=−∑j=1nδ(Scq,djt<p1∣Scq,djt>p2)Scq,djtlogScdjt∑j=1nδ(Scq,djt<p1∣Scq,djt>p2)L_{DC}^p = -\frac{\sum_{j=1}^n \delta(Sc_{q, d_j^t} < p_1 | Sc_{q, d_j^t} > p_2) Sc_{q, d_j^t} log Sc_{d_j^t}}{\sum_{j=1}^n \delta(Sc_{q, d_{j}^{t}} < p_1 | Sc_{q, d_j^t} > p_2)}LDCp=j=1nδ(Scq,djt<p1Scq,djt>p2)j=1nδ(Scq,djt<p1Scq,djt>p2)Scq,djtlogScdjt

    这部分正则项的物理含义事实上就是一个数据增强策略,即在计算过程中,如果对于某个long tail的数据,虽然没有标签,不过如果模型预测的概率置信度较高,那么就可以将其作为一个可信的结果补充到训练数据当中进行训练,通过这种方式来丰富训练数据。

定性来说,文中也给出了各个正则项对于训练的一个比较直观的结果示意图:

3. 实验结果分析

1. 基础实验结果考察

这篇文献首先在两个公开数据集上进行考察,发现ESAM策略在两个任务上都是有效的。

此外,对于冷启动的情况,ESAM策略同样可以获得收益。

2. 消解实验

文中同样进行了消解实验来考察各个正则项对于结果的影响,具体结果如下表所示:

可以看到,所有的正则项对结果都是产生了增益的,且其效果是可以相互兼容的。

3. 可视化结果分析

我们对于计算得到的embedding结果进行可视化呈现,得到结果如下图所示:

可以看到:

  • 各个正则项确实如同他们的设计目标一样发挥了作用。

4. 结论 & 思考

结论而言,事实上这篇文章的核心点还是在于如何在训练过程中加入更多的数据从而优化SSB的问题。

只是,不同于ESMM的链式关系,这篇文章采用的方式是通过正则项进行优化,但是本质上而言,还是为了在训练模型过程当中更有效地利用长尾数据中隐藏的信息。

个人认为上述方式是非常有借鉴意义的,可以适用于其他不少的场景当中,可以mark一下,然后做点实验,也许可以有一定的性能增益。

文献阅读:ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performanc相关推荐

  1. 【paper笔记】ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail

    ESAM: Discriminative Domain Adaptation with Non-Displayed Items to Improve Long-Tail Performance 阿里解 ...

  2. 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 无监督领域自适应

    会议:ICML 2015 论文题目:Unsupervised Domain Adaptation by Backpropagation 论文地址:http://proceedings.mlr.pres ...

  3. 【论文阅读】Universal Domain Adaptation

    Universal Domain Adaptation SUMMARY@2020/3/27 文章目录 Motivation Related Work Challenges / Aims /Contri ...

  4. 【ICML 2015迁移学习论文阅读】Unsupervised Domain Adaptation by Backpropagation (DANN) 反向传播的无监督领域自适应

    会议:ICML 2015 论文题目:Unsupervised Domain Adaptation by Backpropagation 论文地址: http://proceedings.mlr.pre ...

  5. ADDA: Adversarial Discriminative Domain Adaptation

    ADDA原理理解 ADDA中源域和目标域经过不同的映射来实现对齐. ADDA的目标函数包括三项: 1.源域的分类误差项 2.域分类器的分类误差项 3.生成器在目标域的误差项 1.源域的分类误差项 源域 ...

  6. SIGIR‘20阿里巴巴利用Domain Adaptation在long-tail item上的实践

    SIGIR'20阿里巴巴利用Domain Adaptation在long-tail item上的实践 Domain Adaption应该是前几年CV里比较火的topic,这几年在推荐里也逐渐被应用了. ...

  7. 【论文阅读】Deep Cocktail Network: Multi-source Unsupervised Domain Adaptation with Category Shift

    Deep Cocktail Network: Multi-source Unsupervised Domain Adaptation with Category Shift SUMMARY@ 2020 ...

  8. CVF2020邻域自适应/语义分割:FDA: Fourier Domain Adaptation for Semantic SegmentationFDA:用于语义分割的傅立叶域自适应算法

    邻域自适应/语义分割:FDA: Fourier Domain Adaptation for Semantic Segmentation FDA:用于语义分割的傅立叶域自适应算法 0.摘要 1.概述 1 ...

  9. 语义分割-Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述

    Unsupervised Domain Adaptation in Semantic Segmentation:a Review语义分割中的无监督领域自适应:综述 0.摘要 1.介绍 1.1.语义分割 ...

最新文章

  1. OCS2007R2部署之一软硬件环境准备
  2. 某短视频程序员吐槽:公司要求每天刷短视频的时长和绩效挂钩,这合理吗?网友:那某陌员工要按照奔现次数算绩效吗?...
  3. 类与类之间关系的表示方式
  4. 从零开始入门 K8s| 阿里技术专家详解 K8s 核心概念
  5. 推荐系统-应用Pandas进行数据处理
  6. JAVAWEB 一一 SpringMVC(注解)
  7. linux nslookup 解析不到dns_涉及DNS的简单操作,只看这一篇就够了
  8. qt creator 官中 不完整_C++跨平台框架Qt和wxWidgets哪个好?对比图告诉你!
  9. antd的table遍历之后添加合计行_付费?是不可能的!20行Python代码实现一款永久免费PDF编辑工具...
  10. phpstrom php cli,在docker中的PhpStorm 2017.1远程php-cli:配置php.ini文件不存在
  11. mysql maven 自动生成_【图文经典版】maven自动生成dao层
  12. Enumeration与Iterator接口
  13. wordpress自动采集插件wp-autopost-pro 3.7.8 完美绿色版
  14. 10bit视频编码——特性及全面播放方法介绍
  15. Doris开启Stream Load记录
  16. BugKu CTF(杂项篇MISC)—放松一下吧
  17. 【绘图】3D点图 及绘图关系matplotlib中plt系列
  18. CSDN日报20170727——《想提高团队技术,来试试这个套路!》
  19. Python课堂笔记之判断一个数组中是否含有数字0
  20. 电子工程师自学成才pdf_给新开发人员的最佳建议:自学成才的软件工程师的建议...

热门文章

  1. word中给图表自动编号时出现的“题注或页码中不含章节编号”的问题
  2. GPU利用率低的解决办法
  3. iwebshop java_iWebShop数据库字典.pdf
  4. Ubuntu1504-cuda8.0-caffe安装教程(Titan X Pascal)
  5. 搜狗浏览器收藏夹目录设置
  6. Kotlin进行数据存储
  7. 金蝶专业版怎么反过账当月_金蝶kis专业版的反过账是怎么操作的?
  8. 百度Apollo晒成绩单:伴1500万车主,累计156亿公里,它还要让1亿辆车智能化
  9. Hive学习笔记(1)基本操作
  10. 手机电影“死”还是“活”?