0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TensorFlow Recommenders 迎来更新 新版本引入了两项重要功能

Tensorflowers 来源:TensorFlow 作者:Ruoxi Wang、Phil Sun、 2020-12-17 16:44 次阅读

9 月,我们开源了 TensorFlow Recommenders,这个库能够帮助您轻松构建最先进的推荐系统模型。现在,我们高兴地宣布 TensorFlow Recommenders (TFRS) 的新版本 v0.3.0。

v0.3.0
https://github.com/tensorflow/recommenders/releases/tag/v0.3.0

新版本引入了两项重要功能,二者对于构建和部署高质量、可扩展的推荐模型至关重要。

第一项新增功能是对快速可扩展近似检索提供内置支持。通过利用 ScaNN,TFRS 现已能够构建在数毫秒内即可从数以百万计的条目中检索出最佳候选条目的深度学习推荐模型,同时又保留了部署单个“输入查询特征即可输出建议”的 SavedModel 对象的便利性。

第二项新增功能是支持用于特征交互建模的更出色技术。新版本 TFRS 包含了 Deep & Cross Network 的实现:一种高效架构,用于学习深度学习推荐模型中使用的所有不同特征之间的交互。

Deep & Cross Network
https://arxiv.org/pdf/2008.13535.pdf

如果您迫切希望尝试新增功能,可以直接前往我们的高效检索和特征交互建模教程。或继续阅读以了解详情!

[教程] 高效检索
https://tensorflow.google.cn/recommenders/examples/efficient_serving

[教程] 特征交互建模
https://tensorflow.google.cn/recommenders/examples/dcn

高效检索(粗排)

许多推荐系统的目标都是要从数百万或数千万的候选条目中检索出少量的优质推荐。推荐系统的粗排阶段将解决“大海捞针”式的问题,从整个候选列表中获取一份简短且有价值的候选列表。

正如我们在之前的文章中所讨论的那样,TensorFlow Recommenders 使构建双塔检索模型变得更加方便。此类模型执行检索分为两个步骤:

将用户输入映射到嵌入向量

在嵌入向量空间内寻找最佳候选条目

双塔检索模型
https://research.google/pubs/pub48840/

第一步的计算成本很大程度上取决于查询塔模型的复杂性。例如,如果用户输入为文本,那么使用 8 层转换器的查询塔的计算成本大约是使用 4 层转换器的查询塔的两倍。稀疏、量化和架构优化等技术都有助于降低这一计算成本。

架构优化
https://arxiv.org/abs/1905.11946

但是,对于具有数百万个候选条目的大型数据库而言,第二步通常对于实现快速推断更为重要。我们的双塔模型使用用户输入和候选嵌入向量的点积来计算候选条目相关性,尽管点积的计算成本相对较低,但需要针对数据库中的每个嵌入向量各计算一次,计算量会随数据库的大小呈线性增长,因此很快便会丧失计算可行性。因此,快速最近邻搜索 (NNS) 算法对于提高推荐系统的性能而言至关重要。

这正是 ScaNN 的价值所在。ScaNN 是由 Google Research 提供的最先进 NNS 库。它明显优于其他标准水平的 NNS 库。此外,它可与 TensorFlow Recommenders 无缝集成。如下所示,ScaNNKeras 层可无缝取代暴力检索粗排:

ScaNN https://tensorflow.google.cn/recommenders/api_docs/python/tfrs/layers/factorized_top_k/ScaNN

由于是 Keras 层,因此 ScaNN 索引会序列化并自动与 TensorFlow Recommenders 模型的其余部分保持同步。另外,也不需要在模型和 ScaNN 之间来回传送请求,因为所有内容都已搭配好。随着 NNS 算法的改进,ScaNN 的效率只会不断提高并进一步优化检索准确率和延迟。

ScaNN 可以将大型检索模型提速 10 倍以上,同时仍能提供与暴力矢量检索几乎相同的检索准确率

我们相信,ScaNN 的功能将在部署最先进的深度检索模型方面带来巨大的变革,使其更为便利。如果您有兴趣深入了解如何构建和应用基于 ScaNN 的模型,请查看我们的教程。

教程 https://tensorflow.google.cn/recommenders/examples/efficient_serving

Deep & Cross Network

