AICon 上海站|日程100%上线,解锁Al未来! 了解详情
写点什么

阿里:Deep Image CTR Model

  • 2019-12-02
  • 本文字数:2225 字

    阅读完需:约 7 分钟

阿里:Deep Image CTR Model

随着深度学习的发展,深度学习模型已经广泛用于推荐、搜索、广告等领域的 CTR 预估,比如微软的 Deep Crossing,Google 的 Wide&Deep,以及 FNN,PNN,阿里的 DIN,DIEN。这边盗用一下王喆老师的一张图,我觉得总结的非常好。


但是这些模型都没有用上用户浏览和点击的图片特征,而用户点击的图片序列特征其实很能代表用户的行为喜好,因此如果在 CTR 模型中加入 image 的特征,将对提升 CTR 模型的指标很有帮助。


并且文中说道:之前这些深度 CTR 模型大都是直接将 item 的 ID 特征映射成固定维度的 embedding 向量,其实这些 ids 特征很难去表达语义上的信息,特别当一个 id 出现次数很少的时候,其参数的更新次数就会不够,并且没出现过的 id 其压根都不会对预测有所影响。而图像特征则不同,图像特征有更好的泛化性,我理解就是比如两个很同品类的商品,图片很相似,但是其中有一个商品从来没在训练数据中出现过,那也没关系,因为相似的图片经过图像模型总会提取出很接近的向量。



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


创新点:


1.第一次将图片用于用户侧建模,基于用户历史点击过的图片来建模用户的视觉偏好。而之前的工作一般都是将图片特征用于物料侧,用于丰富商品、文章的特征表示。


2.因为图片特征维度都比较高,增加了传输的数据量,在分布式训练时,ps 和 worker 之间的通信会成为瓶颈。因此该工作在传统 server 端也增加了“模型训练”功能,该结构称为 Advanced Model Server (AMS)。



  • 左边就是推荐/搜索中常见的 Embedding+MLP 结构。实际系统中可以替换成 Wide&Deep, DIN, DIEN 等较复杂的模型。

  • embedding model 已经训练好,即图中的 embmodel。经过 embmodel,得到商品的图片信息(图中的粉红色块)。

  • 右边部分,负责利用图片建模用户。将每个用户点击过的图片,经过 embmodel 进行压缩(图中的蓝色块)。它们与商品图片(ad image)的 embedding 结果(粉红色块)经过 attentive pooling 合并成一个向量(桔色块),来表示用户的视觉偏好。

  • 将用户点击过的多张图片的向量(蓝色)合并成一个向量(桔色),思路与 Deep Interest Network 基于 attention 的 pooling 机制大同小异,只不过要同时考虑“id 类特征”与“商品图片”对用户历史点击图片的 attention,称为 MultiQueryAttentivePooling。

  • 第 1 步得到基于 id 特征的 embedding 结果,与第 2 步得到的商品图片(ad image)的 embedding 结果(粉红色),与第 3 步得到的表示用户兴趣偏好的向量(桔红色),拼接起来,传入 MLP,最后输出 softmax。

ADVANCED MODEL SERVER 架构

如果用传统的 PS 做法:可将图片特征存入 PS 中的 server 端,key 是 image index,value 是经过预训练好的 CNN 模型提取出来的稠密向量。训练数据只需要存储图片的 index,训练时,每个 worker 根据本地的训练集所包含的 image index,向 server 请求各自所需的 image 的 embedding,然后通过前向传播和反向传播来更新自己的 embedding 向量。


但是有个问题容易被忽略,文中经过 vgg16 模型提取的向量有 4096 维。每次迭代中,worker 和 server 需要通信数据量是 batch size * 单用户历史点击图片数 (i.e., 通常是几十到上百) * 4096 个浮点数。大概能达到 5G 左右的通信量,而一个传统的 ID 特征一般才用 12 维的向量去表示,引入 image 后,通讯量增长了 4096/12=341 倍。文中也解释了为什么选用 4096 维度的特征,而不是 512 或者 128 这种维度较低的向量。这是因为 vgg16 是针对 ImageNet 训练好的,而 ImageNet 中的图片与淘宝的商品图片还是有不小的差距。因此提取的 image embedding 足够长,才能更好地保留一些原始特征信息。其实可以专门训练一个针对商品图片的分类模型(比如图片产品词的多分类模型),就可通过这样的预训练好的模型提取更小维度的 embedding 向量作为 ctr 模型中的图片特征输入。只要保证低维度图片的 embedding 能够很好的表示商品图片特征空间,就或许可以不使用 AMS 这样的框架,直接上 PS 了吧。


