CNN-day6-经典神经网络AlexNet

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测试时数据增强

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

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

相关推荐
Ivanqhz11 小时前
LR算法中反向最右推导(Reverse RightMost Derivation)
人工智能·算法
whltaoin11 小时前
AI 超级智能体全栈项目阶段四:学术分析 AI 项目 RAG 落地指南:基于 Spring AI 的本地与阿里云知识库实践
人工智能·spring·阿里云·向量数据库·rag
sheji341611 小时前
【开题答辩全过程】以 Web数据挖掘在电子商务中的应用研究为例,包含答辩的问题和答案
前端·人工智能·数据挖掘
진영_11 小时前
Transformer(一)---背景介绍及架构介绍
人工智能·深度学习·transformer
zzywxc78711 小时前
AI赋能千行百业:金融、医疗、教育、制造业的落地实践与未来展望
java·人工智能·python·microsoft·金融·golang·prompt
星楠_00112 小时前
logits和softmax分布
人工智能·python·深度学习
大千AI助手12 小时前
二元锦标赛:进化算法中的选择机制及其应用
人工智能·算法·优化·进化算法·二元锦标赛·选择机制·适应生存
IT_陈寒12 小时前
Python开发者必坑指南:3个看似聪明实则致命的‘优化’让我损失了50%性能
前端·人工智能·后端
落羽的落羽12 小时前
【Linux系统】快速入门一些常用的基础指令
linux·服务器·人工智能·学习·机器学习·aigc
aopstudio13 小时前
llms.txt:为大模型打造的“网站说明书”
人工智能·python·llm·开发者工具