对于许多预测模型而言,有效的特征交叉都是成功的关键。设想我们正在构建一个基于用户过往购买历史记录来销售搅拌机的推荐系统。诸如香蕉和食谱购买数量一类的单个特征能够为我们提供一些与用户意愿有关的信息,但将同时购买了香蕉和食谱这两项特征相结合,我们就得到了一个极为强烈的信号,表明用户可能想要购买搅拌机。特征的这种组合即称为特征交叉。

在大规模互联网应用中,数据大多是类别型的,这导致特征空间庞大而稀疏。要在这种背景下确定有效的特征交叉,通常需要进行人工特征工程或穷举搜索。传统的前馈多层感知器 (MLP) 模型是通用的函数逼近器。但是,正如 Deep & Cross Network 和 Latent Cross 两篇论文中指出的那样,它们甚至无法有效地逼近二阶或三阶特征交叉。

Deep & Cross Network https://arxiv.org/pdf/2008.13535.pdf

Latent Cross https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/18fa88ad519f25dc4860567e19ab00beff3f01cb.pdf

什么是 Deep & Cross Network (DCN)?

DCN 旨在帮助更加有效地学习显式和有限阶交叉特征。它们始于输入层(通常是嵌入向量层),然后是对显式特征交互建模的交叉网络,最后是对隐式特征交互建模的深度网络。

交叉网络

这是 DCN 的核心。它会在每个层上显式应用特征交叉,最高多项式次数(特征交叉阶数)随着层深度的增加而提高。下图显示了第 (i+1) 个交叉层。

交叉层呈现效果。x0 为基础层(通常设置为嵌入向量层),xi 为交叉层的输入,☉ 表示逐元素相乘,矩阵 W 和向量 b 为要学习的参数

只有一个交叉层时,将在输入特征之间创建二阶(成对)特征交叉。在上文的搅拌机示例中,交叉层的输入将为串联三项特征的向量:[country, purchased_bananas, purchased_cookbooks]。然后,输出的第一维将包含国家/地区与所有三项输入特征之间成对交互的加权和,第二维将包含 purchased_bananas与其他所有特征的加权交互,以此类推。

这些交互项的权重构成了矩阵 W:如果交互重要性低,则其权重将接近于零;如果重要性高,则将远离零。

要创建更高阶的特征交叉,我们可以堆叠更多的交叉层。例如,我们现在知道单个交叉层会输出二阶特征交叉,例如 purchased_bananas 与 purchased_cookbook 之间的交互。我们可以将这些二阶交叉进一步传递至另一个交叉层。然后,特征交叉部分会将那些二阶交叉与原始(一阶)特征相乘,从而创建三阶特征交叉,例如,国家/地区、purchased_bananas和 purchased_cookbooks 之间的交互。剩余连接将继续作用于在上一层中已经创建的那些特征交叉。

如果我们将 k个交叉层堆叠在一起,那么 k 层交叉网络将创建高达 k+1 阶的所有特征交叉,其重要性由权重矩阵和偏差向量中的参数来表征。

深度网络

Deep & Cross Network 中的深度网络部分是传统的前馈多层感知器 (MLP)。

然后,将深度网络和交叉网络进行组合便构成了 DCN。通常,我们可以在交叉网络顶部堆叠深度网络(堆叠结构);我们也可以将其并行放置(并行结构)。

Deep & Cross Network (DCN) 呈现效果。左:并行结构;右:堆叠结构

DCN https://arxiv.org/pdf/2008.13535.pdf

模型理解

充分理解学习的特征交叉有助于提高模型的可理解性。幸运的是,交叉层中的权重矩阵揭示了模型所学特征交叉的重要性水平。

以向客户销售搅拌机为例。如果同时购买了香蕉和食谱是数据中最具预测性的信号,则 DCN 模型应能捕获这种关系。下图展示了包含一个交叉层的 DCN 模型的学习矩阵,该模型基于合成数据训练,其中联合购买特征的重要性最高。我们看到,在没有应用任何人工特征工程的情况下,模型自身已经学习“purchased_bananas”和“purchased_cookbooks”之间的交互具有很高的重要性。

交叉层中学习的权重矩阵

TensorFlow Recommenders 中现已实现交叉层,您可以轻松地将其用作模型的构建块。要了解操作方法,请查看我们的教程以获取示例用法和实际课程。如果您有兴趣深入了解更多内容,请参阅我们的研究论文 DCN 和 DCN v2。

实现交叉层 https://tensorflow.google.cn/recommenders/api_docs/python/tfrs/layers/dcn/Cross

教程 https://tensorflow.google.cn/recommenders/examples/dcn

