CNN-day6-经典神经网络AlexNet

server/2025/2/11 18:40:32/

day7-经典神经网络AlexNet

ImageNet大规模视觉挑战赛(ILSVRC)被称为深度学习在图像分类任务研究方面进展的标杆。

AlexNet网络参加了ILSVRC2012年大赛获得冠军(超过第二名10%的性能),掀起了一波深度学习的浪潮,一个具有里程碑意义的网络

1 模型结构

5个卷积层3个全连接层(池化和Normal不作为层看待)

2 网络创新

多GPU训练,ReLU激活函数,LRN归一化,Dropout,重叠池化,数据增强等。

2.1首发GPU训练网络

AlexNet使用了两块GTX 580 GPU进行训练,单个GTX 580只有3GB显存,这限制了可训练的网络的最大规模。因此作者将AlexNet分布在两个GPU上,在每个GPU的显存中储存一半的神经元的参数。

除了将模型的神经元进行了并行,还使得通信被限制在了某些网络层。第三层卷积要使用第二层所有的特征图,但是第四层却只需要同一块GPU中的第三层的特征图。

2.2使用ReLU激活函数

全称为:Rectified Linear Unit,是一种人工神经网络中常用的激活函数,通常意义下,其指代数学中的斜坡函数

2.3使用LRN局部响应归一化

LRN目的在于卷积(即 Relu 激活函数出来之后的)值进行局部的归一化。

归一化(normalization)的目的就是“抑制”,借鉴“侧抑制”的思想来实现局部抑制,当我们使用Relu激活函数的时候,这种局部抑制显得很有效果。

LRN的主要思想是在神经元输出的局部范围内进行归一化操作,使得激活值较大的神经元对后续神经元的影响降低,从而减少梯度消失和梯度爆炸的问题。具体来说,对于每个神经元,LRN会将其输出按照局部范围进行加权平均,然后将加权平均值除以一个尺度因子(通常为2),最后将结果取平方根并减去均值,得到归一化后的输出。

作用于ReLU层之后,抑制反馈较小的神经元,放大反馈较大的 神经元,增强模型泛化能力。

后续提出了更加有说服能力的批量归一化(Batch Normalization)的概念,所以现在归一化几乎都用batchNorm的方法实现归一化。

2.4全连接层加入Dropout

正则化方法,提高模型泛化能力。(随机丢弃)

2.5数据增强

增强方法作用
裁剪、翻转保证模型能够正常收敛
PCA颜色扰动top1分类精度提升1%以上

2.6重叠池化

相邻池化区域的窗口有重叠,可提高模型泛化能力。

2.7测试时数据增强

将原始图片进行水平翻转、垂直翻转、对角线翻转、旋转角度等数据增强操作,得到多张图,分别进行推理,再融合得到最终输出结果。

提取图片四个角加中间五个位置并进行左右翻转得到十幅图片, 各自推理求取平均值。


http://www.ppmy.cn/server/166828.html

相关文章

微信小程序案例3——仿香哈菜谱微信小程序

文章目录 项目步骤第一部分 导航栏设计第一步:第三步:第四步第五步:第二部分:第1步:轮播图第2步 :宫格导航第3步:香哈头条初始化数据第4步:香哈头条列表渲染及绑定数据效果讲解1 swiper轮播图2 WXML 模板3 WXML引用import引用include引用4 WXML 列表渲染wx:for列表渲染…

2025年最新版武书连SCD期刊(中国科学引文数据库)来源期刊已更新,可下载PDF版!需要的作者进来了解~

2025年最新版武书连SCD期刊(中国科学引文数据库)来源期刊已更新! 官网是不提供免费查询的。小编给大家两个路径,无需下载PDF,随时随地都能查25版SCD目录。 路径一:中州期刊联盟官网,25版SCD目…

ART光学跟踪系统在汽车制造与设计审核中的实际应用

虚拟现实技术的融入正在快速推动汽车制造与设计审核领域实现前所未有的变革。其中,ART光学跟踪系统以其高精度和高效性,在这一领域展现出了巨大的应用价值。本文将深入探讨ART光学跟踪系统在汽车制造与设计审核中的实际应用,揭示其如何助力汽…

Git 与持续集成 / 持续部署(CI/CD)的集成

一、引言 在当今快速发展的软件开发领域,高效的代码管理和持续的交付流程是项目成功的关键因素。Git 作为一款分布式版本控制系统,已经成为了开发者们管理代码的标配工具;而持续集成 / 持续部署(CI/CD)则是一种能够加…

Unity3D仿星露谷物语开发28之切换场景

1、目标 Player可以在Scene1_Farm和Scene2_Field之间自动切换。通过Trigger实现该功能。同时创建一个预设体绑定该功能,这样可以把预设体放到任何场景中,通过配置即可实现Player在Scene之间的自由切换。 2、创建场景切换的工具对象 在Hierarchy中&…

verilog练习:i2c slave 模块设计

文章目录 前言1.结构2.代码2.1 iic_slave.v2.2 sync.v2.3 wr_fsm.v2.3.1 状态机状态解释 2.4 ram.v 3. 波形展示4. 建议5. 资料总结 前言 首先就不啰嗦iic协议了,网上有不少资料都是叙述此协议的。 下面将是我本次设计的一些局部设计汇总,如果对读者有…

Spark 源码 | 脚本分析总结

前言 最初是想学习一下Spark提交流程的源码,比如 Spark On Yarn 、Standalone。之前只是通过网上总结的文章大概了解整体的提交流程,但是每个文章描述的又不太一样,弄不清楚到底哪个说的准确,比如Client 和 CLuster 模式的区别&a…

算法设计-二分查找(C++)

一、简述 二分查找是一种在有序数组中查找特定元素的高效算法&#xff0c;其时间复杂度为 O(log n)。 二、详细代码 #include<iostream> #include<cmath> using namespace std;int BinarySearch(int arr[], int x, int size ) {int l 0;int r size-1;int m 0…