CNN学习笔记之AlexNet

xiaoxiao2025-04-20  17

一、简介:

2012届图像识别大赛的冠军,top-5误差仅为15.3%,主要特点如下:

参数更多:60M个;网络更大:650000个神经元;网络构成:5个卷积层(有些层后添加了池化层)+ 3个全连接层(最后一层是1000维的softmax层);使用GPU提升训练速度;使用了ReLU激活函数,改善梯度消失,提升训练速度;使用dropout减少过拟合;

二、网络结构:

以上是原文的网络结构,作者在写这篇论文的时候,GPU的处理速度还比较慢,所以AlexNet 采用了在两个 GPU 上进行训练的方法。大致原理是:这些层分别拆分到两个不同的GPU 上,同时还专门有一个方法用于两个GPU 进行交流。

这里用一张227×227×3的图片作为输入,实际上原文中使用的图像是224×224×3,其实227×227这个尺寸更好一些(我的理解是卷积后图片尺寸是整数的缘故)。

三、技术特点: 

1、使用ReLU激活函数

ReLU激活函数的优点:

程序实现时ReLU是一个 if-else 语句,而 sigmoid 函数需要进行浮点四则运算,在实践中,使用ReLU激活函数的神经网络通常会比使用 sigmoid 或者 tanh 激活函数学习的更快;sigmoid 和 tanh 函数的导数在正负饱和区的梯度都会接近于0,而ReLU函数大于 0 部分都为常数,不会产生梯度消失。

2、Local Response Normalization(局部响应归一化)

进行局部响应归一化的动机是,对于这张 13×13 的图像中的每个位置来说,我们可能并不需要太多的高激活神经元。但是后来,很多研究者发现 LRN 起不到太大作用。

3、Overlapping Pooling

使用池化层可以缩减模型的大小。作者在使用重叠窗pooling进行训练时发现更不容易出现过拟合现象。

4、Data Augmentation

使用数据增广可以对抗过拟合,有pad、水平/垂直翻转、随机裁剪、彩色转换等多种方法。

5、Dropout

使用丢弃法可以对抗过拟合。在训练时使用dropout,每次训练时的模型结构都不一样,避免过度依赖某一些神经元而导致过拟合。作者在文中提到dropout减少了过拟合,也使收敛需要的迭代次数增加一倍。

四、讨论: 

作者提到减少一个卷积层,网络的精度会下降,网络深度很重要。那么增加一层或多层会怎么样呢?作者谈到没有使用预训练模型,但是非常推荐使用预训练模型。预训练模型可以可供更好的初始化参数,加快训练。

 

参考了吴恩达老师的deeplearning.ai。 

转载请注明原文地址: https://www.6miu.com/read-5028676.html

最新回复(0)