DCN https://arxiv.org/pdf/1708.05123.pdf

DCN v2 https://arxiv.org/pdf/2008.13535.pdf

致谢

我们要特别感谢 Derek Zhiyuan Cheng、Sagar Jain、Shirley Zhe Chen、Dong Lin、Lichan Hong、Ed H. Chi、Bin Fu、Gang (Thomas) Fu 和 Mingliang Wang 对 Deep & Cross Network (DCN) 所做的重要贡献。我们还要感谢在从研究构想到生产化的各个环节中,

为 DCN 工作提供帮助和支持的所有人士:Shawn Andrews、Sugato Basu、Jakob Bauer、Nick Bridle、Gianni Campion、Jilin Chen、Ting Chen、James Chen、Tianshuo Deng、Evan Ettinger、Eu-Jin Goh、Vidur Goyal、Julian Grady、Gary Holt、Samuel Ieong、Asif Islam、Tom Jablin、Jarrod Kahn、Duo Li、Yang Li、Albert Liang、Wenjing Ma、Aniruddh Nath、Todd Phillips、Ardian Poernomo、Kevin Regan、Olcay Sertel、Anusha Sriraman、Myles Sussman、Zhenyu Tan、Jiaxi Tang、Yayang Tian、Jason Trader、Tatiana Veremeenko、Jingjing Wang、Li Wei、Cliff Young、Shuying Zhang、Jie (Jerry) Zhang、Jinyin Zhang、Zhe Zhao 以及更多参与人士(按字母顺序排序)。

我们还要感谢 David Simcha、Erik Lindgren、Felix Chern、Nathan Cordeiro、Ruiqi Guo、Sanjiv Kumar、Sebastian Claici 和 Zonglin Li 对 ScaNN 所做的贡献。

责任编辑:xj

原文标题:TensorFlow Recommenders 迎来更新 — 可扩展检索和特征交互建模

文章出处:【微信公众号:TensorFlow】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 建模
    +关注

    关注

    1

    文章

    305

    浏览量

    60773
  • 交互
    +关注

    关注

    1

    文章

    69

    浏览量

    14794
  • 深度学习
    +关注

    关注

    73

    文章

    5503

    浏览量

    121157
  • tensorflow
    +关注

    关注

    13

    文章

    329

    浏览量

    60535

原文标题:TensorFlow Recommenders 迎来更新 — 可扩展检索和特征交互建模

