这周又是居家办公,难得有时间可以好好儿梳理下之前的工作。今天想和大家聊聊我们在MIND多兴趣召回上面的一些实战经验。

背景

目前,深度学习U2I推荐召回模型已经在业内得到了广泛的应用与研究。大多数U2I召回模型都基于双塔结构,典型的就是DSSM。DSSM主要将user信息和item信息分别通过MLP生成user向量和item向量。然后线上通过user向量去检索topk 的item向量来做召回。然而,在很多场景,用户的兴趣往往是多样的,单一的用户向量无法充分描述用户。多兴趣召回通过用多个兴趣向量来表示用户,从而实现用户的多兴趣建模。

近些年,在用户多兴趣建模这里也有不少的研究。如阿里巴巴团队提出的MIND,首次引入胶囊网络来生成多个用户兴趣向量;ComiRec,提出self-attentive机制来提取用户多兴趣;Octopus,提出自适应学习用户多兴趣数量,并提出一种分配用户多兴趣重要度的方法。本文主要想和大家介绍一下MIND的原理以及我们在实战中的一些改进思路与调优经验。

MIND原理

MIND关注的是召回阶段的用户多兴趣建模,提出采用胶囊网络的动态路由算法来获取用户的多兴趣表示,将用户的行为聚合成多个兴趣向量表示,每个兴趣向量代表不同的用户兴趣,再分别用各个向量去候选池里检索top k的item。

(1) MIND模型的整体结构

MIND的输入是用户行为和用户画像特征,输出是用户的多兴趣向量。用户行为是N个与用户有交互(包括点击、购买等)的itemid序列,每个itemid有类目id(cateid)、店铺id(shopid)、品牌id(brandid)等特征,这些特征经过动态路由的方法得到多个兴趣向量,然后再与用户画像特征拼接经多层ReLU生成最后的用户多兴趣向量。Item侧的特征是商品的多个标签特征(类目id,店铺id,品牌id等),这些特征经过多层MLP生成item embedding。训练阶段MIND使用一个Label-aware Attention层辅助训练。线上召回的时候,使用用户的多个兴趣向量分别去离线计算好的ElasticFaiss库里检索top k的item。

(2) Embedding&&Pooling层

Embedding层的输入主要包括用户属性、用户行为、目标item标签。特征都是由一个或多个id构成,需要Embedding成低维稠密的向量。

a. 用户属性特征将其embedding进行拼接

b. 目标item标签,将所有特征的embedding进行Average Pooling,得到item 的embedding

c. 用户行为特征,则是一个item id 的list

后续内容详见:
MIND多兴趣召回实战(一)

本文主要给大家详细介绍了MIND的基本原理和我们的相关实战经验。另外还有一些对于MIND模型的改进优化会在下一篇文章中继续为大家介绍,希望大家能持续关注。

欢迎大家关注微信公众号:计算广告那些事儿,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!

