AlexNet论文笔记

文章目录

    • 前言
      • dropout
      • filter和kernel
      • 激活函数
    • 论文笔记
      • 摘要
      • Architecture
      • 关键技术/创新
        • 1.ReLU非线性
        • 2.Training on Multiple GPUs
        • 3.局部响应标准化
        • 4.Overlapping Pooling(重叠池化)
      • Summary

前言

dropout

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。它是CNN中防止过拟合提高效果的利器。
dropout讲解
AlexNet论文笔记_第1张图片
AlexNet论文笔记_第2张图片

filter和kernel

filter和kernel之间的不同很微妙。很多时候,它们可以互换,所以这可能造成我们的混淆。一个“Kernel”更倾向于是2D的权重矩阵。而“filter”则是指多个Kernel堆叠的3D结构。如果是一个2D的filter,那么两者就是一样的。但是一个3Dfilter,在大多数深度学习的卷积中,它是包含kernel的。每个卷积核都是独一无二的,主要在于强调输入通道的不同方面。
filter和kernel讲解

激活函数

激活函数Tanh是属于饱和非线性,使用梯度下降训练Tanh这种激活函数会比非饱和非线性激活函数如ReLU要慢。函数是否是饱和函数主要看定义域和值域的范围。非饱和函数的含义是指,当自变量趋于无穷大的时候,其值也趋向无穷大。这个函数如果不是非饱和函数,那么它就是饱和函数了。例如Tanh函数的值域是[-1,1],显然不符合非饱和函数的定义,因此它就是饱和函数。而ReLU函数则是非饱和函数。
AlexNet论文笔记_第3张图片
作者不是第一个考虑更换传统的激活函数,也有人曾经使用|tanh(x)|来处理Caltech-101数据集,但是他们最主要的目的是防止过拟合。而作者主要考虑的是加快训练速度,这在大的网络训练中很重要。

论文笔记

摘要

该神经网络有6000万个参数和65万个神经元,由5个卷积层组成,其中一些卷积层后面是最大池化层,以及3个全连接层,最终是对1000类的softmax(数据集 ImageNet LSVRC-2010中的1000类)。
为加快训练速度:使用了非饱和神经元和高效的GPU实现卷积运算
为减少全连接层的过拟合:应用了dropout

Architecture

它包含8个学习层——5个卷积层和3个全连接层。
AlexNet论文笔记_第4张图片

关键技术/创新

1.ReLU非线性

AlexNet论文笔记_第5张图片
使用ReLU函数比tanh快很多,在梯度下降训练时间方面,这些饱和非线性(tanh)要比非饱和非线性(ReLU)慢得多.

2.Training on Multiple GPUs

论文将网络分散在两个gpu上。当前的gpu特别适合跨gpu并行化,因为它们能够直接从另一个内存读取和写入,而不需要经过主机内存。使用的并行方案本质上是将一半的内核(或神经元)放在每个GPU上,还有一个额外的技巧:GPU只在特定层进行通信。这意味着,例如,第3层的内核从第2层的所有内核映射中获取输入,第4层的核只从第3层的核映射中获取输入。选择连接模式对于交叉验证来说是一个问题,但这允许我们精确地调整通信量,直到它占计算量的可接受部分。

3.局部响应标准化

ReLUs不需要标准化的输入来防止其饱和(前面说过了,不饱和的函数在梯度下降求解时速度更快)。只要有一些训练例子对ReLU产生了正值的输入,学习就会在那个神经元中发生。作者发现,遵从局部响应的标准化有助于泛化能力。作者提出了一种标准化方法,效果很好。
(but,emmm局部响应标准化也在后来被证明没啥效果(看VGG的论文))

4.Overlapping Pooling(重叠池化)

AlexNet中提出和使用
相对于传统的no-overlapping pooling,采用Overlapping Pooling不仅可以提升预测精度,同时一定程度上可以减缓过拟合。相比于正常池化(步长s=2,窗口z=2) 重叠池化(步长s=2,窗口z=3) 可以减少top-1, top-5分别为0.4% 和0.3%;重叠池化可以避免过拟合。(重叠的意思就是步长小于kernel的长)

Summary

作者使用了ReLU方法加快训练速度,并且使用Dropout来防止过拟合,通过多GPU的训练降低训练时间,尽管这些都不是作者自己提出的技巧,而且局部响应标准化也在后来被证明没啥效果。但是,作者的工作引起来大家的广泛关注,使得很多人开始利用GPU来训练大型的CNN网络,也算是非常有影响的工作了。

你可能感兴趣的:(计设,深度学习,神经网络)