ImageNet classification with deep convolutional neural networks

本文介绍了AlexNet深度卷积神经网络在ImageNet图像分类中的应用,包括网络结构、ReLU激活函数、多GPU训练、局部响应归一化、重叠池化和数据增强等创新点,详细阐述了这些技术如何提升模型性能和防止过拟合。
摘要由CSDN通过智能技术生成

使用深度卷积神经网络进行ImageNet图像分类

目录

1.引言

2.网络结构

2.1 小细节

 2.2 代码部分

3. 创新点

3.1 非线性激活函数ReLU(提速)

3.2 多GPU训练(提速)

3.3局部响应归一化(增强泛化能力,已不再使用)

3.4重叠池化(轻微防止过拟合/提高准确率,不再使用)

3.5 数据增强(防止过拟合)

3.6 dropout

4.参考


1.引言

    2012年被认为是深度学习复兴之始,当时来自多伦多大学的Hinton(深度学习三巨头之一)和他的学生Alex Krizhevsky提出了一个名叫“AlexNet”的神经网络结构,该结构在当年的ImageNet LSVRC-2012竞赛一举夺冠,并以此开启了深度学习的热潮。

2.网络结构

网络包含8个层:前5层为卷积层,后3层为全连接层,最后一个全连接层的输出被送到一个1000路的softmax分类器。

2.1 小细节

  • 原论文中,AlexNet的输入图像尺寸是224x224x3,但是实际图像尺寸为227x227x3。
  • 因为计算量太大,使用了两台GPU进行训练,并只在确定的层之间交互(注意看卷积核映射虚线:第2、第4和第5个卷积层的内核,仅连接到位于同一GPU上的前一层中的内核映射,第三个卷积层的内核连接到第二层的所有内核映射。)

 (最好跟着流程算一遍)

 2.2 代码部分

#01:定义网络结构:在__init__构造函数中申明各个层的定义,在forward中实现层之间的连接关系
class AlexNet(nn.Module):
    def __init__(self,num_classes):
        super().__init__()
        self.conv1=nn.Sequential(
            nn.Conv2d(in_channels=3, out_channels=96, kernel_size=11, stride=4, padding=0),
            nn.BatchNorm2d(96), #BN加在激活函数前面或后面
            nn.ReLU(inplace=True), #inplace=True将上层网络传递下来的tensor直接进行修改,来节省运算内寸
            nn.MaxPool2d(kernel_size=3, stride=2)
        )
        self.conv2=nn.Sequential(
            nn.Conv2d(in_channels=96, out_channels=256, kernel_size=5, stride=1,padding=2), nn.BatchNorm2d(256),
            nn.BatchNorm2d(256)
            nn.ReLU(inplace=True),
            nn.MaxPool2d(3,2)
        )
        self.conv3=nn.Sequential(
            nn.Conv2d(in_channels=256,out_channels=384,kernel_size=3,stride=1,padding=1),
            nn.BatchNorm2d(384),
            nn.ReLU(inplace=True)
        )
        self.conv4=nn.Sequential(
            nn.Conv2d(in_channels=384,out_channels=384,kernel_size=3,stride=1,padding=1),
            nn.BatchNorm2d(384),
            nn.ReLU(inplace=True)
        )
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值