嘿,记得给“机器学习与推荐算法”添加星标


本文是达摩院的研究人员借助VAE系解纠缠方法,对用户在推荐系统场景下的深层认知进行建模的探索。本文涉及不少VAE系解纠缠的前置知识,在这篇文章会对解纠缠做一个简单介绍。还推荐读一下我的另一篇文章,对无监督解纠缠有一个更数学的了解:

https://zhuanlan.zhihu.com/p/269961816

论文原文链接:

https://arxiv.org/pdf/1910.14238.pdf

解纠缠表示(Disentangled Representations)

现有的解纠缠方法主要是基于VAE的,具体是希望在VAE的中间层学到一个解纠缠的潜编码,即Disentangled Representations。所谓解纠缠,就是说将原始的数据,例如图像,映射到一个潜在的高维向量空间,希望空间中的潜编码的维度之间是彼此独立的。当我们从这个潜在向量空间采样出潜编码,并通过decoder得到新的数据时,潜编码的每一维控制所得到的数据的不同内容,且彼此不影响。例如,对于人脸数据,我可能得到的解纠缠表示有10维,第一维控制肤色,第二维控制头发的长度,第三维控制眼睛的大小,如果我调整第一维,保留所有其他维度,就可以生成同一个人脸不同肤色的图像,这就是VAE系解纠缠表示学习的目标。

和图像数据不同,推荐系统中用到的用户行为数据是稀疏的,而且属于时间序列数据,如何学习这样的的用户行为数据来做个性化推荐,是本文的主要贡献。

摘要

用户决策过程受一些深层的潜在因素影响,这些潜在因素之间的复杂交互驱动了用户的行为。这些因素纠缠在一起,高级别的因素掌控着用户的意向(例如相比买一台新的评判电脑,更倾向于买手机),低级别的因素刻画了用户执行一个意向时的偏好(例如更想买高刷屏的手机)。如果能够学习出解纠缠的表示,把这些纠缠在一起的潜在因素解离开来,就可以带来更好的鲁棒性,可解释性,和可控性。然而,学习这样的解纠缠表示很具有挑战性,依旧被现有的研究所忽视。本文提出了MACRo-mIcro Disentangled Variational Auto-Encoder (MacridVAE)来学习用户行为的解纠缠表示。

文本提出的方法可以通过推理和用户意向相关联的高级概念,实现宏观的解纠缠,并同时捕获用户对不同概念的偏好。使用一个源自于VAE的信息论解释的micro-distanglement正则项,使得表示中的每一维都单独反应一个独立的低级因素(例如手机的颜色或者是否有NFC)。实证的结果显示,本方法可以带来基于baseline的显著性能提升。作者展示了学习到的表示的可解释性和可控性,而这,有可能会带来一种新的推荐模式:即,可以由用户来微调这些表示,从而带来更加个性化的推荐。

介绍

基于用户的行为来学习能够反应用户偏好的表示,是推荐系统相关研究的中心问题。尽管已经取得了显著的成功,现有的基于用户行为的表示学习方法,例如基于深度模型的方法,都忽略了用户决策背后起决定性作用的潜在因素之间的复杂交互。潜在因素保持着混杂的状态,使得推荐模型不够鲁棒,且可解释性很低。

解纠缠表示学习的目的是学习出解纠缠的表示,这种表示可以从观测数据中把有意义的潜在因素解离出来。解纠缠表示更鲁棒,因为当数据有限,解纠缠的表示对于少量数据所呈现的虚假的相关性会不敏感;同时,解纠缠表示的可解释性也在推荐相关的任务中可以得到应用,例如transparent advertising(透明化广告),客户关系管理,和可解释性推荐。并且解纠缠表示的可控性,有潜力带来一种全新的推荐范式,由用户掌管更多细节。然而,现有的解纠缠表示学习主要是来自于CV领域。

用户行为数据是离散的关系数据,和已经得到很多研究的图像数据不同,这里有两个主要挑战:首先,潜在宏观控制因素,与潜在微观控制因素是并存的(用户意图与执行意图时的偏好),这要求我们在执行解纠缠时也能够分不同的级别去执行。其次,用户行为数据也即user-item交互数据,是离散并且稀疏的,而我们要学习的表示是连续的。这意味着高维的表示空间中,大部分点是不和任何用户行为相关联的。这就会带来一个问题:当我们想要研究表示的某一维的意义时,我们可能固定其他维度,调整这一维的数据来看看带来的变化,但很可能什么也对应不上。

