卷积神经网络-由简单到复杂

matlab中BP神经网络训练误差很大的原因;
1、没归一化
2、没初始化
3、数据结构问题
4、学习函数选择不当
5、隐藏层设置不当
6、数据太少,摆动不大

卷积神经网络的参数调节:
一般说来,提高网络泛化能力的主要方法有:
1、正则化
2、增加网络层数
3、使用正确的代价函数
4、使用好的权值初始化技术
5、人为拓展训练集
6、弃权技术(dropout)

卷积神经网络的一些技巧总结:
1、使用卷积层极大地减小了全连接层中的参数数目,使学习的问题更容易
2、使用更多强有力的规范化技术(尤其是弃权和卷积)来减小过拟合
3、使用修正线性单元而不是s型神经元,来加速训练,根据经验,,通常是3-5倍
4、使用GPU来计算
5、利用充分大的数据集,避免过拟合
6、使用正确的代价函数,避免学习减速
7、使用好的权重初始化,避免因为神经元饱和引起的学习减速

举例:手写数字识别

1、普通的全连接神经网络效果

我们使用一个隐藏层,包含100个隐藏神经元,输入层是784,输出层是one-hot编码的形式,最后一层是Softmax层。训练过程采用对数似然代价函数,60次迭代,学习速率η=0.1,随机梯度下降的小批量数据大小为10,没有正则化。在测试集上得到的结果是97.8%。

2、使用卷积神经网络 — 仅一个卷积层

输入层是卷积层,5*5的局部感受野,也就是一个5*5的卷积核,一共20个特征映射。最大池化层选用2*2的大小。后面是100个隐藏神经元的全连接层。结构如图所示
CNN结构
在这个架构中,我们把卷积层和chihua层看做是学习输入训练图像中的局部感受野,而后的全连接层则是一个更抽象层次的学习,从整个图像整合全局信息。也是60次迭代,批量数据大小是10,学习率是0.1.经过三次运行取平均后,准确率是98.78%,这是相当大的改善。错误率降低了1/3,。卷积神经网络开始显现威力。

3.使用卷积神经网络 — 两个卷积层

我们接着插入第二个卷积-混合层,把它插入在之前的卷积-混合层和全连接层之间,同样的5*5的局部感受野,2*2的池化层。这一次,我们拥有了99.06%的准确率。

4.使用卷积神经网络 — 两个卷积层+线性修正单元(ReLU)+正则化

上面我们使用的Sigmod激活函数,现在我们换成线性修正激活函数ReLU
f(z)=max(0,z),我们选择60个迭代期,学习速率η=0.03, ,使用L2正则化,正则化参数λ=0.1。
这一次,我们获得了99.23%的准确率,超过了S型激活函数的99.06%. ReLU的优势是max(0,z)中z取最大极限时不会饱和,不像是S函数,这有助于持续学习。

5.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集

拓展训练集数据的一个简单方法是将每个训练图像由一个像素来代替,无论是上一个像素,下一个像素,或者左右的像素。其他的方法也有改变亮度,改变分辨率,图片旋转,扭曲,位移等。
我们把50,000幅图像人为拓展到250,000幅图像。使用第4节一样的网络,因为我们是在训练5倍的数据,所以减少了过拟合的风险。这次的到了99.37的训练正确率。

6.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集+继续插入额外的全连接层

继续上面的网络,我们拓展全连接层的规模,300个隐藏神经元和1000个神经元的额精度分别是99.46%和99.43%.
我们插入一个额外的全连接层,这次取得了99.43%的精度。拓展后的网络并没有帮助太多。

7.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+拓展数据集+继续插入额外的全连接层+弃权技术

弃权的基本思想就是在训练网络时随机的移除单独的激活值,使得模型对单独的依据丢失更为强劲,因此不太依赖于训练数据的特质。我们尝试应用弃权技术到最终的全连接层(不是在卷基层)。这里,减少了迭代期的数量为40个,全连接层使用1000个隐藏神经元,因为弃权技术会丢弃一些神经元。Dropout是一种非常有效有提高泛化能力,降低过拟合的方法!使用弃权技术,的到了99.60%的准确率。

8.使用卷积神经网络 — 两个卷基层+线性修正单元(ReLU)+正则化+拓展数据集+继续插入额外的全连接层+弃权技术+组合网络

组合网络类似于随机森林或者adaboost的集成方法,创建几个神经网络,让他们投票来决定最好的分类。我们训练了5个不同的神经网络,每个都达到了99.60%的准去率,用这5个网络来进行投票表决一个图像的分类。
采用这个方法,达到了99.67%的准确率。

参考网址:http://blog.csdn.net/u010900574/article/details/51992156

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值