码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一文看懂推荐系统:Gate网络(一):新浪微博GateNet,GateNet就是想用attention的方法去搞,和SENet一样,都是张俊林的杰作


    一文看懂推荐系统:Gate网络(一):新浪微博GateNet,GateNet就是想用attention的方法去搞,和SENet一样,都是张俊林的杰作

    提示:最近系统性地学习推荐系统的课程。我们以小红书的场景为例,讲工业界的推荐系统。
    我只讲工业界实际有用的技术。说实话,工业界的技术远远领先学术界,在公开渠道看到的书、论文跟工业界的实践有很大的gap,
    看书学不到推荐系统的关键技术。
    看书学不到推荐系统的关键技术。
    看书学不到推荐系统的关键技术。

    王树森娓娓道来**《小红书的推荐系统》**
    GitHub资料连接:http://wangshusen.github.io/
    B站视频合集:https://space.bilibili.com/1369507485/channel/seriesdetail?sid=2249610

    基础知识:
    【1】一文看懂推荐系统:概要01:推荐系统的基本概念
    【2】一文看懂推荐系统:概要02:推荐系统的链路,从召回粗排,到精排,到重排,最终推荐展示给用户
    【3】一文看懂推荐系统:召回01:基于物品的协同过滤(ItemCF),item-based Collaboration Filter的核心思想与推荐过程
    【4】一文看懂推荐系统:召回02:Swing 模型,和itemCF很相似,区别在于计算相似度的方法不一样
    【5】一文看懂推荐系统:召回03:基于用户的协同过滤(UserCF),要计算用户之间的相似度
    【6】一文看懂推荐系统:召回04:离散特征处理,one-hot编码和embedding特征嵌入
    【7】一文看懂推荐系统:召回05:矩阵补充、最近邻查找,工业界基本不用了,但是有助于理解双塔模型
    【8】一文看懂推荐系统:召回06:双塔模型——模型结构、训练方法,召回模型是后期融合特征,排序模型是前期融合特征
    【9】一文看懂推荐系统:召回07:双塔模型——正负样本的选择,召回的目的是区分感兴趣和不感兴趣的,精排是区分感兴趣和非常感兴趣的
    【10】一文看懂推荐系统:召回08:双塔模型——线上服务需要离线存物品向量、模型更新分为全量更新和增量更新
    【11】一文看懂推荐系统:召回09:地理位置召回、作者召回、缓存召回
    【12】一文看懂推荐系统:排序01:多目标模型
    【13】一文看懂推荐系统:排序02:Multi-gate Mixture-of-Experts (MMoE)
    【14】一文看懂推荐系统:排序03:预估分数融合
    【15】一文看懂推荐系统:排序04:视频播放建模
    【16】一文看懂推荐系统:排序05:排序模型的特征
    【17】一文看懂推荐系统:排序06:粗排三塔模型,性能介于双塔模型和精排模型之间
    【18】一文看懂推荐系统:特征交叉01:Factorized Machine (FM) 因式分解机
    【19】一文看懂推荐系统:物品冷启01:优化目标 & 评价指标
    【20】一文看懂推荐系统:物品冷启02:简单的召回通道
    【21】一文看懂推荐系统:物品冷启03:聚类召回
    【22】一文看懂推荐系统:物品冷启04:Look-Alike 召回,Look-Alike人群扩散
    【23】一文看懂推荐系统:物品冷启05:流量调控
    【24】一文看懂推荐系统:物品冷启06:冷启的AB测试
    【25】推荐系统最经典的 排序模型 有哪些?你了解多少?
    【26】一文看懂推荐系统:排序07:GBDT+LR模型
    【27】一文看懂推荐系统:排序08:Factorization Machines(FM)因子分解机,一个特殊的案例就是MF,矩阵分解为uv的乘积
    【28】一文看懂推荐系统:排序09:Field-aware Factorization Machines(FFM),从FM改进来的,效果不咋地
    【29】一文看懂推荐系统:排序10:wide&deep模型,wide就是LR负责记忆,deep负责高阶特征交叉而泛化
    【30】一文看懂推荐系统:排序11:Deep & Cross Network(DCN)
    【31】一文看懂推荐系统:排序12:xDeepFM模型,并不是对DeepFM的改进,而是对DCN的改进哦
    【32】一文看懂推荐系统:排序13:FNN模型(FM+MLP=FNN),与PNN同属上海交大张楠的作品
    【33】一文看懂推荐系统:排序14:PNN模型(Product-based Neural Networks),和FNN一个作者,干掉FM,加上LR+Product
    【34】一文看懂推荐系统:排序15:DeepFM模型(Factorization-Machine),xDeepFM可不是对DeepFM的改编哦,而是对DCN的改编
    【36】一文看懂推荐系统:经典双塔模型:微软DSSM模型(Deep Structured Semantic Models),无特征交互,后来美团改进了


    提示:文章目录

    文章目录

    • 一文看懂推荐系统:Gate网络(一):新浪微博GateNet,GateNet就是想用attention的方法去搞,和SENet一样,都是张俊林的杰作
    • 前言
    • 一、GateNet网络类型
      • 1.1、embedding层Gate(Feature Embedding Gate)
      • 1.2、隐藏层Gate(Hidden Gate)
    • 二、GateNet论文实验结论
    • 三、自己实践中一些结论
    • 总结


    前言

    CTR预估模型在学术界/工业界进化的路线有明显的几个节点:

    1. 从单特征到交叉特征,围绕着如何学到更有用的交叉特征,诞生了一系列的模型。

    2. attention火起来后,被迅速应用到CTR预估领域中,又有很多模型被提出。

    3. gate网络火起来后,同样也催生了一些模型。

    但话说,我其实一直没太搞明白『attention』和『gate』本质上的区别是什么?
    有路过的大佬可以评论区帮忙解答下。

    其实就是单体attention或者多提attention

    言归正传,这篇博客将要介绍新浪微博张俊林大佬团队提出的GateNet模型,

    这篇文章我只在arxiv上找到了,并没有找到公布发表的会议版本,应该是还没投。

    整篇文章看起来比较简短,因为Gate网络实在没什么好讲的,
    所以文章大量的笔墨都在实证研究上了,

    不过遗憾的是,数据集都是用的公开的数据集,没有看到在新浪微博自己的数据集上的实验效果。

    本篇博客将会从两个方面介绍下GateNet:

    GateNet网络类型
    1.1. embedding层Gate(Feature Embedding Gate)
    1.2. 隐藏层Gate(Hidden Gate)
    GateNet论文实验结论
    自己实践中一些结论


    一、GateNet网络类型

    这篇论文中依据Gate网络施加位置的不同,
    分为了两种类型:embedding层Gate(Feature Embedding Gate)和 隐藏层Gate(Hidden Gate)。
    下面来分别介绍一下:

    1.1、embedding层Gate(Feature Embedding Gate)

    顾名思义,embedding层Gate就是把Gate网络施加在embedding层,
    具体又可以分为两种:bit-wise和vector-wise。

    bit-wise就是每一个特征的embedding向量的每一个元素(bit)都会有一个对应的Gate参数,
    而vector-wise则是一个embedding向量只有一个Gate参数。
    在这里插入图片描述

    假设样本有两个特征,每个特征embedding维度取3,
    用个图来形象的对比下bit-wise和vector-wise的gate的区别:

    图1. embedding层bit-wise方式的gate
    在这里插入图片描述

    图2. embedding层vector-wise方式的gate
    在这里插入图片描述
    值得一提的是,论文中关于gate网络参数是否共享提出了两个概念:

    field private: 所谓field private就是每个特征都有自己的一个gate(这意味着gate数量等于特征个数),
    这些gate之间参数不共享,都是独立的。图1、图2中gate的方式就是这种。

    field sharing: 与field private相反,不同特征共享一个gate,只需要一个gate即可。
    优点就是参数大大减少,缺点也是因为参数大大减少了,性能不如field private。

    通过论文中给出的实验表明,field private方式的模型效果要好于field sharing方式。

    在这里插入图片描述

    1.2、隐藏层Gate(Hidden Gate)

    在这里插入图片描述
    另外一种施加Gate网络的地方就是MLP的隐藏层,
    计算步骤公式直接看1.1中bit-wise就可以。

    二、GateNet论文实验结论

    论文中做了大量的实验来验证了几个问题(只基于论文的实验结论,具体业务场景可能结论不一样,大家参考下就可以)

    问题1:gate参数field private方式与field sharing方式那个效果好?
    实验结果表明,field private方式的模型效果优于field sharing方式。

    问题2:gate施加方式 bit-wise与vector-wise哪个效果好?
    在Criteo数据集上,bit-wise的效果比vector-wise的好,但在ICME数据集上得不到这样的结论。

    问题3:gate施加在embedding层和隐藏层哪个效果好?
    论文中没有给出结论,但从给出的数据来看在隐藏层的比在embedding层效果好。
    此外,两种方式都用的话,相比较只用一种,效果提升不大。

    问题4:gate网络用哪个激活函数好?
    embedding层是linear,隐藏层是tanh。

    三、自己实践中一些结论

    我们自己的场景下(多任务下,ctcvr)实践结果来看,有几个结论仅供参考:

    gate作用在embedding层与输入层之间效果比作用在隐藏层之间好。

    gate使用bit-wise效果好于vector-wise。

    gate网络的激活函数sigmoid无论在收敛性和auc增益上都要显著好于其它的激活函数。

    骚


    总结

    提示:如何系统地学习推荐系统,本系列文章可以帮到你

    (1)找工作投简历的话,你要将招聘单位的岗位需求和你的研究方向和工作内容对应起来,这样才能契合公司招聘需求,否则它直接把简历给你挂了
    (2)你到底是要进公司做推荐系统方向?还是纯cv方向?还是NLP方向?还是语音方向?还是深度学习机器学习技术中台?还是硬件?还是前端开发?后端开发?测试开发?产品?人力?行政?这些你不可能啥都会,你需要找准一个方向,自己有积累,才能去投递,否则面试官跟你聊什么呢?
    (3)今日推荐系统学习经验:GateNet就是想用attention的方法去搞

  • 相关阅读:
    一个诡异的 Pulsar InterruptedException 异常
    配置远程访问:让外部网络用户能够使用公司内部的OA办公系统
    运动蓝牙耳机哪个品牌好、运动蓝牙耳机推荐
    在KubeSphere中部署微服务(阡陌)+ DevOps
    校园快餐店网上订餐管理系统(JSP+MySQL+MyEclipse)
    Flex 布局项目实战,好像没那么难!
    Python学习记录(4)元组:戴了紧箍咒的列表
    正则表达式从入门到高级
    软件测试适合女生吗?我是一名文员、不甘心着平凡的生活!!
    Simulink HDL Coder FPGA初级开发实践(五)FFT以及CORDIC算法进行信号相位校正
  • 原文地址:https://blog.csdn.net/weixin_46838716/article/details/126566896
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号