《深度学习轻松学》

第七章 网络结构

7.1 关于网络结构,我们更关心什么

模型结构的关注点有以下几个:

  • 模型的总深度:代表了模型潜在的学习能力和模型的复杂度。
  • 模型的参数总量:同样代表了模型的学习能力和复杂的复杂度。
  • 模型前向计算所需的内存量:模型的大小

7.2 网络结构的演化

7.2.1 VGG哲学

AlexNet:采用类7*7的卷积核

VGGNet:用3个3×3个卷积核代替了7×7的卷积核,效果差不多,但是参数量降低了。同时增加了非线性层,过去一个卷积层加一个非线性,现在替换成了三个卷积核加三个非线性。另外,在VGG中,卷积层的操作不会改变输入数据的维度,通常会通过padding来维持输出的大小。而只通过pooling层来改变输出的大小。

提问: 卷积的时候为什么要进行padding?

回答:对于一些通过卷积减小维度的模型来说,对于不同的输入尺度,卷积后的输出维度各不一样,所以模型不容易适配更多的场景,而如果只用pooling层改变场长宽维度,整体模型的维度计算就方便了许多。

7.2.2 GooLeNet:丰富模型层的内部结构

NIN网络和Inception Module这类结构非常看中模型在局部区域的拟合能力。它们认为:一张图像通常具有总体特征和细节特征这两类特征,一般小卷积核能够更好的捕捉一些细节特征,随着深层网络的小卷积不断计算下去,总体特征也会慢慢的被提炼出来,但是这样存在一个问题,那就是在如果只采用小卷积,那么网络结构的前段一般只有细节特征,后段才慢慢有一些总体特征,而我们希望这两方面的特征总是能够一起发挥作用,因此,上面的两种模型考虑采用更多不同尺寸的卷积核来提取特征,并把这些特征连接起来,一起送到后面的网络中去计算,使得网络可以获取到更多的特征信息。