卷积的平移不变性公式,卷积减少参数的方法

本文详细探讨了深度学习中卷积神经网络(CNN)的损失函数正则化方法,强调了在使用sigmoid激活函数时交叉熵损失函数的优势。同时,解释了训练好的CNN模型损失函数的理想状态,并对比了前馈神经网络、BP神经网络和CNN之间的区别。此外,介绍了如何用Python构建CNN模型,以及如何应对梯度消失问题,推荐使用ReLU激活函数。
摘要由CSDN通过智能技术生成

卷积神经 损失函数怎么加入正则化

用一个卷积核滑动图片来提取某种特征(比如某个方向的边),然后激活函数用ReLU来压制梯度弥散。

对得到的结果用另一个卷积核继续提取+reLU,然后池化(保留区域最大或者用区域平均来替换整个局部区域的值,保证平移不变性和一定程度上对过拟合的压制)之后“深度”的话,就会需要对池化后的结果继续用不同的卷积核进行“卷积+relu”再池化的工作。

最后得到的实质是一个图片的深度特征,然后实际分类需要另外加一层,一般是softmax。

(也就是说如果对一个现成的已经训练完毕的卷积神经网络模型,只保留除了最后一层之外的部分,然后输入训练图片,把网络的输出重新送入一个多类的SVM再训练,最后也能得到差不多的结果,取决于svm的参数。)

谷歌人工智能写作项目:小发猫

深度学习之损失函数与激活函数的选择

深度学习之损失函数与激活函数的选择在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结rbsci。其中使用的损失函数是均方差,而激活函数是Sigmoid。

实际上DNN可以使用的损失函数和激活函数不少。这些损失函数和激活函数如何选择呢?以下是本文的内容。MSE损失+Sigmoid激活函数的问题先来看看均方差+Sigmoid的组合有什么问题。

回顾下Sigmoid激活函数的表达式为:函数图像如下:从图上可以看出,对于Sigmoid,当z的取值越来越大后,函数曲线变得越来越平缓,意味着此时的导数σ′(z)也越来越小。

同样的,当z的取值越来越小时,也有这个问题。仅仅在z取值为0附近时,导数σ′(z)的取值较大。在均方差+Sigmoid的反向传播算法中,每一层向前递推都要乘以σ′(z),得到梯度变化值。

Sigmoid的这个曲线意味着在大多数时候,我们的梯度变化值很小,导致我们的W,b更新到极值的速度较慢,也就是我们的算法收敛速度较慢。那么有什么什么办法可以改进呢?

交叉熵损失+Sigmoid改进收敛速度Sigmoid的函数特性导致反向传播算法收敛速度慢的问题,那么如何改进呢?换掉Sigmoid?这当然是一种选择。

另一种常见的选择是用交叉熵损失函数来代替均方差损失函数。每个样本的交叉熵损失函数的形式:其中,?为向量内积。

这个形式其实很熟悉,在逻辑回归原理小结中其实我们就用到了类似的形式,只是当时我们是用最大似然估计推导出来的,而这个损失函数的学名叫交叉熵。

使用了交叉熵损失函数,就能解决Sigmoid函数导数变化大多数时候反向传播算法慢的问题吗?我们来看看当使用交叉熵时,我们输出层δL的梯度情况。

对比一下均方差损失函数时在δL梯度使用交叉熵,得到的的δl梯度表达式没有了σ′(z),梯度为预测值和真实值的差距,这样求得的Wl,bl的梯度也不包含σ′(z),因此避免了反向传播收敛速度慢的问题。

通常情况下,如果我们使用了sigmoid激活函数,交叉熵损失函数肯定比均方差损失函数好用。

对数似然损失+softmax进行分类输出在前面我们都假设输出是连续可导的值,但是如果是分类问题,那么输出是一个个的类别,那我们怎么用DNN来解决这个问题呢?

DNN分类模型要求是输出层神经元输出的值在0到1之间,同时所有输出值之和为1。很明显,现有的普通DNN是无法满足这个要求的。但是我们只需要对现有的全连接DNN稍作改良,即可用于解决分类问题。

在现有的DNN模型中,我们可以将输出层第i个神经元的激活函数定义为如下形式:这个方法很简洁漂亮,仅仅只需要将输出层的激活函数从Sigmoid之类的函数转变为上式的激活函数即可。

上式这个激活函数就是我们的softmax激活函数。它在分类问题中有广泛的应用。将DNN用于分类问题,在输出层用softmax激活函数也是最常见的了。

对于用于分类的softmax激活函数,对应的损失函数一般都是用对数似然函数,即:其中yk的取值为0或者1,如果某一训练样本的输出为第i类。则yi=1,其余的j≠i都有yj=0。

由于每个样本只属于一个类别,所以这个对数似然函数可以简化为:可见损失函数只和真实类别对应的输出有关,这样假设真实类别是第i类,则其他不属于第i类序号对应的神经元的梯度导数直接为0。

对于真实类别第i类,它的WiL对应的梯度计算为:可见,梯度计算也很简洁,也没有第一节说的训练速度慢的问题。

当softmax输出层的反向传播计算完以后,后面的普通DNN层的反向传播计算和之前讲的普通DNN没有区别。梯度爆炸or消失与ReLU学习DNN,大家一定听说过梯度爆炸和梯度消失两个词。

尤其是梯度消失,是限制DNN与深度学习的一个关键障碍,目前也没有完全攻克。什么是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值