神经网络注意力机制--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 条评论
登录 后参与评论

相关文章

来自专栏算法channel

2个基于TensorFlow的Github开源项目,1篇TensorFlow的概念和方法梳理文章

介绍 2 个非常接地气的 Github 开源项目,都是基于 TensorFlow 框架开发的,通过练习这些项目,能很快提升使用 TF 的能力,同时加深理解常用的...

1072
来自专栏有趣的Python

4-机器学习启蒙- 聚类和相似度模型聚类和相似度: 文档检索

4- 聚类和相似度模型 聚类和相似度: 文档检索 我们想从数据中推断出某种潜在的结构。 结构是一组相关观测。对于一个实际应用进行研究。 检索感兴趣的文档。 文...

4476
来自专栏深度学习自然语言处理

这些神经网络调参细节,你都了解了吗

今天在写本科毕业论文的时候又回顾了一下神经网络调参的一些细节问题,特来总结下。主要从weight_decay,clip_norm,lr_decay说起。

892
来自专栏机器学习、深度学习

网络模型--Squeeze-and-Excitation Networks

Squeeze-and-Excitation Networks https://arxiv.org/abs/1709.01507 ILSVRC 2017 i...

1926
来自专栏最新技术

深入学习Apache Spark和TensorFlow

想要了解更多关于Apache Spark的信息,请在2016年2月在纽约出席Spark东部峰会。

2868
来自专栏大数据挖掘DT机器学习

R语言与机器学习(分类算法)K-近邻算法

最近在学习数据挖掘,对数据挖掘中的算法比较感兴趣,打算整理分享一下学习情况,顺便利用R来实现一下数据挖掘算法。 数据挖掘里我打算整理的内容有...

36311
来自专栏专知

Facebook AI发布新版本FairSeq序列到序列(Seq2Seq)学习工具,可生成故事与快速推断

【导读】Facebook AI Research发布(PyTorch)序列到序列学习工具集fairseq新版本:实现“Scaling Neural Machin...

2315
来自专栏媒矿工厂

适用于高动态范围视频的码率控制算法简介

1.背景介绍 随着高动态范围(HDR,High Dynamic Range)概念的普及以及诸如OLED等技术上的进步,消费者市场对HDR设备呈现出极大的热情。相...

3574
来自专栏机器之心

学界 | 商汤联合提出基于FPGA的快速Winograd算法:实现FPGA之上最优的CNN表现与能耗

33510
来自专栏机器之心

研学社•架构组 | CoCoA:大规模机器学习的分布式优化通用框架

机器之心原创 作者:Yanchen Wang 参与:panda 去年,Michael I. Jordan 实验室发表论文《CoCoA: A General Fr...

2676

扫码关注云+社区