本文提出了MacridVAE,分别显式的建模了宏观与微观因素,在两个不同的级别执行解纠缠。文本提出的方法可以通过推理和用户意向相关联的高级概念,实现宏观的解纠缠,并同时捕获用户对不同概念的偏好。使用一个源自于VAE的信息论解释的micro-distanglement正则项,使得表示中的每一维都单独反应一个独立的低级因素(例如手机的颜色或者是否有NFC)。研究所学习到的表示的可解释性时,本文提出使用一个beam-search策略来寻找平滑路径,以此解决表示空间的稠密与观测数据的稀疏之间的矛盾。

问题定义

问题定义: 用户行为数据  包含N个用户与M个物品之间的交互信息。用  来表示第u个用户与第i个物品发生过交互,否则这一项为0。简单起见,用  表示被用户u交互过的物品集合。我们的目标是学习所有用户的表示  实现宏观与微观的解纠缠。

宏观解纠缠: 用户可能有多样的兴趣,并且和属于不同高级别概念(这里的高级别概念可以是产品类别,如美妆,数码,学习)的物品发生过交互。实现宏观解纠缠,就是要学习用户u的分解的表示  ,即,假设有K个高级概念,且  捕获了用户对第k个概念的偏好。此外,我们为物品也推理出一个one-hot向量集合:  ,其中  。如果物品i属于概念k,那么  ,对于  此项为0。我们联合且无监督的推理  与  。

微观解纠缠: 微观解纠缠在于解离出用户对一个物品更细粒度的偏好。例如,当第k个概念代表服装时,我们希望  的不同维度能够捕获用户对尺寸,颜色等更细粒度概念的偏好。

模型框架

首先,我们提出一个能够鼓励宏观解纠缠的生成模型。对于用户u,我们的生成模型假设观测数据是从下列分布生成的:

这里假设  与  是独立的,即  。这里注意  是one-hot的,因为我们假设第i个物品只属于一个概念。这里  是一个在M个物品上的类别分布,其中  类似于一个规范化项:  ,这里  是一个前层的神经网络,输入  维向量  ,输出的是用户u在给定偏好k下对物品i感兴趣的程度。这里采用sampled softmax[1]去估计  ,当M很大时,这种方法只需要采样一小部分样本即可。

宏观解纠缠 我们假设上述用户表示  足以用来预测用户如何与物品交互,并且进一步假设使用第k个元素  足够预测来自第k个概念的物品。这种设计显式的鼓励  去只捕获第k个概念的偏好,只要推理出的概念分配矩阵  (因为如果物品i属于概念k,那么  ,对于  此项为0,所以叫概念分配矩阵)是有意义的。换句话说,宏观接纠缠不是通过VAE系常纠缠常见的方法实现的,而是通过用户表示的构造方式来实现的。我们后面会详细的探讨  的执行细节。另外,  需要小心的设计来防止mode collapose,即,几乎所有的物品都被分配到单个概念上的情况。

变分推理 我们跟随VAE的范式,并且通过最大化下界  来优化  ,其中  是通过下式来限制的:

这里引入一个变分分布  ,这个变分分布的执行也会鼓励宏观解纠缠。两个期望:  和  ,都非常难解,因此使用Gumbel-Softmax trick和高斯重参数化技巧来解。一旦训练过程完成了,我们把  的mode作为  使用,把  的mode作为用户  的表示。

微观解纠缠 一个自然的鼓励微观解纠缠的策略是鼓励维度之间的统计独立性,即,强制  ,即每一维都描述一个独立的因素。这里  。为了鼓励这种独立性,上面所写的下界中的KL散度项可以化为下面这种形式:

这种分解其实和FactorVAE,Beta-TCVAE的思想差不多。只要选择满足  条件的先验,惩罚上式最后的一个KL散度就可以鼓励维度之间趋于独立,此时上式的最后的KL散度又可称作total correlation。另一方面,前面那一项是  和  在  。惩罚互信息  等价于应用信息瓶颈准则[2],鼓励  去尽可能多的忽略输入中的噪音,只注意主要信息。然后依照  -VAE,并通过一个因子  强化这两个正则化项,然后就有了下列训练目标:

模型的实现细节

文中使用了K个概念的表示  ,与M个物品的表示  ,和M个上下文表示  。

  •  的建模

文章先假设了一种直接的做法:  ,认为这种方法会造成过度参数化,并且采样效率低。本文对C的分布的建模方法为:

这里  来让续弦相似度函数更加陡峭。

  • 防止mode collapse

文中认为,上面这一步选择余弦相似度,而非深度学习中常见的内积相似度,可以防止mode collapse。当使用内积时,很可能大部分的物品都被分配给单个概念  ,从而使得  很大。而余弦相似度的归一化就避免了这种情况。

  • 解码器

给出用户表示  和概念分配矩阵  ,解码器预测M个物品中,哪一个更可能被用户点击,即,求  。假设:

 是一个对M个物品的类别分布,其中:

