【搜索/推荐排序】NCF,DeepCross,Deep Crossing,高阶:AutoINt,AFN

文章目录

  • 0.交叉特征
  • 1.NCF
    • 1.1 问题:基于FM的问题
      • 问题
      • 动机:神经网络替代点积
    • 1.2 NCF模型图
    • 1.3代码
  • 2. Deep Crossing:微软:ResNet
  • 3.Deep&Cross
  • 4. AutoInt(19)
      • 摘要
      • 贡献
      • 相关工作:
      • 模型结构
      • 优缺点
      • 实验效果
      • 代码
  • 5. AFN(20)
    • LNN
    • AFN
    • code
    • 比较
      • NFM

在这里插入图片描述

0.交叉特征

在这里插入图片描述

1.NCF

1.1 问题:基于FM的问题

问题

FM->MF来自于矩阵分解的思想,所以也有矩阵分解的问题
在这里插入图片描述
实际上u1和u4更相似,但没有交互不代表不想似,而latent space隐式空间考虑的是交互。
所谓潜在因素就是虽然用户与项目间有交互,但不一定用户就喜欢了,而没交互也不代表不喜欢,这就对隐形学习带来了噪音

动机:神经网络替代点积

直接使用DNN从数据中学习交互函数(以代替MF的内积交互部分),从而突破了由于MF表达时的限制

1.2 NCF模型图

在这里插入图片描述
在这里插入图片描述

  • GMF:通用矩阵分解,线性部分
    yui^=aout(hT(pu⊙qi))\hat{y_{ui}}=a_{out}(h^T(p_u\odot q_i))yui^=aout(hT(puqi))
    pup_upu:用户向量,qiq_iqi:商品向量?item
    点乘,element-wise

  • MLP:非线性部分

  • 最终
    NCF(x)=yui^=σ(hT([pu⊙qi,MLP(pu,qi)]))NCF(x)=\hat{y_{ui}}=\sigma(h^T([p_u\odot q_i,MLP(p_u, q_i)]))NCF(x)=yui^=σ(hT([puqi,MLP(pu,qi)]))

  1. 上述两者共享Embeding
  2. 建议预训练:通用框架建议使用 GMF 和 MLP 的预训练模型来初始化NeuMF
  3. 初始化很重要:NeuMF的目标函数是非凸的,gradient-based会使得模型陷入局部最优
    在这里插入图片描述

1.3代码

x = self.embedding(x)
user_x = x[:, self.user_field_idx].squeeze(1)
item_x = x[:, self.item_field_idx].squeeze(1)
x = self.mlp(x.view(-1, self.embed_output_dim))
gmf = user_x * item_x
x = torch.cat([gmf, x], dim=1)
x = self.fc(x).squeeze(1)

2. Deep Crossing:微软:ResNet

在这里插入图片描述

3.Deep&Cross

Cross+MLP
Cross:处理交叉特征(和FM功能一致)

4. AutoInt(19)

AutoInt
paper
挑战:

  • (1)输入特征通常是稀疏高维的;
  • (2)高阶特征组合能够带来效果,但耗费时间和人力

摘要

AutoInt,能够自动的学习输入特征的高阶特征交互。AutoInt是非常普适的,可以用于数值和类别输入特征。特别地,我们将数值化和类别化特征映射到同一个低维空间,然后,带有残差连接的multi-head self-attentive神经网络在低维空间显示地建模特征交互。由于multi-head self-attentive神经网络不同层的存在,不同阶的特征组合可以被建模。

贡献

  • 我们提出研究显示学习高阶特征交互的问题,以及寻找可解释好的模型的问题;
  • 我们提出基于self-attentive神经网络的方法,能够自动的学习高阶特征交互,有效的处理大规模高维稀疏数据;
  • 我们通过实验证明了所提出方法,不仅有显著的效果,还有很好的模型解释性;

相关工作:

低阶特征交互:FM/FFM/AFM/GBFM
高阶特征交互:

  • 隐式的方式:NFM,PNN、FNN、DeepCrossing、Wide&Deep、DeepFM-可解释性差
  • 显示:Deep&Cross、xDeepFM-很难解释哪些组合特征是有用的
  • 有效的训练方法:HOFM-参数过多

