一、三种经典网络
1.LeNet-5
2.AlexNet
LeNet-5和AlexNet对比:
(1)LeNet-5大约有6万个参数,AlexNet包含约6000万个参数,因此AlexNet更大一些。
当用于训练图像和数据集时,AlexNet能够处理非常相似的基本构造模块,这些模块往往包含大量的隐藏单元或数据,AlexNet较LeNet-5更为出色。
(2)LeNet-5采用sigmoid激活函数,而AlexNet使用了ReLu激活函数,因此AlexNe更出色一些。
3.VGG-16![](https://i-blog.csdnimg.cn/direct/a272aa7d28af4080a7d73598eb4d5e3b.png)
(1)优点
VGG-16没有很多超参数,一种只需要专注于构建卷积层的神经网络,16指在这个网络包含16个卷积层和全连接层,总包含1.38亿个参数,VGG-16结构并不复杂,网络结构很规整,都是很多卷积层后面跟着可以压缩图像大小的池化层。卷积层的过滤器数量变化存在一定的规律,每次逐步翻倍,64→128→256→512 。
(2)缺点
需要训练的特征数量非常巨大。
二、残差网络
1.问题背景
使用深层网络最大的好处就是它能够完成很复杂的功能,它能够从边缘(浅层)到非常复杂的特征(深层)中不同的抽象层次的特征中学习。但是非常深的网络是很难训练的,因为存在梯度消失和梯度爆炸问题。梯度消失是指在梯度下降的过程中,当你从最后一层回到第一层的时候,你在每个步骤上乘以权重矩阵,因此梯度值可以迅速的指数式地减少到0(在极少数的情况下会迅速增长,造成梯度爆炸)。
2.跳跃连接(skip connetion)
从某一网络层获取激活值,然后迅速反馈给另一层,甚至是神经网络的更深层。
捷径shortcut是在线性激活之后,ReLu非线性激活函数之前加的。
3.残差块(Residual block)
(1)残差网络的恒等块(Identity block)
恒等块是残差网络使用的的标准块,对应于输入的激活值(比如)与输出激活值(比如
)具有相同的维度。
跳跃2个隐藏层的恒等块:
跳跃3个隐藏层的恒等块:
残差网络ResNets可以在增加层数的情况下仍然不会减少神经网络训练的效率的主要原因在于用到了恒等块,。因为残差学习恒等函数非常容易,网络性能不会受到影响,甚至可以提高效率。
(2)残差网络的卷积块
残差网络的卷积块是另一种类型的残差块,它适用于输入输出的维度不一致的情况,它不同于上面的恒等块,与之区别在于,捷径中有一个CONV2D层
4.Plain网络和残差网络ResNets
(1)普通的网络 Plain
(2)残差网络ResNets
(3)Plain网络和残差网络ResNets两者对比
对于一个普通网络来说,深度越深意味着用优化算法越难训练。实际上,随着网络深度的加深,训练错误会越来越多,但是有了ResNets就不一样了,即使网络再深,训练表现却不错。
三、1×1卷积
1. 1×1卷积的原理
1×1卷积可以理解为这32个单元都应用了全连接神经网络,不改变形状,改变了通道数量,通道数量等于1×1卷积过滤器的数量。
2. 1×1卷积的应用
利用1×1卷积,可以通过改变通道数量,减少了算法训练中产生的参数个数,从而降低了训练过程中的计算成本。
四、Inception网络
1.Inception网络作用
可以代替人工决定构建卷积层时如何确定过滤器的大小、要不要创建卷积层或池化层等问题。虽然网络结构变得负责,但网络表现非常好。
2.Inception网络原理
Inception网络不需要认为决定使用哪个过滤器,而是由网络自行确定这些参数,首先可以给网络添加这些参数的所有可能值,然后把这些输出连接起来,让网络自己学习它需要什么样的参数和采用哪些过滤器组合。
3.Inception模块
4.Inception神经网络
Inception神经网络由一个个Inception模块构成的神经网络。可以发现其实还有一些分支,这些分支类似Softmax输出层,这些分支的作用就是通过隐藏层来做出预测,确保了即使是隐藏层单元和中间层,也参与了特征计算,他们也能预测图片的分类,它在Inception神经网络起到一种调整的作用。