深度学习与神经网络课程总结(二)

#本贴仅做课程作业使用,感谢课程老师愿意提供学习材料#


一、卷积神经网络基础

由于全连接网络有着以下的问题:链接权过多,算的慢,难收敛,同时可能进入局部极小值,也容易产生过拟合。对于算的慢问题,可以减少权值连接,每一个节点只连到上一层的少数神经元,即局部连接网络。对于权值过多极易产生过拟合的问题,可以信息分层处理,每一层在上层提取特征的基础上获取进行再处理,得到更高级别的特征。由此,我们得到了“深度”学习中的卷积神经网络(CNN)基础。

1.进化史

 卷积神经网络的发展,最早可以追溯到1962年,Hubel和Wiesel对猫大脑中的视觉系统的研究。Hubel和Wiesel记录了猫脑中各个神经元的电活动。他们使用幻灯机向猫展示特定的模式,并指出特定的模式刺激了大脑特定部位的活动。他们通过这些实验系统地创建了视觉皮层的地图。

1980年,日本科学家福岛邦彦在论文《Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position》提出了一个包含卷积层、池化层的神经网络结构。1998年,在这个基础上,Yann Lecun在论文《Gradient-Based Learning Applied to Document Recognition》中提出了LeNet-5,将BP算法应用到这个神经网络结构的训练上,就形成了当代卷积神经网络的雏形。

原始的CNN效果并不算好,而且训练也非常困难。直到2012年,Imagenet图像识别大赛中,Hinton组的论文《ImageNet Classification with Deep Convolutional Neural Networks》中提到的Alexnet引入了全新的深层结构和dropout方法,一下子把error rate从25%以上提升到了15%,颠覆了图像识别领域。

顺着Alexnet的思想,Lecun组2013年提出一个Dropconnect,把error rate提升到了11%。而NUS的颜水成小组则提出了Network in Network,NIN的思想是CNN原来的结构是完全可变的,然后加入了一个1*1conv层。Network in Network的思想是CNN结构可以大胆去变化,由此,Inception和VGG在2014年把网络加深到了20层左右,图像识别的error rate也大幅提升到6.7%,接近人类的5.1%。

2015年,MSRA的任少卿、何凯明、孙剑等人,尝试把identity加入到神经网络中。最简单的Identity却出人意料的有效,直接使CNN能够深化到152层、1202层等,error rate也降到了3.6%。后来,ResNeXt, Residual-Attention,DenseNet,SENet等也各有贡献,各自引入了Group convolution,Attention,Dense connection,channelwise-attention等,最终Imagenet上error rate降到了2.2%。

而在图像检测中,任少卿等人优化了先前的R-CNN, fast R-CNN方法。他们通过其他方法提出region proposal,然后用CNN去判断是否是object的方法,由此提出了faster R-CNN方法。Faster R-CNN的主要贡献是使用和图像识别相同的CNN feature,不仅可以识别图片是什么东西,还可以用来识别图片在哪个位置。

随着人们的深入研究,CNN结构越来越复杂,而CNN突飞猛进的发展,又引发其他领域很多变革。

2.基本概念

CNN的基本思想是用卷积获得图形的特征,一般是用一个3乘3的卷积矩阵,如图所示的卷积矩阵是【1 0 1;0 1 0;1 0 1】,与图像上相应的格子相乘后得到的数就是卷积输出(我们需要的图形“特征”)。

 常用的几个步骤:

选择卷积矩阵:一般选择常用的卷积矩阵,比如高斯卷积矩阵【1 2 1;2 4 2;1 2 1】等。

填充(Padding),也就是在矩阵的边界上填充一些值,以增加矩阵的大小方便与卷积矩阵进行卷积,通常用0或者复制边界像素来进行填充。

设置步长:也就是根据图像的大小和卷积矩阵的大小,决定卷积的次数。卷积过程一般是从左往右,从上到下,所得到的结果一般也是一个矩阵数据。

对于多输入通道,卷积核的通道数和输入通道数相同,在每一个通道上进行互相关运算后,把所有通道的值加起来就是输出的值。而对于多输出通道,则是各个通道分开独立进行计算,不同通道采用不同的卷积核。

在通过卷积得到图形的特征矩阵图后,还要进行池化操作(池化的思想是使用局部统计特征,如均值或最大值,解决特征过多问题)

如果使用均值,就是平均池化(average pooling):计算图像区域的平均值作为该区域池化后的值。如果使用最大值,就是最大池化(max pooling):选图像区域的最大值作为该区域池化后的值。

3.卷积神经网络的构成:

由多个卷积层和下采样层构成,后面可连接全连接网络

卷积层:𝑘个滤波器

下采样层:采用mean或max

后面:连着全连接网络

学习算法:

 

 

二、LeNet-5网络

图中各个结构如下:

INPUT:输入的32*32像素图形

C1卷积层:由6个Feature map构成 ,每个神经元对输入进行5*5卷积 ,每个神经元对应5*5+1个参数,共6个feature map,共有28*28个神经元,因此共有 (5*5+1)*6*(28*28)=122,304连接。

S2池化层:使用平均池化(pooling)操作,窗口大小为2x2,步长也为2,进行下采样,输出特征图尺寸简化至14x14。

C3卷积层:该卷积层有16个卷积核,每个卷积核大小为5x5,输出后特征图的尺寸为10x10。

S4池化层:与S2一样的平均池化和2x2的窗口,输出尺寸为5x5.

C5全连接层:有120个神经元,每个神经元同样对输入进行5*5卷积,与S4全连接,总连接数(5*5*16+1)*120=48120。

F6全连接层:有84个神经元与C5全连接 ,总连接数(120+1)*84=1016。

OUTPUT:由欧式径向基函数单元构成,每类一个单元,输出RBF单元计算输入向量和参数向量之间的欧式距离。

LeNet-5网络与现在网络的区别:卷积时不进行填充(padding) -池化层选用平均池化而非最大池化 -选用Sigmoid或tanh而非ReLU作为非线性环节激活函数 -层数较浅,参数数量小(约为6万)

三、基本卷积神经网络 

1.AlexNet网络

网络一共有8层可学习层——5层卷积层和3层全连接层

相对LeNet-5网络的改进

-池化层均采用最大池化

-选用ReLU作为非线性环节激活函数

-网络规模扩大,参数数量接近6000万

-出现“多个卷积层+一个池化层”的结构 

-采用ReLU替代 Tan Sigmoid

-用于卷积层与全连接层之后

-在每个全连接层后面使用一个 Dropout 层,以概率 p 随机关闭激活函数

-AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信

2.VGG-16网络 

 进一步的改进

-网络规模进一步增大,参数数量约为1.38亿

-由于各卷积层、池化层的超参数基本相同,整体结构呈现出规整的特点。

3.残差网络

残差网络可以解决梯度消失问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值