文章出处:【微信号:tensorflowers,微信公众号:Tensorflowers】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    达索系统SOLIDWORKS2025新版本即将来袭

    里程碑式的新版本——SOLIDWORKS 2025。这一新版本不仅集成了众多用户驱动的增强功能,还在协作、设计和性能上实现了重大突破,预示着CAD设计领域的新一轮创新与升级。
    的头像 发表于 10-12 14:18 482次阅读

    品英Pickering最新版本的微波开关设计工具, 增强了仿真能力和原理图设计功能

    应用的PXI和LXI的射频微波开关子系统——已经更新升级为包括原理图设计和仿真两大功能。这款基于 Web的最新版本
    发表于 09-25 09:05 169次阅读
    品英Pickering最<b class='flag-5'>新版本</b>的微波开关设计工具,  增强了仿真能力和原理图设计<b class='flag-5'>功能</b>

    启明智显ESP32系列串口屏全面升级!支持乐鑫IDF最新版,兼容Arduino开发环境

    启明智显的ESP32系列串口屏迎来了全面升级,SDK更新至乐鑫IDF的最新版本,并且完美兼容Arduino开发环境!
    的头像 发表于 09-05 16:48 991次阅读
    启明智显ESP32系列串口屏全面升级!支持乐鑫IDF最<b class='flag-5'>新版</b>,兼容Arduino开发环境

    经纬恒润INTEWORK-TPA 新版本正式发布

    正式推出INTEWORK-TPA5.2.0新版本,以科技的力量,为用户带来更智能的体验升级!▎AI助力,高效测试新版本的AI小助理上线了!借助她的AI大模型能力,测试
    的头像 发表于 08-30 11:46 461次阅读
    经纬恒润INTEWORK-TPA <b class='flag-5'>新版本</b>正式发布

    GUI Guider V1.8.0全新版本正式上线

    在这个充满创新与挑战的时代,我们深知高效、灵活的GUI设计工具对人机交互应用的重要性。经过几个月的精心打磨与测试,GUI Guider V1.8.0全新版本正式上线了!本次更新不仅带来了前所未有的设计自由度,更在
    的头像 发表于 08-02 09:26 798次阅读

    捷报速递 普罗格连获两项重要荣誉

    阳春三月,捷报频传!近日,普罗格凭借自身卓越的数字化转型能力,一举揽获两项重要荣誉,收获业内业外的关注与赞誉。
    的头像 发表于 07-22 16:23 391次阅读
    捷报速递  普罗格连获<b class='flag-5'>两项</b><b class='flag-5'>重要</b>荣誉

    新增6个实用功能!华秋DFM新版本来了

    市场反馈,致力于为广大工程师用户带来更稳定、更高效的功能体验。在此次4.2新版本中,我们不仅优化了一系列核心功能,大幅提升了软件性能,还根据大家的反馈新增了几项实用工具
    的头像 发表于 07-05 08:07 1107次阅读
    新增6个实用<b class='flag-5'>功能</b>!华秋DFM<b class='flag-5'>新版本</b>来了

    华秋DFM新版本 #持续优化 #服务升级

    锣密鼓地响应市场反馈,致力于为广大工程师用户带来更稳定、更高效的功能体验。 在此次4.2新版本中,我们不仅优化了一系列 核心功能 ,大幅提升了软件性能,还根据大家的反馈新增了几项 实用工具 ,力求让大家
    发表于 07-04 18:44

    华秋DFM新版本 #持续优化 #服务升级

    锣密鼓地响应市场反馈,致力于为广大工程师用户带来 更稳定、更高效 的功能体验。 在此次 4.2新版本 中,我们不仅优化了一系列 核心功能 ,大幅提升了软件性能,还根据大家的反馈新增了几项 实用工具 ,力求让大家的工作流程更加顺畅
    的头像 发表于 07-03 08:44 357次阅读
    华秋DFM<b class='flag-5'>新版本</b> #持续优化 #服务升级

    华阳与华为达成两项重要合作

    6月21-22日,在华为开发者大会2024(HDC 2024)上,惠州华阳通用电子有限公司(以下简称“华阳”) 、华为终端有限公司(以下简称“华为”)双方签约了两项重要合作:HMS for Car全面合作协议与HUAWEI HiCar集成开发合作协议。
    的头像 发表于 06-25 11:08 651次阅读

    重磅!两项集成电路国家标准正式发布,产业即将迎来新变革

    近日,国家市场监督管理总局(国家标准管理委员会)发布了一重要公告,标志着我国集成电路行业即将迎来两项新的国家标准。这两项标准分别为《大规模
    的头像 发表于 05-29 10:01 1211次阅读
    重磅!<b class='flag-5'>两项</b>集成电路国家标准正式发布,产业即将<b class='flag-5'>迎来</b>新变革

    CANoe新版本18正式发布

    新版本持续为电动智能软件开发测试带来系列化的新功能新版本CANoe产品体系包括具有GUI交互的桌面版本、可部署在服务器后云端的服务器版本
    的头像 发表于 05-09 08:25 3653次阅读
    CANoe<b class='flag-5'>新版本</b>18正式发布

    华为云 GeminiDB 发布新版本,全面支持 Redis 6.2

    月上线的新版本,GeminiDB 已全面支持 Redis 6.2,用户可在华为云 GeminiDB 产品官网购买使用。新版本的 GeminiDB 发布了一系列增强功能,为用户带来云原生、高性能和易
    的头像 发表于 04-08 18:22 1126次阅读
    华为云 GeminiDB 发布<b class='flag-5'>新版本</b>,全面支持 Redis 6.2

    关于博达透传工具新版本升级公告

    感谢您一直以来对博达智联自主研发的远程透传工具的支持与信任!为提升广大用户的操作体验,博达智联团队经过不懈努力,不断优化产品功能,将透传工具进行了全面的升级,即刻发出全新版本。相比于之前的版本
    的头像 发表于 03-19 08:33 466次阅读
    关于博达透传工具<b class='flag-5'>新版本</b>升级公告

    TSMaster 2024年1月最新版本,新功能太实用

    、新增TTS机箱模块、新增地图显示模块等。一大波超实用的新功能,一起来看看吧!体验新功能建议您将软件更新至最新版本TSMaster下载链接01工具箱相关
    的头像 发表于 02-19 12:12 1667次阅读
    TSMaster 2024年1月最<b class='flag-5'>新版本</b>,新<b class='flag-5'>功能</b>太实用