5--AlexNet

本文对比了神经网络与传统机器学习在计算机视觉任务中的区别,指出神经网络可以直接使用原始像素作为输入,而传统方法依赖于手工特征工程。以AlexNet为例,它是一个8层的卷积神经网络,通过引入ReLU激活函数、丢弃层和数据增强等技术,在2012年ImageNet竞赛中取得显著优势。相比于LeNet,AlexNet更深、更复杂,提高了模型的准确性和泛化能力。
摘要由CSDN通过智能技术生成

5.1 神经网络与机器学习的区别

        卷积神经网络的输入是由原始像素值或是经过简单预处理(例如居中、缩放)的像素值组成的。但在使用传统机器学习方法时,不会将原始像素作为输入,计算机视觉流水线是由经过人的手工精心设计的特征流水线组成的。对于这些传统方法,大部分的进展都来自于对特征有了更聪明的想法,并且学习到的算法往往归于事后的解释。

        与训练端到端(从像素到分类结果)系统不同,经典机器学习的流水线看起来更像下面这样:

  1. 获取一个有趣的数据集。在早期,收集这些数据集需要昂贵的传感器(在当时最先进的图像也就100万像素)。

  2. 根据光学、几何学、其他知识以及偶然的发现,手工对特征数据集进行预处理。

  3. 通过标准的特征提取算法,如SIFT(尺度不变特征变换)和SURF(加速鲁棒特征)或其他手动调整的流水线来输入数据。

  4. 将提取的特征送入最喜欢的分类器中(例如线性模型或其它核方法),以训练分类器。

5.2 AlexNet

        AlexNet使用了8层卷积神经网络,并以很大的优势赢得了2012年ImageNet图像识别挑战赛。

对比AlexNet(右)与LeNet(左):

        可以看出两者的框架相似,但明显AlexNet要比LeNet要更深、更复杂,且其将sigmoid激活函数换位了ReLu函数。AlexNet通过暂退法(丢弃法)控制全连接层的模型复杂度,而LeNet只使用了权重衰减。 为了进一步扩充数据,AlexNet在训练时增加了大量的图像增强数据,如翻转、裁切和变色。 这使得模型更健壮,更大的样本量有效地减少了过拟合。 

!pip install git+https://github.com/d2l-ai/d2l-zh@release  # installing d2l
!pip install matplotlib_inline
!pip install matplotlib==3.0.0

import torch
from torch import nn
from d2l import torch as d2l


net = nn.Sequential(
    #这里因为用于fashion_mnist数据集 该数据集图片为灰度图像 所以输入通道为1
    nn.Conv2d(1,96,kernel_size=11,stride=4,),nn.ReLU(),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nn.Conv2d(96,256,kernel_size=5,padding=2),nn.ReLU(),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nn.Conv2d(256,384,kernel_size=3,padding=1),nn.ReLU(),
    nn.Conv2d(384,384,kernel_size=3,padding=1),nn.ReLU(),
    nn.Conv2d(384,256,kernel_size=3,padding=1),nn.ReLU(),
    nn.MaxPool2d(kernel_size=3,stride=2),
    nn.Flatten(),
    nn.Linear(256*5*5,4096),nn.ReLU(),nn.Dropout(p=0.5),
    nn.Linear(4096,4096),nn.ReLU(),nn.Dropout(p=0.5),
    nn.Linear(4096,10)#fashion_mnist数据集只有十类
)

batch_size = 128
train_iter,test_iter = d2l.load_data_fashion_mnist(batch_size=batch_size,resize=224)

lr,num_epochs = 0.2,8
d2l.train_ch6(net,train_iter,test_iter,num_epochs,lr,d2l.try_gpu())

运行结果如下,可以看出该模型在fashion_mnist数据集上的表现比LeNet上测试精度更高,但相应的,计算时间更长。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值