深度学习与推荐系统千字文——Attention机制

缘起

 

    注意力机制模仿了人类观察事物的过程,将其应用到深度学习中,人观察事物会分为两个过程:扫描全局,获取重点关注区域;对重点关注区域深化研究,并抑制其他无用信息。

    如上图,查看整个图形分两步:扫描重点文字,重点观看文字。

注意力机制沿用了这一思路:先通过一个深度学习框架,实现扫描重点信息的功能,将重点信息存储在一个中间网络中,然后再通过另一个深度学习框架解读并深化中间网络中的信息。这其中,最普遍的框架为:Encoder-Decoder框架。

 

注意力机制价值

 

    注意力机制就是对输入的每个元素考虑不同的权重参数,从而更加关注与输入的元素相似的部分,而抑制其它无用的信息。其最大的优势就是能一步到位的考虑全局联系和局部联系,且能并行化计算。

    注意力机制是一种思想的延展,并不是只能依附在Encoder-Decoder框架下的,而是可以根据实际情况和多种模型进行结合。

 

Encoder-Decoder机制原理

 

    首先看一下Encoder-Decoder框架下的注意力机制,这一机制下涵盖了三个深度学习的框架,如下图:

    Encoder部分、语义编码C部分和Decoder部分,这三部分的功能为:扫描重点信息、存储重点信息和深化重点信息。

    数据流程为:

    1) 原始数据(x1,x2,x3,x4)输入到Encoder中,Encoder主动将原始数据压缩;

    2) 被压缩的数据统一存储到语义编码C中,语义编码C也是一个深度的神经网络;

    3) 语义编码C中的数据传到Decoder中,再经过深度学习神经网络,将重要信息进行深化;

    这一模型架构应用最多的是自然语言处理中,输入一个问题语句,经过提炼、深化之后确定出语义,然后输出下一句或者应该回答的语句,如下:

输入的是:“风云三尺剑”,输出的是下一语句:“花鸟一床书”。

 

注意力机制的原理

 

    上面的Encoder-Decoder框架存在一个问题,即语义编码C以等概率的方式存储含有重要价值的各个特征,但实际上各个重要特征的重要性并不一致,比如:“风云三尺剑”中的“剑”在整体诗句中尤为重要,其他词语的权重就相对下降了。

    为解决这一问题,在Encoder-Decoder框架的基础上引入了权重机制:即将一个语义编码C拆解成多个有不同权重的多个C1,C2,C3……,权重的大小决定了特征的重要性,如下图:

    我们用一个案例来分析这一模型:

输入为一句英文:Tom chase Jerry
输出结果为:“汤姆”,“追逐”,“杰瑞”。

加入attention机制后,Encoder层的每一步输出都会和当前Decoder中的输出进行联立计算F(h1,Hi-1),最后用softmax函数生成概率值,即为当下词语的权重,如下图:

用一个更完整的图表示为:

训练y1时,语义编码 C1 就是各个元素x按其重要程度加权求和得到的,同理,训练y2—C2也如此。

讲到这里,Attention机制清楚了吧~

 

前情回顾:

推荐系统与深度学习(二)——FFM模型原理

 

欢迎大家关注公众号:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值