TF-tf.keras.layers.Attention-Attention机制

1147-柳同学

发表文章数:593

热门标签

,
首页 » 算法 » 正文

Attention层介绍

tf.keras.layers.Attention(
    use_scale=False, **kwargs
)
输入为形状[batch_size,Tq,dim]的查询张量,形状[batch_size,Tv,dim]的值张量和形状[batch_size,Tv,dim]的键张量

计算遵循以下步骤:
计算形状为[batch_size,Tq,Tv]的分数作为查询键点积:
scores = tf.matmul(query,key,transpose_b = True)。

使用分数来计算形状为[batch_size,Tq,Tv]的分布:
distribution = tf.nn.softmax(scores)。

使用distribution创建具有形状[batch_size,Tq,dim]的值的线性组合:
返回tf.matmul(distribution,value)。

参数:
use_scale:如果为True,将创建一个标量变量来缩放scores
causal:设置为True可使解码器self-attention。添加一个罩,使位置i无法参与位置j> i。这样可以防止信息流从未来传递到过去。
dropout:attention scores下降的百分比


官网
TF-tf.keras.layers.Attention-Attention机制

Attention机制通俗理解

递归神经网络或其变体(LSTM / GRU / …)是使用反向传播随时间从序列中学习的方法。在这种情况下,通常将序列一次馈入网络。网络中有不同的元素,它们控制通过长序列携带多少信息。

想象一下,您得到了一段较长的文字。阅读后,您将被问到一些基于事实的问题。看到问题后,您就会意识到自己不记得所讨论的事实。
注意问题需要的Attention,返回并重新阅读本次文章。您很快就可以找到答案。神经网络中的Attention mechanism以类似的方式工作。输入数据(文本/图像)被馈送到网络(可以是[双向] LSTM / GRU)。在问题处理单元中,还提供问题的表示。现在,与问题向量一起,另一个单元在输入数据(文本/图像序列)上重新进行迭代,以尝试了解此数据块的重要系数。 ‘Attention机制就是第二次循环遍历输入数据以尝试学习这种重要性系数

注意机制可以被视为一种通过让网络在执行任务时知道该看的地方来使 网络工作得更好的方法,注意的一大优势在于,它使我们能够解释和可视化模型的工作

标签:

未经允许不得转载:作者:1147-柳同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《TF-tf.keras.layers.Attention-Attention机制》 发布于2020-11-16

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录