当然 AMS 也是一个很好的解决方案:


  • 为每个 server 增加一个可学习的“压缩”模型(文中的 sub-model,是一个 4096-256-64-12 的金字塔型的 MLP)

  • 当 worker 向 server 请求 image embedding 时,server 上的“压缩”模型先将原始的 4096 维的 image embedding 压缩成 12 维,再传递给 worker,从而将通讯量减少到原来的 1/340

  • 该“压缩”模型的参数,由每个 server 根据存在本地的图片数据学习得到,并且在一轮迭代结束时,各 server 上的“压缩”模型需要同步。


##总结


总结下 Deep Image CTR Model 的优点和创新点:



第一次将图片信息引入到用户侧建模,通过用户历史上点击过的图片建模用户的视觉偏好,而且将传统的 ID 类特征、物料的图像信息、用户的视觉偏好进行充分交互,能够发现更多的 pattern,也解决了只使用 ID 特征而带来的冷启动问题。


但是,引入 user behavior images 后,由于 image 原始 embedding 太大,给分布式训练时的通信造成了巨大压力。为此,阿里团队通过给每个 server 增加一个可学习的“压缩”模型,先压缩 image embedding 再传递给 worker,大大降低了 worker/server 之间的通信量,使模型的效率能够满足线上系统的要求。这种为 server 增加“模型训练”功能的 PS,被称为 AMS。


参考文献:


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


https://arxiv.org/abs/1711.06505


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


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/69141871。


2019-12-02 16:24842

评论

发布
暂无评论
发现更多内容

产品经理训练营--第三章作业

Lucas zhou

产品经理训练营

关注产品的利益相关者,想想他们的问题,自己设定一些前提,做个简单的排序。

mas

超好用的文件转换神器!拿走不谢~

白色蜗牛

程序员 软件工具 生产工具

「产品经理训练营」作业 03

🌟

产品经理 产品经理训练营 产品经理训练

机器学习笔记之:最熟悉的陌生阵

Nydia

为您收录的操作系统系列-进程管理(上篇)

鲁米

操作系统 进程

产品训练营第三章-第一节小结

skylar

如果创意也可以被设计「幻想短篇 26/28」

道伟

28天写作

【CSS】css控制鼠标点击事件(pointer-events)

德育处主任

html/css CSS小技巧 28天写作 纯CSS 2月春节不断更

考前复习必备MySQL数据库(关系型数据库管理系统)

我是哪吒

MySQL 程序员 面试 后端 2月春节不断更

熬夜肝了个IDEA插件整合程序员常用的工具,总有你能用上的

Silently9527

程序员 IDEA idea插件

产品经理训练营-第三周作业

玖玖

28天瞎写的第二百三十六天:emacs 党的没落

树上

28天写作

offline app

lidaobing

28天写作 offline app

深入理解 ProtoBuf 原理与工程实践(概述)

vivo互联网技术

数据结构 序列化 protobuf

产品经理训练营第二章作业(二)

猫。

【作业-03】解决方案的设计与积累

西西里奇

车载操作系统 (28天写作 Day26/28)

mtfelix

28天写作 车载操作系统 AOS QNX

漫话递归与迭代

Justin

算法 方法论 成长 心灵鸡汤 28天写作

利益相关者的问题及方案

梁媛

第 3 周作业

老元宵

开发质量提升系列:日常重视好投产,运维拍肩也不怕

罗小龙

最佳实践 方法论 28天写作 2月春节不断更

即兴演讲的几种实用脚本

熊斌

读书笔记 28天写作

产品经理训练营第三周作业

happy-黑皮

产品经理训练营

产品训练营-第三次作业

Geek_娴子

产品训练营·第三周作业 & 总结

tiu

浅谈OKR工作法

一笑

管理 OKR 28天写作

手机里什么APP都没有,一个很无趣的人 | 视频号28天(27)

赵新龙

28天写作

利益相关者排序

Geek_a32093

03- 抽奖小助手的那个「谁」

学习高手song轻松

VUCA时代-不敏捷就得死

Ian哥

28天写作

阿里:Deep Image CTR Model_语言 & 开发_Alex-zhai_InfoQ精选文章