深度学习(图像分类)---ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构

AlexNet

VGGNet

Inception

ResNet

ResNet, AlexNet, VGG, Inception: 理解各种各样的CNN架构

炼丹界一个公认且愚蠢的认识:网络越深越复杂,数据集越庞大,效果越好。

1、全连接:集成系统就是多层感知机,即有多层神经元密集连接(全连接)而成的神经网络。一个经典的深度网络包含很多参数,由于缺乏足够的训练样本,基本不可能训练出一个不过拟合的模型。

2、CNN:神经元间的权重共享和卷积层之间的稀疏连接。

3、AlexNet:5个卷积层,3个全连接层。

        优势:1> ReLU激活函数。ReLU相比Sigmoid的优势是其训练速度更快,因为Sigmoid的导数在稳定区会非常小,从而权重基本上不再更新。这就是梯度消失问题。

                  2> Dropout。Dropout层以一定的概率随机地关闭当前层中神经元激活值,Dropout背后理念和集成模型很相似。在Drpout层,不同的神经元组合被关闭,这代表了一种不同的结构,所有这些不同的结构使用一个的子数据集并行地带权重训练,而权重总和为1。如果Dropout层有 n 个神经元,那么会形成 2^{n} 个不同的子结构。在预测时,相当于集成这些模型并取均值。这种结构化的模型正则化技术有利于避免过拟合。Dropout有效的另外一个视点是:由于神经元是随机选择的,所以可以减少神经元之间的相互依赖,从而确保提取出相互独立的重要特征。

4、VGG:  VGG16相比AlexNet的一个改进是采用连续的几个3x3的卷积核代替AlexNet中的较大卷积核(11x11,5x5)。

        优势:对于给定的感受野(与输出有关的输入图片的局部大小),采用堆积的小卷积核优于采用大的卷积核,因为多层非线性层可以增加网络深度来保证学习更复杂的模式,而且代价还比较小(参数更少)。

5、GoogLeNet/Inception:GoogLeNet设计了一种称为inception的模块,这个模块使用密集结构来近似一个稀疏的CNN。GoogLeNet基于这样的理念:在深度网路中大部分的激活值是不必要的(为0),或者由于相关性是冗余。因此,最高效的深度网路架构应该是激活值之间是稀疏连接的,只有很少一部分神经元是真正有效的,所以一种特定大小的卷积核数量设置得非常小。同时,GoogLeNet使用了不同大小的卷积核来抓取不同大小的感受野。

6、ResNet:随着网络深度增加,网络的准确度应该同步增加,当然要注意过拟合问题。但是网络深度增加的一个问题在于这些增加的层是参数更新的信号,因为梯度是从后向前传播的,增加网络深度后,比较靠前的层梯度会很小。这意味着这些层基本上学习停滞了,这就是梯度消失问题。深度网络的第二个问题在于训练,当网络更深时意味着参数空间更大,优化问题变得更难,因此简单地去增加网络深度反而出现更高的训练误差。










猜你喜欢

转载自blog.csdn.net/qq_38906523/article/details/80447640