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

    文章

    323

    浏览量

    63476
  • 交互
    +关注

    关注

    1

    文章

    74

    浏览量

    15377
  • 深度学习
    +关注

    关注

    73

    文章

    5603

    浏览量

    124609
  • tensorflow
    +关注

    关注

    13

    文章

    336

    浏览量

    62365

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    燧原科技连获两项重要荣誉资质

    近期,燧原科技接连获得“2025年度上海市科技小巨人企业”和“上海市企业技术中心”两项重要企业荣誉资质,技术研发与创新能力得到上海市多部门的联合肯定。
    的头像 发表于 03-17 17:25 993次阅读

    蔚来世界模型NWM全新版本正式推送

    2026年1月28日,「蔚来世界模型 NWM」全新版本正式开启推送,首批将为超过46万辆「Banyan 榕」车型推送。「Cedar 雪松」车型及「Cedar S 雪松」车型,也将于近期开启推送。
    的头像 发表于 01-28 15:38 550次阅读

    如何使用新版本J-Flash编程CW32 MCU

    1、从Segger公司官网下载安装最新版本JLink驱动,比如V7.96a,安装目录下没有JLinkDevices.xml文件。 2、在C:Users<用户名>
    发表于 11-12 07:24

    佑驾创新斩获行业两项荣誉

    近日,佑驾创新(MINIEYE)在行业评选中捷报频传,一举斩获“2025盖世汽车金辑奖・中国汽车新供应链百强”与“大湾区新质生产力企业”两项重量级奖项。这两项荣誉不仅是对佑驾创新深耕智能驾驶领域所积淀的硬核技术实力的高度认可,更印证了其在智能汽车产业中的标杆价值。
    的头像 发表于 11-03 13:55 555次阅读

    【直播预告】RT-Trace 全新版本发布|ITM输出 MemoryWatch 功能首发实测! | 问学直播

    RT-Trace迎来又一次重要更新!本次新版本带来了两项备受期待的功能——ITM输出与Memor
    的头像 发表于 10-14 11:57 656次阅读
    【直播预告】RT-Trace 全<b class='flag-5'>新版本</b>发布|ITM输出  MemoryWatch <b class='flag-5'>功能</b>首发实测! | 问学直播

    重要通知】华秋DFM旧版本暂停服务公告

    ,我们深表歉意,也衷心感谢您的理解与配合! 我们强烈建议您 尽快更新至最新版本V4.7 ,以享受更稳定、更高效、功能更强大的华秋DFM软件。最新版本不仅在性能和兼容性方面有大幅提升,
    发表于 09-05 13:45

    戴尔数据保护软件迎来新版本

    无缝运行的异常检测,一站式监控多达150个系统,额外的MFA多重身份验证Dell PowerProtect Data Manager19.19全新版本现已到来!
    的头像 发表于 06-27 13:55 1045次阅读

    【HarmonyOS 5】应用更新功能详解

    与迭代需求的优选方案。这类弹窗主要用于向用户推送新版本更新通知,而在引导用户完成更新操作的实现层面,HarmonyOS 提供了完善的应用市场能力支撑,例如本文所介绍的 updateManager(
    发表于 06-22 18:44

    软件更新 | 从数据到模型,全面升级!TSMaster新版助力汽车研发新突破

    为满足汽车电子开发领域日益增长的测试与仿真需求,TSMaster最新版本聚焦实车数据采集、MBD智能建模与新API扩展三大核心功能。无论您是进行车载网络测试、ECU开发还是自动化验证,新版本都能
    的头像 发表于 06-21 20:04 1484次阅读
    软件<b class='flag-5'>更新</b> | 从数据到模型,全面升级!TSMaster<b class='flag-5'>新版</b>助力汽车研发新突破

    前端开发中依赖包有问题怎么办

    update package-name 更新到最新版本。 3. 回退版本 : 如果更新后问题仍未解决或更新版本
    的头像 发表于 06-10 11:31 590次阅读

    AG32 SDK 最新版本V1.7.7 :实现构建自动化功能更新HyperRAM的RGB例程

    等。 AG32 的管脚可以灵活定义,引脚与STM32。并且内置2KLE FPGA, 非常适合MCU + FPGA/CPLD的应用场景。 AG32 SDK 最新版本V1.7.7 :实现构建自动化功能
    发表于 06-05 14:41

    GUI Guider1.9.1新版本8大新亮点总结 为HMI开发注入新活力

    GUI Guider迎来了全新版本!这一次,我们带来了多项重磅更新,旨在为大家提供更强大、更便捷的开发体验。无论你是工业控制、智能家居,还是消费电子领域的开发者,这些更新都将为你的项目
    的头像 发表于 05-09 08:48 3025次阅读
    GUI Guider1.9.1<b class='flag-5'>新版本</b>8大新亮点总结 为HMI开发注入新活力

    树莓派新版 OS 发布! bookworm 版本将成为历史?

    。众所周知,DebianLinux采用年发布周期——每逢奇数年便会推出一个新的主要版本。而今年是2025年,接下来几个月内将推出Debian“trixie”新版本
    的头像 发表于 05-08 15:33 1763次阅读
    树莓派<b class='flag-5'>新版</b> OS 发布! bookworm <b class='flag-5'>版本</b>将成为历史?

    普华基础软件开源汽车操作系统新版本代码上线

    近日,第二十一届上海国际汽车工业展览会现场,开源车用操作系统新版本代码上线仪式在中国电科展台成功召开。全球首个开源智能驾驶操作系统微内核龘EasyAda V2.1和首个规模化、量产级安全车控操作系统
    的头像 发表于 04-30 09:17 1130次阅读

    普华基础软件开源车用操作系统迎来新版本

    近日,普华基础软件开源车用操作系统媒体发布会在上海中国汽车会客厅召开——全球首个开源智能驾驶操作系统微内核龘EasyAda、开源安全车控操作系统小满EasyXMen全新版本正式发布。现场,普华基础软件开源项目技术团队专家就开源项目新版本技术亮点、新增
    的头像 发表于 04-25 16:18 1102次阅读