MIND多兴趣召回实战(一)相关推荐

  1. 推荐系统多兴趣召回最新进展

    作者 | Y_yongqaing1 整理 | NewBeeNLP 推荐系统的传统召回方法是每个用户仅生成一个向量,会导致召回结果被最近的兴趣所主导.多兴趣召回方法旨在为每个用户生成多个向量,从而更精准 ...

  2. 【序列召回推荐】(task6)多兴趣召回Comirec-SA

    note Comirec-SA基于attention的多兴趣建模,论文中先通过attention提取单一兴趣,再推广到多兴趣建模.另外使用贪心算法优化带有准确度+多样性的目标函数. DR把MIND的a ...

  3. 给予DeepMatch框架进行召回实战

    什么是DeepMatch? 众所周知,推荐系统包括召回(match)->粗排(rank)->精排(rank)->重排(rerank).阿里巴巴的浅梦大神对于召回和排序分别开发了两套框 ...

  4. 推荐系统[八]算法实践总结V0:淘宝逛逛and阿里飞猪个性化推荐:召回算法实践总结【冷启动召回、复购召回、用户行为召回等算法实战】

    搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排精排重排混排).系统架构.常见问题.算法项目实战总结.技术细节以及项目实战(含码源) 专栏详细介绍:搜索推荐系统专栏简介:搜索推荐全流程讲解(召回粗排 ...

  5. 向量召回 MIND多兴趣双塔模型

    作者:十方,公众号:炼丹笔记 熟悉双塔的人都知道,在用户侧,模型最后往往都生成一个向量去检索,这个向量不足以表达用户的多兴趣,<Multi-Interest Network with Dynam ...

  6. 推荐搜索炼丹笔记:向量召回 MIND多兴趣双塔模型

    作者:十方,公众号:炼丹笔记 熟悉双塔的人都知道,在用户侧,模型最后往往都生成一个向量去检索,这个向量不足以表达用户的多兴趣,<Multi-Interest Network with Dynam ...

  7. 【序列召回推荐】(task2)序列召回GRU4Rec模型

    学习总结: 一般的RNN模型我们的输入和输出是什么,我们对RNN输入一个序列 X = [ x 1 , x 2 , . . . , x n ] X = [x^1,x^2,...,x^n] X=[x1,x ...

  8. 字节跳动端到端深度学习召回算法

    来源:DataFunTalk 本文约2600字,建议阅读5分钟 本文为你介绍字节跳动AML Team在大规模推荐中构建的可学习的索引结构. [ 导读 ] 传统的召回算法一般基于双塔结构并加以appro ...

  9. 深入浅出理解神经网络召回模型的优势

    手机中的 App 每天为用户提供海量的信息和资讯,而个性化的推荐方式犹如一条准绳,把用户的兴趣点和期待感与平台串联,迅速优化用户体验. 神策推荐作为一款基于用户行为分析的全流程智能推荐产品,在提升用户 ...

最新文章

  1. 154 万 AI 开发者用数据告诉你,中国 AI 如何才能弯道超车?| 中国 AI 应用开发者报告...
  2. 经验总结!我们是如何在编程面试中挂掉的
  3. RelativeLayout经常使用属性介绍
  4. 数字信号的最佳接收理论
  5. 3种纯CSS实现中间镂空的12色彩虹渐变圆环方法
  6. debug信息关闭 tp6_「Flask实战2」设置debug模式
  7. Python获取电脑硬件信息及状态的实现方法
  8. jsp在mysql中删除数据_如何在jsp页面中删除数据库中的数据
  9. SharedObject实例.
  10. SSM汽车销售平台的设计与实现毕业设计源码171619
  11. 《数值分析》-- 复化求积公式
  12. 华为手机序列号前三位_华为Nova2s手机序列号前六位是TPG4C1是什么意思
  13. upc 生命曲线 线段树+lazy
  14. 浏览被植入木马的网站,可能也会中木马
  15. pandas插入新数据及pandas
  16. 深圳金融展 聚焦明朝万达数据防泄密
  17. 图片融合 c++ cuda加速
  18. lte盲重定向_TD-LTE网络基于PS业务的重定向过程研究
  19. 碳足迹软件市场现状研究分析-
  20. 谨慎:使用 iptables -F 清除所有规则命令时必须小心

热门文章

  1. PHP Yii2 composer环境安装
  2. 【ESP8266】发送HTTP请求
  3. ASP.NET MVC 4 (五) 视图
  4. AngularJS中的方法参数的问题
  5. Flex beta2+XFire开发实例
  6. 前端框架之Vue(1)-第一个Vue实例
  7. [二次开发][Discuz!X] Discuz!二次开发基本知识
  8. java 格式化日期(DateFormat)
  9. iOS项目工程添加.a文件遇到的Dsymutil Error
  10. web.py+xheditor+ ajaxfileupload+新浪sae图片上传