神经网络知识点
真心乖宝宝
这个作者很懒,什么都没留下…
展开
-
激活函数比较
激活函数定义在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数激活函数作用我们决定引入非线性函数作为激活函数,这样深层神经网络表达能力就更加强大。如果不用激活函数,每一层节点的输入都是上层输出的线性函数,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机Sigmoid函数数学表达式:几何图像:导数图像:Sigmoid优缺点优点:把输入的连续实值变换为0和1之间的输出,特别的,如果是非常大原创 2020-08-20 11:30:28 · 250 阅读 · 0 评论 -
LSTM简单理解
RNNLSTM长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。简单来说,就是相比普通的RNN,LSTM能够在更长的序列中有更好的表现。遗忘门输入门更新cell状态输出门LSTM怎么解决梯度消失和爆炸的问题?首先三个门的激活函数是sigmoid,这也就意味着这三个门的输出要么接近于0, 要么接近于1。当门为1时,这就使得梯度能够很好的在LSTM中传递,很大程度原创 2020-08-06 18:55:59 · 275 阅读 · 0 评论 -
Batch Normalization(批量归一化)的作用
较深层神经网络训练时的困扰随着训练的进行,网络中的参数也随着梯度下降在不停更新。一方面,当底层网络中参数发生微弱变化时,由于每一层中的线性变换与非线性激活映射,这些微弱变化随着网络层数的加深而被放大;另一方面,参数的变化导致每一层的输入数据分布会发生改变,进而上层的网络需要不停地去适应这些分布变化,使得我们的模型训练变得困难。上述这一现象叫做Internal Covariate Shift。Internal Covariate Shift在深层网络训练的过程中,由于网络中参数变化而引起内部结原创 2020-08-06 10:42:07 · 8718 阅读 · 0 评论 -
浅谈池化层
池化种类一般有平均池化和最大池化:平均池化(average pooling): 计算图像区域的平均值作为该区域池化后的值最大池化(max pooling): 选图像区域的最大值作为该区域池化后的值池化层作用1.保留显著特征,降低特征维度,同时减少参数和计算量,避免过拟合,提高模型的泛化能力2.保持平移、旋转、尺度不变性3.增大感受野参考文章参考文章1参考文章2...原创 2020-07-18 10:34:37 · 239 阅读 · 0 评论 -
减少过拟合的方法总结
过拟合有时我们发现,模型在训练集上效果很好,但是在测试集上效果不好,这种现象称为过拟合解决方法1.增加样本数据量2.数据增强,人为扩展数据量3.L2正则4.Dropout5.early stopping机制原创 2020-06-15 11:17:01 · 5762 阅读 · 0 评论 -
梯度消失与梯度爆炸的原因及解决方法
原因网络太深,网络权值更新不稳定造成的,本质上是因为梯度反向传播中的连乘效应当神经网络有很多层,每个隐藏层都使用Sigmoid函数作为激活函数时,很容易引起梯度消失或梯度爆炸问题当x较大或较小时,Sigmoid函数导数接近0;且导数的最大值是0.25梯度消失:如果我们使用标准方法来初始化网络中的权重,那么会使用一个均值为0标准差为1的高斯分布。因此所有的权重通常会满足|wj|<1,而s‘是小于0.25的值,那么当神经网络特别深的时候,梯度呈指数级衰减,导数在每一层至少会被压缩为原来的1原创 2020-06-15 09:08:58 · 310 阅读 · 0 评论