这种设计意味着,如果  是微观解纠缠(维度之间彼此独立)的表示,那么 也是微观解纠缠的表示,因为二者的维度是对齐的。

  • 先验与编码器

先验  要是因子分解的形式,这样才能够实现微观解纠缠,因子分解的形式即:  。这里,就让  。编码器 是给定用户行为数据  ,来计算用户的表示 。编码器维持一个额外的上下文表示  而不是重用来自解码器的物品表示  。假设  ,其中每个  都是对角协方差矩阵的多元高斯  ,其中均值和标准差都是神经网络(  )的输出经过重参数化得到的:

均值被正则化是为了和余弦相似度保持一致,学习到的表示被正则化过,这里  应该设一个很小的值,文中认为是0.1左右。

用户控制的推荐

既然有了用户和物品的解纠缠表示,我们最终想达到的目的是,让用户能够修改这些解纠缠的表示,来细粒度的对推荐结果进行调整。

定义  为要微调的表示,可以通过一个物品表示或者用户表示的一个组成部分来初始化  。任务是通过略微调整  的第j维,得到  ,然后检索表示和  接近的物品。这个任务并不简单,因为当我们略微的修改  得到  ,通常不会有物品的表示和  完全相同,尤其是这里我们想要这个过程尽可能平滑,并朝着一个方向变化,从而让用户可以理解所发生的的变化。

文中对这一任务提出了一种方法。首先为  探索出一个合适的范围  ,如何探索出这个范围呢?首先假定概念  是和  最接近的原型概念。调整  ,看  何时不再是和  最接近的原型概念,就得到了一个范围  ,这里可以通过二分搜索实现。然后把这个范围分成B个子区间,分割时,要确保每个子区间都包含大概相同的数量的来自概念  物品。最后,我们从这B个区间取出B个物品  ,对应的表示即为  .

物品通过最大化下式来选取:

第一项求的是第t个物品的表示(除了j维),和初始物品表示(除了第j维)的相似度,即,约束物品和初始物品相似。第二项求的是前后两个相邻区间物品表示(除了第j维)的相似度,即,约束相邻区间的物品相似,从而使得推荐结果更加平滑。这个最大化问题可以通过beam search来序列化的求解[3]

实验结果

对比的baseline是MultVAE和  MultVAE,除了用了一些常规数据集之外,还用了AliShop-7C数据集,且代码与数据集都公开了。

对比的方法中,和  很像,但是前者的超参数  是远小于1的,因此并不能解纠缠,因此,文中做的和  解纠缠性能对比的实验也就没什么意义了。

这里关注两部分实验,一是NDCG和召回率指标实验,二是可视化实验。

常规性能对比部分,作者控制每种方法学习的表示的维度一致。相比于baseline本文所提出的方法有明显优势,尤其是在稀疏数据。

这幅图是通过t-SNE可视化方法得到的,2c展示了推理出的物品表示的类别分布,2d为真实物品的类别分布,二者比较类似,注意图2c的结果在推理过程中是没有用到类别标签数据的。2e用来展示内积相似度的缺点,本文使用了余弦相似度。

这幅图直观的展示了对解纠缠表示维度做修改时,物品的变化。以图a为例,调整包的尺寸维度时,包的款式和颜色都没怎么变化,说明了方法的有效性(但其实图片尺寸和真实尺寸肯定是不一样的,其实没什么用,不过是作为论文结果展示起来比较方便)。另外也可以看到,修改食物的解纠缠表示的某一维度时,食物的变化趋势是我们无法理解的,这里就说明,无监督的解纠缠会带来人类无法理解的概念,还是要半监督或者监督的解纠缠才更有意义,本文把这当作未来工作。

参考

  1. 理解sampled softmax:

    https://www.zhihu.com/question/62070907/answer/595662593

  2. 理解信息学瓶颈:

    https://zhuanlan.zhihu.com/p/29579424

  3. 理解beam search:

    https://zhuanlan.zhihu.com/p/114669778

「 更多干货,更多收获 」2021年1月份热门报告盘点(VIP免费送)
京东商城推荐系统实践.pdf深度学习在推荐系统中的实践-美团.pdf
微博推荐算法实践与机器学习平台演进.pdf阿里城市大脑数据智能解决方案.pdf推荐系统的公平性:用户侧和生产侧美团机器学习实践.pdf关注我们

智能推荐

个性化推荐技术与产品社区

长按并识别关注

一个「在看」,一段时光????

