神经网络注意力机制--Attention in Neural Networks

Attention in Neural Networks and How to Use It http://akosiorek.github.io/ml/2017/10/14/visual-attention.html

这篇博文主要介绍神经网络中的注意力机制,代码实现了两个 soft visual attention

What is Attention? 首先来看看 注意力机制是什么? Informally, a neural attention mechanism equips a neural network with the ability to focus on a subset of its inputs (or features): it selects specific inputs. 注意力机制可以让一个神经网络能够只关注其输入的一部分信息,它能够选择特定的输入。

attention is implemented as

f 是一个 attention network,其生成一个 attention vector a, 再讲 a 与输入 x 的 特征向量 z 相乘,这个 a 取值范围是 【0,1】,当我们说 soft attention 时,其取值是 0 到 1,当我们说 hard attention 其取值就只有 0 或 1。

为什么 attention 是重要的了?我们还有从 neural network 的本质说起, neural network 本质上就是一个 函数拟合器 function approximator,它的结构决定其可以拟合什么类型的函数,通常情况下输入向量彼此的作用方式只能是相加 A typical neural net is implemented as a chain of matrix multiplications and element-wise non-linearities, where elements of the input or feature vectors interact with each other only by addition

但是 注意力机制可以让输入向量之间的作用方式是相乘 Attention mechanisms compute a mask which is used to multiply features

neural networks are universal function approximators and can approximate an arbitrary function to arbitrary precision, but only in the limit of an infinite number of hidden units. In any practical setting, that is not the case: we are limited by the number of hidden units we can use. 神经网络可以拟合任意函数,但是受限于神经单元的数量,我们拟合的函数是有限制的。

The above definition of attention as multiplicative interactions allow us to consider a broader class of models if we relax the constrains on the values of the attention mask 注意力引入的 multiplicative interactions 可以让我们拟合更复杂的函数模型

Visual Attention Attention 可以被应用到任意类型的输入,不管其形状如何,对于矩阵形式的输入 如 图像,我们可以探讨 visual attention,

Hard Attention 对于图像的 Hard Attention 就是 image cropping : g = I[y:y+h, x:x+w], 这个 hard attention 的问题是 non-differentiable,可以通过 score-function estimator 来解决

Soft Attention 文献 Show, Attend and Tell 中使用这种类型的 attention,

The model learns to attend to specific parts of the image while generating the word describing that part

Closing Thoughts

Attention mechanisms expand capabilities of neural networks: they allow approximating more complicated functions, or in more intuitive terms, they enable focusing on specific parts of the input.

Attention mechanisms 应该可以发挥更大的作用!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Python 译文

How to Use the TimeDistributed Layer for Long Short-Term Memory Networks in Pyth...

50512
来自专栏量化投资与机器学习

机器学习模型的变量评估和选择基于技术指标『深度解析』

简介 本文重点介绍机器学习模型中输入变量(预测因子)的选择,预处理以及评估的相关细节。所有的计算和实验将用R语言来实现。 输入数据 我们将采用11个指标(振荡器...

3245
来自专栏华章科技

三天速成!香港科技大学TensorFlow课件分享

该教程第一天先介绍了深度学习和机器学习的潜力与基本概念,而后便开始探讨深度学习框架 TensorFlow。首先我们将学到如何安装 TensorFlow,其实我们...

982
来自专栏和蔼的张星的图像处理专栏

图像旋转即c++实现

主要还是考虑面试的时候会不会用到,刚才好好看了下旋转的这个思路,其实和图像缩放的思路差不多的,主要的问题是要找到坐标的映射方式。 因为还是包含了一部分的公式,...

1974
来自专栏C/C++基础

矩阵转置与矩阵相乘

写这篇博客的原因是为了记录一下矩阵转置与矩阵相乘的实现代码,供日后不时之需。直接原因是今晚(2016.09.13)参加了百度2017校招的笔试(C++岗),里面...

902
来自专栏数值分析与有限元编程

三角形面积坐标

(一)三角形面积坐标的定义 三角形中任一点P与其三个角点相连形成三个子三角形,如图1所示 ? 需要注意的是,这里引用的面积坐标,只限于用在一个三角形单元之内,在...

3965
来自专栏编程

图像处理基础

作者简介 本文来自鲍骞月的投稿,主要讲解图像处理基础,欢迎大家积极留言,提出你的疑问或者建议,与投稿小伙伴交流。 GitHub地址:https://github...

2056
来自专栏机器之心

三天速成!香港科技大学TensorFlow课件分享

机器之心整理 参与:蒋思源 这是一套香港科技大学发布的极简 TensorFlow 入门教程,三天全套幻灯片教程已被分享到 Google Drive。机器之心将简...

52712
来自专栏数据科学学习手札

(数据科学学习手札25)sklearn中的特征选择相关功能

一、简介   在现实的机器学习任务中,自变量往往数量众多,且类型可能由连续型(continuou)和离散型(discrete)混杂组成,因此出于节约计算成本、精...

4569
来自专栏数据结构与算法

圆的反演变换

挺神奇的东西,网上没有多少资料,我也不是太懂,代码什么的都没写过,那就抄一下百度百科吧

1292

扫码关注云+社区