选择填空30分
简答20分
计算20分
综合30分
1.卷积神经网络
- 卷积操作
- 特征响应图中的每个位置的值 反映了 图像上对应位置 是否存在卷积核所记录的基元结构信息
- 不同特征响应图 反映了输入图像对 不同卷积核的响应结果
- 同一特征响应图 上的不同位置 表示 了输入图像不同位置 对同一 卷积核的响应结果
- 感受野与卷积核概念理解
- 感受野:指前一层输入数据中影响该神经元输出的区域大小,一般由卷积核的大小和步幅确定。深度学习 就是不断堆叠卷积层,以获得更大的感受野,获得全局特征
- 卷积核:数字矩阵,可以在输入图像上执行卷积操作,提取特征,卷积核的参数通过梯度下降算法学习得到。
- 卷积神经网络各个层的作用
- 输入层:主要包含对原始图像进行预处理,包括中心化,归一化,主成分分析
- 卷积运算层:主要使用滤波器(卷积核),对输入进行不同层次的特征提取。滤波器中的参数可以通过反向传播算法进行学习
- 激活函数层:主要是将卷积层的输出做一个非线性映射
- 池化层:只要用于参数量压缩。可以减轻过拟和问题
- 全连接层:常用于网络的最后一层,用于计算类别得分,将网络学习到的特征映射到样本的标记空间中
- 卷积为什么有效
- 训练CNN的相当意义上是在训练每一个卷积层的滤波器
- 随着卷积层的增加,对应滤波器检测的特征就更加复杂
- 构建神经网络的任务在于构建这些滤波器
- 卷积的计算公式
( W − F + 2 P ) / S + 1 \begin{equation} (W-F+2P)/S+1 \end{equation} (W−F+2P)/S+1
-
池化操作:对特征相应图某个区域进行池化
a. 卷积层之后再加上一个池化,构成一个降采样层
b. 降采样可以减少特征图的空间尺寸(减少后续卷积层的参数的数量,降低计算资源耗费),同时保留重信息
c. 常见的降采样有最大池化,平均池化
-
池化特点
-
特征不变性:池化操作之后留下的信息是具有尺度不变性的特征,是最能表达图像的特征
-
特征降维:把冗余信息去除,把最重要的特征抽取出来
-
在一定程度上防止过拟合,更方便
-
-
各种激活函数
-
sigmoid激活函数
- 缺点:
- 存在饱和区域,当输入>10或者<-10的时候,输出接近于一个恒定的值。
- 存在梯度消失问题,处在包和区域时,局部梯度为0,导致更新不了参数
- 输出相比于tanh不是0中心化,收敛速度更慢,迭代次数更多
- 计算量更大,包含指数运算
- 缺点:
-
relu激活函数
- 优点:加快计算(计算公式简单,相较于sigmoid,不包含指数预算)、防止梯度弥散(当输入>0时,梯度始终为1,避免因为链式法则的乘法特性导致梯度消失,有利于梯度信息流通,加速训练过程)、稀疏激活(神经元中会有一部分的输入值小于0,就会导致该神经元的输出为0,这样就造成了网络的稀疏性,并且减少了参数相互依存的关系,缓解了过拟合问题)
- 缺点:死亡relu,当输入为负数的时候,可能导致在训练过程中,某些神经元的输出一直为0,导致对应权值无法更新。
- 改进:leaky relu,可以在负数区域引入一个小斜率来解决神经元死亡问题
-
-
各种层的作用
- 卷积层、池化层核激活函数层等作用是将原始数据映射到隐层特征空间中 (原始数据–隐层特征空间)
- 全连接层的目的是将网络学习到的特征映射到样本的标记空间中(特征-样本标记空间)
-
卷积神经网络的原理 采用全局卷积比直接展开成一维向量 要减少参数量,各有各的特性
- 全局卷积(尺寸大小保持一致)的原理:感觉适用于语义分割任务
- 12 ∗ 12 ∗ 20 12*12*20 12∗12∗20 对之进行 全卷积操作
- 相当于就是用了 100 个 12 ∗ 12 ∗ 20 100个12*12*20 100个12∗12∗20的 卷积核 进行全局卷积得到的结果
- 全局卷积来实现全连接运算过程:把分布式特征映射到样本空间
- 采样折中形式:空间结构特性被忽略了,鲁棒性增加
-
参数共享:参数共享是指CNN中卷积层的神经元使用相同的权重值(卷积核参数),可以减少模型参数数量和计算量,使得网络对于平移不变性具有更好的适应性
- 稀疏连接:特征响应图的一个位置上的计算结果只与原图像的对应位置的值相关有连接,而与其他位置的值无关,无连接
- dropout的具体流程
- 首先随机(临时)删除网络中一半的隐藏神经元,输入输出神经元保持不变
- 然后把输入x通过修改后的网络前向传播,然后把得到的损失通过修改后的网络反向传播。一小批训练样本执行完这个过程后,在没有被删除的神经元上按照梯度下降算法更新对应的参数(w,b);
- 然后重复这一过程:
- 恢复被删除掉的神经元(此时被删除的神经元保持原样,而没有被删除的神经元已经有所更新)
- 从隐层神经元中随机选择一个 一半大小的 子集临时删除掉(备份被删除神经元的参数(因为要恢复))
- 对一小批量训练样本,先前向传播然后反向传播损失并根据梯度下降算法更新参数(w,b)(没有被删除的那一部分参数得到更新,删除的神经元参数保持保持被删除前的的结果)
- dropout解决 过拟合原因 记忆
- 取平均的作用:dropout删掉不同的隐层神经元就类似于在训练不同的网络,随机删掉一半隐藏神经元导致网络结构已经不同,整个dropout过程就是相当于对很多个不同的神经网络取平均。而不同的网络产生不同的过拟合,一些互为“反向”的拟合相互抵消就可以达到整体上减少过拟合
- 减少神经元之间复杂的共适应关系:dropout程序导致两个神经元不一定每次都在一个dropout网络中出现,这样权值的更新不再依赖于有固定关系的隐含节点的共同作用,阻止了某些特征仅仅在其他特定特征下才有的效果的情况
- dropout使得每次梯度更新是参与网络计算的参数量大大减少,减少了网络的模型,防止过拟合
- dropout鼓励权重稀疏,从这个角度上看,也在一定程度上缓解了过拟合问题
- 结构于功能:卷积神经网络主要由卷积层、激活层、池化层和全连接层组成
- 卷积层:执行局部特征提取的卷积运算
- 激活层:引入非线性激活函数
- 池化层:负责降采样以减少参数数量于计算量
- 全连接层:将前面的特征进行整合并输出计算结果
- 原理与应用
- CNN通过卷积运算学习局部空间特征。随着网络层级的增加,特征从 简单的边缘和纹理逐渐转变为更复杂的语义结构
- 由于局部连接和权值共享的特性,卷积神经网络在参数两和计算成本上远低于传统的全连接神经网络,特别擅长处理有类似网格结构的数据
- Alexnet网络
- 提出卷积+全连接层的深层网络结构
- 首次使用relu作为激活函数
- 首次使用dropout策略防止过拟合
- 使用带动量的小批量梯度下降算法
- 数据增强
- 利用gpu加速
- VGG网络
- VGG为什么用小的卷积核,小的卷积核有什么优势吗
- 深度更深
- 非线性更强
- 网络参数量减少
- 多个小卷积核串联可以获得更大的感受野
-
Googlenet
- 提出了一种并联结构,采用inceptino结构,将特征矩阵同时送入多个分支进行处理,并将输出的特征矩阵按深度进行拼接,得到最终输出
- inception网络结构:保持了网络结构的稀疏性,又利用了密集矩阵的高计算性能
-
Resnet
- resnet结构可以极快的加速超深神经网络的训练,模型的准确率也有非常大的提升
- resnet最初的灵感来自这个问题:在不断增加神经网络的深度的时候,会出现一个退化问题,即准确率先会上升后达到饱和,再持续增加深度则会导致准确率下降。这并不是过拟合的问题,因为不光在测试集上的误差增大,训练集本身误差也会增大
- 为什么残差结构有效?
- 正向传播角度来来说:通过引入残差结构,可以实现跨层输入,当此层信息不能有效的传递到下一层时,残差结构就发挥了作用,直接送入一下层,保证了正向信息的传递
- 反向传播角度来说:加入残差连接后,即使偏导数的乘积再小,但+1的操作使得梯度值大大增加,非线性激活函数也达到非饱和区域,这样做的好处是:即使网络非常深,网络也容易收敛,容易训练
–
2. 基本图像处理
- 四大主流任务
- 图像分类:将图像分到预定义类别的任务中,该任务的目标是判别图像是哪一类
- 语义分割:将图像中的每个像素分配到预定义类别的任务中。与图像分割不同,语义分割关注于像素级别的分类,即对每个像素进行分类
- 目标检测:识别物体类别,还要确定他们在图像中的位置
- 实例分割:在图像中为每个物体的 不同实例 分配不同的标记,同时标记出每个像素的类别
- 计算机视觉与数字图像与计算机图像学的关系
3.进阶图像处理
- 图像滤波(平滑滤波和边缘检测)
- 消除图像中混入的噪声
- 为图像识别抽取图像特征
- 平滑滤波实现方式
- 均值滤波
- 高斯滤波(根据邻近元素与中心位置的距离分配权重 )
- 边缘检测 (要掌握 各种算子滤波)会有一个计算题
-
roberts算子
-
Prewitt算子
-
Sobel算子
-
Canny算子
- 用高斯滤波平滑图像–去除噪声
- 用sobel梯度算子计算梯度幅值和方向–得到可能边缘
- 对梯度幅值进行非极大值抑制–消除边误检
- 用双阈值算法检测和连接边缘–筛选边缘信息:强边缘、弱边缘、非边缘
- 利用滞后技术跟踪边界–将弱边缘与周围强边缘连接形成完整边缘
- 不同算子效果对比:
- 图片分割:基于Otsu算法(大津算法)的阈值分割算法
- 将图像转成灰度图
- 计算全部平均灰度
- 选定一个阈值T把所有像素分成N0,N1两个部分
- 计算N0的灰度w0,和N1的灰度w1
- 计算类间方差
- 采用遍历法找到Tmax使得g最大
- 形态学概念 记忆
- 膨胀:增加物体的边界,使其变得更加粗厚
- 腐蚀:减少物体的边界,使其更加细小
- 开运算:先腐蚀再膨胀,这个操作可以用于消除小的对象、在物体之间分来连接、平滑物体的边界。开运算的效果适合去除图像中的小细节,平滑物体边界
- 闭运算:先膨胀再腐蚀。这个操作可以用于连接物体,填充物体内部的小洞,平滑物体的边界。闭运算的效果是弥合图像中物体之间的空隙
4.经典计视觉方法
- 考察不多,霍夫变换和模板匹配不会出现概念题目,可能会结合其他知识点一起考察,了解思想即可
5.卷积神经网络的优化
- 混淆矩阵
- 准确率
- 精确率:在预测为阳性样本中,实际为阳性所占得得比例,看你预测得准不准
- 召回率:在已知为阳性的样本中,预测出阳性所占的比例,预测得全不全
- 过拟合得优化方法 记忆
- 训练验证集划分/交叉验证
- 将数据集划分为训练集和验证集,通过在训练集训练模型参数,在验证集上评估模型性能,交叉验证进一步增强了这一过程,通过多次划分不同的训练集和验证集,更全面评估模型的性能
- 当模型的性能在验证集合上不再提升的时候,或者性能开始变差得时候,就停止对模型得训练,防止过拟合
- 扩大数据集
- 利用数据增强技术,采用裁剪,旋转,形变等操作增大数据集
- 正则化
- 对模型存储的信息加以约束
- L1正则化,就是在损失函数中加上了权重参数的绝对值之和,能够使得某一些权重参数为0,实现特征选择
- L2正则化,就是在损失函数中加上了权重参数的平方之和,能够防止某些权重参数过大,防止过拟合
- 弹性网络,综合了L1正则化与L2正则化
- 随机失活
- 以一定的概率使得某些神经元的输出置为0,置为0的神经元就好像被网络删除了一般
- dropout使得每次梯度更新时参与网络计算的参数减少,模型的容量减少
- dropout鼓励权重稀疏,从这个角度上看的话,在一定程度上防止了过拟合
- 训练验证集划分/交叉验证
- 卷积神经网络梯度消失合梯度爆炸问题
- 残差神经网络连接方式
- 梯度反向传播的过程中,总会有一个数值1的作用,即使偏导数的乘积再小,数值1的作用总会是梯度值大大增加,非线性激活函数也达到非饱和区域
- 非饱和的激活函数
- 不存在包和区域,局部梯度不会为0,梯度总是可以反向回传
- 梯度截断
- 防止梯度爆炸
- 好的参数初始化方式
- 批量规范化
- 进行归一化,从而平滑地传播梯度,进行归一化操作,还可以避免对好的权重参数初始化的依赖
- 更快的优化器
- LSTM 门控机制为什么能够减少过拟合问题?
- 三个门的激活函数都是sigmoid激活函数,这就意味着输出要么接近0,要么接近1
- 当门输出为1时,梯度能够很好地可以在LSTM中回传,这样就可很大程度上减少梯度消失的概率
- 当门输出为0时,说明了上一时刻的信息对于当前时刻的信息没有任何影响,我们也就没有必要传递梯度回去来更新参数了
- 残差神经网络连接方式
- 网络参数的初始化
- 全零/一初始化
- 随机初始化
- Xavier初始化
- He初始化
- Pre-train初始化(迁移学习)
- 批量规范化作用
- 防止gradient vanish (梯度消失)
- 解决了internal covariate shift(内部协变量偏移) 问题,可以提高学习速率
- 减少了对于好的权重初始化的依赖
- 有助于解决overfitting
- 为什么通过LSTM中门控机制 可以缓解梯度消失问题 记忆
- 三个门的激活函数都是sigmoid激活函数,这就意味这三个门的输出要么接近0,要么接近1
- 当门输出为1时,梯度能够很好地在LSTM中传递,这在很大程度上可以减少梯度消失的概率
- 当门输出为0时,说明上一时刻的信息对当前时刻的信息没有任何影响,我们也就没有必要回传梯度进行更新·参数
-
训练优化
-
动量梯度下降法
-
RMSPROP优化器
-
自适应矩估计ADAM优化器
-
其他优化策略大概了解一下
- 贝叶斯极限
-
-
降低训练误差
- 更复杂的模型
- 更长时间地训练和优化
- 更优的超参数
-
降低验证/测试误差
- 更多更全面的数据
- 解决过拟合的策略
- 简化模型结构/参数组合
6. 迁移学习
- 迁移学习概念
- 迁移学习是一种机器学习方法,就是把为任务A开发的模型作为初始点,重新使用在为任务B开发模型的过程中。迁移学习是通过从已学习的相关任务中转移知识来改进学习的新任务
- 找到目标问题的相似性,迁移学习任务就是从相似性出发,将旧领域学习过的模型应用到新领域上
- 为什么需要迁移学习
- 大数据与少标注的矛盾
- 虽然有大量的数据,但往往都是没有标注的,无法训练机器学习模型。人工进行数据标定太耗时
- 大数据与弱计算的矛盾
- 普通人无法拥有庞大的数据量与计算资源。因此需要借助于模型的迁移
- 普适化模型与个性化需求的矛盾
- 即使是在同一任务上,一个模型也往往难以满足每个人的个性化需求
- 大数据与少标注的矛盾
-
什么时候我们需要用到迁移学习
- 迁移学习的三种方法
- 特征提取:只训练分类器
- 将预训练模型作为特征提取器,将其前面的层视为特征提取部分,然后在新任务上添加一个新的分类器
- 这意味着底层或者中间层的网络参数在 目标任务上是冻结的,而只有顶层的部分或者新添加的部分需要进行训练
- 全网络微调 FINE TUNING
- 将预训练模型加载到新任务中,然后在新任务的数据上继续训练模型,在训练过程,可以固定一部分层的参数,只更新部分层的参数
- 两者结合
- 特征提取:只训练分类器
7. 分割任务 (也很重要)
- 分割任务:就是在原始图像中逐像素的找到你需要的目标
- 概念
- 语义分割:就是把每个像素都打上标签(这个像素点是人,树,背景等) 语义分割只区分类别,不区分类别中的具体单位
- 实例分割:不仅要区分类别,还要区分类别中的每一个个体
- 语义分割损失函数
- 逐像素的交叉熵
- 不仅需要考虑样本的均衡问题
- 还要考虑样本的难易问题
- 语义分割之-U-Net (通常用于其他网络的主干网络用于提取特征)
- CNN是图像级别的分类,而unet是像素级别的分类,其输出的是每个像素点的类别
- unet网络结构非常简单,编码器–解码器结构,类似于编码器
- unet网络相比更早提出的FCN网络,使用拼接来作为特征图的融合方式
- FCN是通过特征图对应像素值的相加来融合特征的
- Unet通过将通道数的拼接,这样可以形成更厚的特征,当然会更加消耗显存
- Unet++
- 整体网络结构:
- 特征融合,拼接更加全面
- 跟densenet思想一致
- 把能拼能凑的特征全用上就是升级版了
- Deep Supervision
- 损失由多个位置计算,再更新
- 现在看来,很多视觉任务都可以套用此方法
- 可以更容易剪枝:记忆
- 因为前面也单独有监督训练
- 可以根据速度要求来快速完成剪枝
- 训练的时候同样会用到L4,效果还不错
- 不同的max pool整合的低阶特征
- 上采样整合高阶特征(感受野大的,全局的)
- 各层统一使用卷积得到64个特征图
- deeplab
-
图像分割中的传统做法:为了增大感受野,通常都会选择pooling操作,但是也会丢失一部分信息
-
deeplab系列方法
- 空洞卷积:在标准的卷积特征图中注入空洞,以此来增加感受野 记忆
-
空洞卷积优势 记忆
- 图像分割任务(其他场景也适用)需要较大感受野来更好完成过任务
- 通过设置dilation rate 参数来往成空洞卷积,并没有额外计算
- 可以按照参数扩大任意倍数的感受野,而且并没有引入额外的参数
- 应用简单,就是卷积层中多设置一个参数就可以了
-
堆叠小的卷积核的优势 VGG采用小卷积核优势
-
所需的参数更少
-
非线性增强
-
网络层数加深
-
多个小卷积核串联可以获得更大的感受野
-
- SPP-Layer
- 在一般的CNN结构中,在卷积层后面通常连接着全连接。而全连接层的特征数是固定的,所以网络输入的时候,会固定输入的大小(fixed-size)。但在现实中,输入的图像尺寸总是不能满足输入时要求的大小。通常的手法就是 裁剪crop 核拉伸 wrap 在R-CNN就是采用这种手法,来进行满足的
- 但是,裁剪核拉伸后,图像的纵横比核输入图像的尺寸式被改变的,这样就会扭曲原始的图像,一定程度上就会导致图片信息的丢失和变形
- SPP方法是在不同的尺寸 输入之后,经过 conv layer之后肯定尺寸 也是不同的,再通过 SPP层将他们固定到相同的尺寸,然后在送入全连接神经网络中进行后续的操作(**这个就是和ROL POOLING**思想类似)
- 为什么引入SPP?
- 全连接层限制了特征输入的大小,直接裁剪和拉伸会损失原图像中的信息,SPP层允许卷积层之后处理不同尺寸的特征图,再不损失关键信息的前提下,使得网络能够处理任意尺寸输入。其优势在于其能保留更多的原始特征图的特征信息,提高模型性能和泛化能力。
- SPP-layer特点
- 不管输入尺寸是怎样,SPP可以产生固定大小的输出
- 使用多个窗口(pooling window)
- SPP可以使用同一图像不同尺寸scale 作为输入,得到同样长度的池化特征
- 由于对输入图像的不同纵横比和不同尺寸,SPP同样可以处理,所以提高了图像的尺度不变性和降低了过拟合
- 实验表明训练图像尺寸的多样性比单一尺寸的训练图像更容易使得网络收敛
- SPP对于特定的CNN网络设计和结构是独立的。(也就是说,只要把SPP放在最后一层卷积层后面,对网络的结构是没有影响的,只是替换了原来的pooling)
- 不仅可以用于图像分类,而且可以用来目标检测
- SPP具体做法 记忆
- 特征提取层:在经过卷积神经网络的卷积层处理之后,获得各个尺寸的特征图
- 金字塔池化:对每个特征图应用金字塔池化。金字塔池化的关键在于使用不同大小的池化核(44,1616,全局)对同一尺寸特征图进行不同池化操作。最终得到固定输出
- 合并特征:将不同尺寸的池化特征合并到一起,形成一个固定大小的特征向量。
- 常用的多尺度提取方法
- ASPP
- 其实就是跟SPP差不多,只不过引入了不同倍率的空洞卷积
- 通过设置dilation rate参数来完成空洞卷积,并没有额外计算
- 可以按照参数扩大任意倍数的感受野,而且没有引入额外的参数
- 应用简答,就是卷积层多设置一个参数就可以了
8.目标检测
- 经典检测方法
- two-stage(两阶段):faster_rcnn mask rcnn系列
- 速度通常较慢(5FPS),但是效果通常还是不错
- 非常实用的通用框架Mask RCNN
- one-stage (单阶段):yolo系列
- 最核心的优势:速度非常快,适合做实时检测任务,但是缺点也是有的,效果通常情况下不会太好
- two-stage(两阶段):faster_rcnn mask rcnn系列
- 指标分析
- map指标:综合衡量检测效果
- 所有类别的平均
- IOU:交的面积/并的面积 会有一个计算题
- 精确率
- 召回率
- map指标:综合衡量检测效果
- YOLO-V1 了解一下核心思想就好
- 经典的one-stage方法
- 把检测问题转化为回归问题,一个CNN就搞定了。可以对视频进行实时检测,应用领域非常广
- 核心思想就是利用整张图片作为网络的输入,直接在输出层回归bounding box的位置和bounding box所属的类别
- yolo预测最终需要多少参数 取决于类别数 B=2
- 非极大值抑制(了解即可)
- 目标检测的非极大值议抑制非常好理解
- 就是去除多余的冗余检测框,保留最好的
- canny边缘检测的时候,也用到了非极大值抑制
- YOLO-v1
- 优点:快速、简单
- 问题1:每个cell只预测一个类别,如果重叠无法解决
- 问题2:小物体检测效果一般,长宽比可选但单一
9.循环神经网络
- 对于一些有明显的 上下文特征的序列输入(问题),比如预测视频中下一帧的播放内容,那么很明显这样的输出必须依赖于以前的输入(问题),也就是说网络必须拥有一定的“记忆能力”。为了赋予网络这样的记忆能力,一种特殊结构的神经网络–循环神经网络应运而生
- 为了克服梯度消失问题,LSTM和GRU模型后续推出了
- 为什么LSTM和GRU可以克服梯度消失问题?
- 由于他们都有特殊的方式存储“记忆”,可以在一定程度上可夫梯度消失问题。
- 原理:在普通RNN中于长序列而言,很早之前时刻输入的信息,对于当前时刻是不会产生影响的
- 为什么LSTM和GRU可以克服梯度消失问题?
- LSTM结构
-
LSTM关键: C t C_t Ct细胞状态–长时记忆
- 细胞状态类似于传送带,直接在整个链上运行,只有一些少量的线性交互。信息在上面流传保持不变很容易
-
第一个“门”:忘记门:
- 决定从“细胞状态”中丢弃什么东西(因为sigmoid函数最终输出是0-1的,接近0的作用于细胞状态表示遗忘该信息,接近于1的作用于该细胞状态表示保留该信息)
- 决定从“细胞状态”中丢弃什么东西(因为sigmoid函数最终输出是0-1的,接近0的作用于细胞状态表示遗忘该信息,接近于1的作用于该细胞状态表示保留该信息)
-
第二个“门”:”输入门“:(很明显对于输入,也要进行筛选之后,才能送入到细胞状态)
- 决定放入什么信息到”细胞状态“中,做数据加强
- 分为两个部分:
- i t i_t it(忽略因子)决定哪些部分删除。sigmoid决定什么值需要去除和更新
- tanh层创建一个新的信息向量 C t C_t Ct;(取值为1或者-1,表示正加强或者负加强)
- 最后
i
t
∗
C
t
i_t*C_t
it∗Ct构成学习们
-
经过前面的操作之后,可以确定传递信息的删除(遗忘门进行信息的删除后)和增加(信息门进行信息的加入),即可以进行“细胞状态”的更新
- 更新 C t − 1 为 C t C_{t-1}为C_t Ct−1为Ct
- 将旧状态于 f t f_t ft相乘,丢失掉确定不要的信息
- 加上新的候选值
i
t
∗
C
t
^
i_t*\hat{C_t}
it∗Ct^得到更新后的细胞状态
-
第三个“门”:基于“细胞状态”得到输出
- 首先运行一个sigmoid层来确定细胞状态的哪个将输出
- 使用tanh处理细胞状态 得到一个-1到1之间的值,再将它和sigmoid门的输出相乘,输出程序确定输出的部分
-
- RNN产生梯度消失于爆炸的原因
- 就是因为链式法则的乘法特性导致
- 就是因为链式法则的乘法特性导致
- 首先三个门的激活函数是sigmoid,这就意味着这三个门的输出要门接近于0,要么接近于1
- 当门为1时,梯度能够很好的再LSTM中传递,很大程度上减轻了梯度消失发生的概率;
- 当门为0时,说明上一时刻的信息对当前时刻没有影响,我们也没有必要传递梯度回去来更新参数了。所以这就是为什么通过门控机制能够解决梯度的原因:
- 循环神经网络变形之变种GRU
- 将忘记门和输入门合并称为一个单一更新门
- 同时合并了数据单元状态和隐藏状态(细胞状态和输出状态)
- 结构比LSTM的结构更加简单