注意力机制中的软和硬
注意力机制是当前深度学习领域比较流行的一个概念。其模仿人的视觉注意力模式,每次只关注与当前任务最相关的源域信息,使得信息的索取更为高效。
注意力机制已在语言模型、图像标注等诸多领域取得了突破进展。
注意力机制可分为软和硬两类:
软性注意力(Soft Attention)机制是指在选择信息的时候,不是从N个信息中只选择1个,而是计算N个输入信息的加权平均,再输入到神经网络中计算。
相对的,硬性注意力(Hard Attention)就是指选择输入序列某一个位置上的信息,比如随机选择一个信息或者选择概率最高的信息。但一般还是用软性注意力机制来处理神经网络的问题。
注意,选取概率最高这一步骤通常是不可微的,因此,硬注意力更难训练。可以借助如强化学习的手段去学习。
分类: NLP
软注意力的注意力域
空间域(Spatial Domain)
spatial transformer其实就是注意力机制的实现,因为训练出的spatial transformer能够找出图片信息中需要被关注的区域,同时这个transformer又能够具有旋转、缩放变换的功能,这样图片局部的重要信息能够通过变换而被框盒提取出来。
通道域(Channel Domain)
通道域的注意力机制原理很简单,学过信号处理就会很容易理解,信号系统分析里面,任何一个信号其实都可以写成正弦波的线性组合,经过时频变换<注4>之后,时域上连续的正弦波信号就可以用一个频率信号数值代替了。
注4:一般是使用傅里叶变换,也是卷积变化
CNN,AlexNet、VGGNet、GoogleNet、ResNet
深度学习为何被称作深度学习? 就是因为网络层数深。早期(2012~2016年)最为经典的几个CNN,AlexNet、VGGNet、GoogleNet、ResNet,网络层数是在不断加深的
Batch normalization和残差结构的出现解决了以前深层网络容易出现梯度消失、难以训练的问题,使得网络的深度可以加到非常深。
理论上说,较深的CNN不会比较浅的CNN效果差(ResNet中提到),但是边际效应在此处是显然存在的,目前来说轻量化的神经网络的层数一般在几十层左右,而较大的神经网络也很少有超过200层的。