AlexNet与TensorFlow实现

本文详细介绍了AlexNet在2012年ILSVRC2012比赛中的突出表现,以及它引入的新技术,如ReLU激活函数、Dropout、最大池化和局部响应归一化。此外,文章还概述了AlexNet的网络结构,以及在TensorFlow中实现该网络的过程,包括8个训练层的配置和超参数设置。
摘要由CSDN通过智能技术生成

一.简介:
2012年,AlexNet以显著的优势赢得了竞争激烈的ILSVRC2012比赛,其官方提供的数据模型,准确率达到57.1%,top 1-5达到80.2%。AlexNet的出现点燃了深度学习的热潮,可以说是神经网络低谷期后的第一次发声,确立了深度学习在计算机视觉领域的统治地位。

二.AlexNet使用的新技术:
1.使用ReLU作为CNN的激活函数,解决了sigmoid在训练较深的网络中出现梯度弥散的问题;
2.训练时使用Dropout随机忽略一些神经元,以避免模型过拟合(主要是最后几个全连接层使用);
3.使用最大池化层,在以前的CNN中普遍使用平均池化层,Max Pooling避免了平均池化层的模糊化效果,并且步长比池化的核的尺寸小,这样池化层的输出之间有重叠,提升了特征的丰富性;
4.提出局部响应归一化(LRN),对局部神经元创建了竞争的机制,使得其中响应较大的值变得更大,并抑制反馈较小的神经元,增强了模型的泛化能力;
5.使用了gpu加速神经网络的训练;
6.使用数据增强的方法缓解过拟合现象,提升泛化能力。

AlexNet使用两块GTX580显卡进行训练,两块显卡只需要在特定的层进行通信,当今的深度学习已经基本都是在显卡上完成的。两块GPU各训练网络的一部分,在第二个卷积层和全连接层才需要互相通信,如图1,AlexNet网络结构图所示。
这里写图片描述
图1 AlexNet网络结构图

三.实现过程
整个网络有8个需要训练的层,前5个为卷积层,最后3层为全连接层。

图2 AlexNet每层的超参数及参数数量
第一个卷积层:
1.输入的图像规格:224*224*3(RGB图像),实际上会经过预处理变为227*227*3;
2.第一个卷积层为:11*11*96,即尺寸为11*11,有96个卷积核,步长为4,卷积层后跟ReLU,输出的尺寸为(227-11)/4+1=55,因此输出的每个feature map为55*55*96,同时后面跟LRN层,尺寸不变;
3.最大池化层,核大小为3*3,步长为2,输出的尺寸为(55-3)/2+1=27,因此feature map的大小为:27*27*96。
第二层卷积层:
1.输入的tensor为27*27*96,卷积层的大小为: 5*5*256,步长为1,输出的尺寸为(27-5+2*2)/1+1=27,尺寸不改变,同样紧跟ReLU和LRN层;
2.最大池化层,同样核大小为3*3,步长为2,输出的尺寸为(27-3)/2+1=13,因此feature map为:13*13*256。
第三层至第五层卷积层:
1.输入的tensor为13*13*256;
2.第三层卷积为3*3*384,步长为1,输出的尺寸为(13-3+2*1)/1+1=13,因此feature map为:13*13*384,后跟ReLU;
3.第四层卷积为3*3*384,步长为1,(13-3+2*1)/1+1=13,因此feature map为:13*13*384,后跟ReLU;
4.第五层卷积为3*3*256,步长为1,输出的尺寸为(13-3+2*1)/1+1=13,因此feature map为:13*13*256,后跟ReLU;
5.第五层后跟最大池化层,核大小为3*3,步长为2,输出的尺寸为(13-3)/2+1=6,因此feature map:6*6*256。
第六层至第八层全连接层:
接下来的三层为全连接层,分别为:
1. FC : 4096 + ReLU
2. FC:4096 + ReLU
3. FC: 1000
最后一层为softmax为1000类的概率值。

四.TensorFlow实现

#coding=utf-8
from datetime import datetime
import math
import time
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值