模型结构

在这里插入图片描述

优缺点

优点:

1.找到意思相近的embedding并进行组合,形成一些可解释性较强的组合特征;
2.大量的实验也验证这种方式的高阶交叉组合的优势

缺点:

1.个人感觉还是未能充分挖掘有意义的高阶交叉特征;此处的组合只是找到了关系相近的特征,关系相近的特征进行组合并不一定是合适的方式,也就是说multi-head selfattention能做到有意义的特征组合,但却不能说明关系不相近的特征的意义就不大。
————————————————
版权声明:本文为CSDN博主「凝眸伏笔」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/pearl8899/article/details/106747210

实验效果

在这里插入图片描述

代码

AFI(x)=linear(x)+fc(crossterm+res_fc(lz))+mlp(lz),cross_term=multi...(multi−headi(att_fc(lz)),lz=embed(x)AFI(x)=linear(x)+fc(cross_term+res\_fc(l_z))+mlp(l_z),cross\_term=multi...(multi-head_i(att\_fc(l_z)),l_z=embed(x)AFI(x)=linear(x)+fc(crossterm+res_fc(lz))+mlp(lz),cross_term=multi...(multiheadi(att_fc(lz)),lz=embed(x)

class AutomaticFeatureInteractionModel(torch.nn.Module):"""A pytorch implementation of AutoInt.Reference:W Song, et al. AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks, 2018."""def __init__(self, field_dims, embed_dim, atten_embed_dim, num_heads, num_layers, mlp_dims, dropouts, has_residual=True):super().__init__()self.num_fields = len(field_dims)self.linear = FeaturesLinear(field_dims)self.embedding = FeaturesEmbedding(field_dims, embed_dim)self.atten_embedding = torch.nn.Linear(embed_dim, atten_embed_dim)self.embed_output_dim = len(field_dims) * embed_dimself.atten_output_dim = len(field_dims) * atten_embed_dimself.has_residual = has_residualself.mlp = MultiLayerPerceptron(self.embed_output_dim, mlp_dims, dropouts[1])self.self_attns = torch.nn.ModuleList([torch.nn.MultiheadAttention(atten_embed_dim, num_heads, dropout=dropouts[0]) for _ in range(num_layers)])self.attn_fc = torch.nn.Linear(self.atten_output_dim, 1)if self.has_residual:self.V_res_embedding = torch.nn.Linear(embed_dim, atten_embed_dim)def forward(self, x):""":param x: Long tensor of size ``(batch_size, num_fields)``"""embed_x = self.embedding(x)atten_x = self.atten_embedding(embed_x)cross_term = atten_x.transpose(0, 1)for self_attn in self.self_attns:cross_term, _ = self_attn(cross_term, cross_term, cross_term)cross_term = cross_term.transpose(0, 1)if self.has_residual:V_res = self.V_res_embedding(embed_x)cross_term += V_rescross_term = F.relu(cross_term).contiguous().view(-1, self.atten_output_dim)x = self.linear(x) + self.attn_fc(cross_term) + self.mlp(embed_x.view(-1, self.embed_output_dim))return torch.sigmoid(x.squeeze(1))

5. AFN(20)

问题:

  1. 他们必须在高阶交叉特征的表达能力和计算成本之间进行权衡,从而导致次优预测。
    • 模型该使用多高阶的特征?因为使用上高阶特征是会对结果有益的,但是会带来更多的计算成本。
  2. 枚举所有交叉特征,包括不相关的特征,可能会引入噪声特征组合,从而降低模型性能。
    • 哪些交叉的特征是有用的
      目前的交叉特征都限定了阶数

优点:

  • 可以从数据中学习任意阶的特征。

核心思想:

  • 引入对数mic变换,将特征对数化,再去做交叉运算。这样能将特征组合中每个特征的幂转换为带系数的乘法。

LNN

乘法转化为加法–>加权求和–>任意阶的高阶特征
约等于FM?
在这里插入图片描述

AFN

在这里插入图片描述

code

AFN(x)=linear(x)+mlp(LNN(lz)),lz=embed(x)AFN(x)=linear(x)+mlp(LNN(l_z)),l_z=embed(x)AFN(x)=linear(x)+mlp(LNN(lz)),lz=embed(x

embed_x = self.embedding(x)
lnn_out = self.LNN(embed_x)
x = self.linear(x) + self.mlp(lnn_out)

比较

NFM

NFM(x)=linear(x)+mlp(FM(x))NFM(x)=linear(x)+mlp(FM(x))NFM(x)=linear(x)+mlp(FM(x))
AFN(x)=linear(x)+mlp(LNN(lz)),lz=embed(x)AFN(x)=linear(x)+mlp(LNN(l_z)),l_z=embed(x)AFN(x)=linear(x)+mlp(LNN(lz)),lz=embed(x

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/481424.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中国指挥与控制学会关于申请加入《城市大脑系列建设标准规范》第二批团体标准参编单位的通知...

来源:中国指挥与控制学会各有关单位和相关专家:2022年04月14日,中国指挥与控制学会组织召开立项评审会,与会专家审议通过了8个相关团体标准的立项申请。2022年9月1日,《城市大脑系列建设标准规范》首批三项团体标准《城…

【搜索/推荐排序】Pairwise:BPR

1.BPR 1.1 做法 构建样本对假设背后是某个常见模型:如MF排序对成立情况下倒推U/V向量,计算UV乘积,得到完整评分矩阵 矩阵分解:XˉWHT\bar{X}WH^TXˉWHT 贝叶斯:P(θ∣>u)P(>u∣θ)P(θ)P(>u)P(\theta|>_…

见证历史!数学家张益唐北大讲座:本质上已证明“零点猜想”,111页论文已公开...

来源:AI前线整理:凌敏有数论学者表示,张益唐有关朗道 - 西格尔零点猜想的论文结果意义重大,使得以前的很多结果从假设性结果变成了确定性结果。张益唐在北大作“零点猜想”学术报告11 月 8 日上午 9 点,数学家张益唐在…

【搜索排序】召回综述Semantic Models for the First-Stage Retrieval: A Comprehensive Review

Semantic Models for the First-Stage Retrieval: A Comprehensive Review 文章目录管道语义模型1.召回形式化1.0 Indexing MethodsThe inverted index倒排索引approximate nearest neighbor (ANN)1.1 classical term-based retrieval methods,VSM概率方法BIM二元独立模型语言模…

Science 封面 4 文连发:大脑分区不是功能关键!智慧从脑区间连接中诞生

来源:深度学术搜索是时候重新认识一下我们大脑的运行原理了!最新一期顶刊Science,以特刊的形式连发 4 篇论文,剑指同一核心要点:大脑各种功能的关键,并不在于各脑区独立完成特定功能,而在于不同…

【信息检索导论1】布尔模型

1.Information Retrieval 定义: Information retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers). web search…

一个基于 Transformer 的深度学习架构,在基因调控中组蛋白代码的定量破译方面性能超群...

编辑 | 萝卜皮通过组蛋白修饰对转录控制的定量表征受到许多计算研究的挑战,但其中大多数只关注启动子周围的狭窄和线性基因组区域,留下了改进的空间。韩国首尔大学的研究人员提出了 Chromoformer,这是一种基于 Transformer 的三维染色质构象感…

【搜索排序】预训练综述Pre-training Methods in Information Retrieval

文章目录相关性效率系统预训练word embeddingtransformers2. 召回阶段2.1 Sparse Retrieval Models2.2 Dense Retrieval Models。2.3 混合方式3.re-rank阶段4. 其他组件4.1 在query理解上4.2 在doc理解上:未来工作数据集数据集中排行榜信息检索中的花式预训练综述&a…

i-Refill | 张益唐:虽未实现大海捞针,但摸透了整个海底的情况

来源:IDG资本#i-Refill欢迎回到本周的i-Refill! 我们知道,黎曼猜想是当代数学领域内最重要的待解决问题之一,很多深入和重要的数学及物理结果都将在它成立的大前提下得到证明。10月中,我们围绕数学家张益唐承认已攻克黎曼猜想的弱…

【搜索排序】(ReRank)A Deep Look into Neural Ranking Models for Information Retrieval

文章目录数据集3. 同一框架4. 模型结构-对称与非对称对称结构:s,t可互换siamese networksSymmetric interaction networks,非对称结构query splitdocument splitJoint split,one-way attention mechanism基于表示的模型和基于交互的模型representation-focused arch…

2022全国市域治理与城市大脑峰会开放报名

来源:中国指挥与控制学会未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)大脑研究计划,构建互联网(城市)大脑技术…

新的深度学习方法可能有助于预测大脑认知功能

编辑 | 萝卜皮人类大脑结构与认知功能的关系很复杂,而这种关系在儿童期和成年期之间有何不同却知之甚少。一个强有力的假设表明,流体智能(Gf)的认知功能依赖于前额叶皮层和顶叶皮层。在这项工作中,西北大学&#xff08…

哈佛大学教授详解:深度学习和经典统计学差异?

来源:机器学习研究组订阅深度学习和简单的统计学是一回事吗?很多人可能都有这个疑问,毕竟二者连术语都有很多相似的地方。在这篇文章中,理论计算机科学家、哈佛大学知名教授 Boaz Barak 详细比较了深度学习与经典统计学的差异&…

【CTR优化】威尔逊区间

实际&#xff1a;正态分布 采样得到的&#xff1a;不一样 p^\hat{p}p^​:wilson p: 区间相等原则:&#xff08;假设&#xff09; P1/P2都是P,是实际值 做CTR优化时 p^\hat{p}p^​为计算所得CTR点击率/曝光率 优化后的为w- 疑问&#xff1a;why取w-?因为默认P<p(P1<p) …

数字科技与数字经济的数字大脑模型

本文2022年10月发表于中国科学报社《科学新闻》杂志作者&#xff1a;刘锋21世纪是数字科技和数字经济爆发的时代。从2000年开始&#xff0c;社交网络、web2.0等数字科技不断涌现&#xff0c;由此诞生的谷歌、亚马逊、腾讯、阿里巴巴、京东等科技企业构成了日益壮大的数字经济&a…

【hadoop3.2.1】windows10 docker学习环境创建,windows和容器bridge模式下联网,测试例子

本地机器&#xff1a;windows10 虚拟机&#xff1a;centOS7.9 docker创建hadoop学习环境 1.创建docker镜像&#xff08;hadoop&#xff09; 下载centos镜像: docker pull centos 启动一个容器&#xff1a;docker run -td --name base -i centos bash 进入容器&#xff0c;安装…

工信部专家:中国传感器最大的问题是什么?怎么解决?(最新观点)

来源&#xff1a;中国传感器与应用技术大会、河南省智能传感器行业协会、中国电子报、传感器专家网&#xff08;本文仅做综合整理&#xff09;11月11日-13日&#xff0c;首届中国传感器与应用技术大会在深圳市光明区隆重举行。会上&#xff0c;工信部电子元器件行业发展研究中心…

皮亚杰:数学结构和逻辑结构

来源&#xff1a;人机与认知实验室计算是封闭的事实结构&#xff0c;算计是开放的价值组合&#xff0c;计算计是开放性封闭的事实价值混合体——编者按群的概念如果不从检验数学结构开始&#xff0c;就不可能对结构主义进行批判性的陈述。其所以如此&#xff0c;不仅因为有逻辑…

大模型狂欢背后:AI基础设施的“老化”与改造工程

来源&#xff1a;OneFlow社区作者&#xff1a;River Riddle、Eric Johnson、Abdul Dakak翻译&#xff1a;胡燕君、杨婷机器学习模型逐渐发展成人们口中的“庞然大物”。全球顶尖的科技公司纷纷踏上“军备竞赛”之路&#xff0c;立志训练出规模最大的模型&#xff08;MUM、OPT、…

DeepMind 最新发文:AlphaZero 的黑箱打开了

来源&#xff1a;AI科技评论作者&#xff1a;李梅编辑&#xff1a;陈彩娴AlphaZero 表明神经网络可以学到人类可理解的表征。国际象棋一直是 AI 的试验场。70 年前&#xff0c;艾伦图灵猜想可以制造一台能够自我学习并不断从自身经验中获得改进的下棋机器。上世纪出现的“深蓝”…