个性化推荐的另一种思路: 学习用户行为的解纠缠表示相关推荐

  1. 深度学习技术在美图个性化推荐的应用实践

    导读:美图秀秀社交化的推进过程中,沉淀了海量的优质内容和丰富的用户行为.推荐算法连接内容消费者和生产者,在促进平台的繁荣方面有着非常大的价值 .本次分享探讨美图在内容社区推荐场景下应用深度学习技术提升 ...

  2. 深度学习在美图个性化推荐的应用实践

    导读:美图秀秀社交化的推进过程中,沉淀了海量的优质内容和丰富的用户行为.推荐算法连接内容消费者和生产者,在促进平台的繁荣方面有着非常大的价值 .本次分享探讨美图在内容社区推荐场景下应用深度学习技术提升 ...

  3. 手机号码归属地 API 实现个性化推荐的思路分析

    前言 随着移动互联网和智能手机的普及,越来越多的人使用手机上网和购物,移动营销已成为企业获取用户和提升品牌知名度的重要手段.手机号码归属地 API 作为移动营销的关键工具,具有广阔的应用前景. 本文将 ...

  4. 个性化推荐之召回的方法

    在这个信息爆炸的时代,每个人都是内容的消费者,也轻而易举地可以成为内容的创造者.在海量的信息中,用户找到所需.所想.所爱的优质内容变得异常困难,个性化推荐也因此应运而生. 个性化推荐是在大数据分析和人 ...

  5. 个性化推荐:电子商务驱动力

    Internet的迅猛发展将人类带入了信息社会和网络经济时代,对企业发展和个人生活都产生了深刻的影响.基于Internet的虚拟企业不再需要传统物理环境下企业所需的实体投资,企业与顾客.供应商等建立起 ...

  6. 当搭配遇上个性化推荐

    今天介绍的是一篇个性化搭配推荐的论文,是 2017 年时候的论文,这也是比较早的开始结合搭配和个性化推荐的一个工作,基于度量学习和排序学习的方法. 论文题目:FashionNet: Personali ...

  7. 热度算法,基于内容,用户个性化推荐

    1. 算法的发展阶段 个性化推荐不是产品首次发布时就能带的,无论是基于用户行为的个性化,还是基于内容相似度的个性化,都建立在大量的用户数和内容的基础上.产品发布之初,一般两边的数据都有残缺,因此个性化 ...

  8. 热度算法和个性化推荐

    今日头条的走红带动了"个性化推荐"的概念,自此之后,内容型的产品,个性化算法就逐渐从卖点变为标配.伴随着"机器学习","大数据"之类的热词和 ...

  9. 推荐热度算法和个性化推荐

    今日头条的走红带动了 "个性化推荐" 的概念,自此之后,内容型的产品,个性化算法就逐渐从卖点变为标配.伴随着 "机器学习","大数据" 之类 ...

最新文章

  1. angular6 mysql_Angular6项目搭建
  2. 防雪崩利器:熔断器 Hystrix 的原理与使用--转
  3. windows7 nginx php mysql_windows7配置Nginx+php+mysql的详细教程
  4. knockout+echarts实现图表展示
  5. STM32学习1之ADC+DMA(使用定时器触发)
  6. 前端开发 2018 回顾
  7. 不在一个局域网下,如何设置可以被远程登录的服务器[ubuntu]?【ssh登录】【不使用软件】
  8. shell awk实现实时监控网卡流量脚本(常见应用二)
  9. 连接Oracle9i,因字符集造成乱码的解决方法
  10. sqlplus工具linux,sqlplus 工具的使用
  11. 宽带伤不起:大学教授称内地宽带费为香港400倍
  12. python批量实现百度网盘链接有效性检测
  13. 美国人工智能总动员:特朗普后知后觉,华府和硅谷心急如焚
  14. 基本的ps快捷键(图文)
  15. linux改变cpu型号,怎么用linux查看cpu型号
  16. 电脑连上手机热点却不能上网
  17. 转 导入视频格式问题(QuickTime player)
  18. 计算机上打印机删除不了怎么办,win7系统的打印机删除不掉怎么办?完美解决方法看这里!...
  19. 高等数学学习笔记——第五十四讲——向量的数量积、向量积和混合积
  20. 拼团小程序源码_微信小程序拼团系统为什么很多商家开发

热门文章

  1. 2020年Tor Project的加密货币捐款增加23%达23万美元
  2. Basis Cash公布V2路线图:将进行流动性迁移并将于Q3推出Basis Swap
  3. 数据:以太坊2.0存款合约新增9.4万ETH
  4. 15 设置系统分词器
  5. POI的XWPFTableCell的方法
  6. 微信小程序-腾讯地图显示偏差问题
  7. 【转载】关于Python脚本开头两行的:#!/usr/bin/python和# -*- coding: utf-8 -*-的作用 – 指定文件编码类型...
  8. GO_00:Mac之Item2的配置安装
  9. 怎样在Delphi中屏蔽Flash控件的右键弹出菜单
  10. 第四届nBazaar技术交流会归来,收获颇丰