深度学习模型演进:6个里程碑式CNN架构

目录1. LeNet(90/98)诞生于1990年,在手写体字符识别领域创造性的引入了卷积神经网络的基本操作,意义重大,可以说是现代卷积神经网络的发展起点。1.1思路引入卷积层+池化层等结构1.2 网络结构输入图像分辨率:28x28结构:(1)卷积层1:5x5 --->输出4个24×24大小的特征图;(2)池化层1:平均池化层 2x2;(3)卷积层2:5x5 --->输出12个8x8大小的特征图;(4)池化层2:2x2(5)全连接层 ---->输出1.3 LeNet-5诞生于1998年,在LeNet初期版本上迭代进化而来。卷积核大小为5x5。输入是32X32像素的图像,利用CNN提取特征并进行分类,输出0~9个类别。层数:7层(不含输入),包括3层卷积层,2层池化层,2层全连接层输入图片大小:32x32代码:# # 创建Reshape层

class Reshape(torch.nn.Module):

def forward(self, x):

return x.view(-1, 1, 28, 28) # 批量数不变,通道数变为1,尺寸为28*28

方法2:nn.Sequential

LeNet = nn.Sequential(

Reshape(),

nn.Conv2d(1, 6, kernel_size=5, padding=2), nn.Sigmoid(),

nn.AvgPool2d(kernel_size=2, stride=2),

nn.Conv2d(6, 16, kernel_size=5), nn.Sigmoid(),

nn.AvgPool2d(kernel_size=2, stride=2),

nn.Flatten(),

nn.Linear(16 * 5 * 5, 120), nn.Sigmoid(),

nn.Linear(120, 84), nn.Sigmoid(),

nn.Linear(84, 10)

)

用于测试方法2每一层输出格式的代码

X = torch.rand(size=(1, 1, 28, 28), dtype=torch.float32)

for layer in LeNet:

X = layer(X)

print(layer.class .name, 'output shape: \t', X.shape)2. AlexNet (63.3% - 2012) 论文:ImageNet Classification with Deep Convolutional Neural Networks效果:ImageNet top-1 accuracy 63.3%AlexNet是第一个深度学习架构,它是由深度学习先锋之一------Geoffrey Hinton和他的同事们共同研究并引入的。AlexNet是一个看似简单但功能非常强大的网络架构,它为现在深度学习的突破性研究铺平了道路。下图是AlexNet架构:从分解图中我们可以看出,AlexNet其实就是一个简单的架构,其中的卷积层和聚积层相互叠加,最顶部的是全连接层。早在二十世纪八十年代,AlexNet模型就已经被概念化描述了。AlexNet区别于其他模型的关键在于它的任务规模,以及它用于训练的GPU规模。在八十年代,用于训练神经网络的是CPU。而AlexNet率先使用GPU,将训练的速度提高了十倍左右。虽然AlexNet现在有些过时了,但它仍然是运用神经网络完成各种任务的起点。不管是完成计算机视觉任务,还是语音识别任务,都仍然需要AlexNet。代码:class AlexNet(nn.Module):

def init(self, num_classes: int = 1000) -> None:

super(AlexNet, self).init()

self.features = nn.Sequential(

nn.Conv2d(3, 64, kernel_size=11, stride=4, padding=2),

nn.ReLU(inplace=True),

nn.MaxPool2d(kernel_size=3, stride=2),

nn.Conv2d(64, 192, kernel_size=5, padding=2),

nn.ReLU(inplace=True),

nn.MaxPool2d(kernel_size=3, stride=2),

nn.Conv2d(192, 384, kernel_size=3, padding=1),

nn.ReLU(inplace=True),

nn.Conv2d(384, 256, kernel_size=3, padding=1),

nn.ReLU(inplace=True),

nn.Conv2d(256, 256, kernel_size=3, padding=1),

nn.ReLU(inplace=True),

nn.MaxPool2d(kernel_size=3, stride=2),

)

self.avgpool = nn.AdaptiveAvgPool2d((6, 6))

self.classifier = nn.Sequential(

nn.Dropout(),

nn.Linear(256 * 6 * 6, 4096),

nn.ReLU(inplace=True),

nn.Dropout(),

nn.Linear(4096, 4096),

nn.ReLU(inplace=True),

nn.Linear(4096, num_classes),

之前有个学员和你一样纠结要不要系统学AI。后来跟着课程学完,现在已经拿到了AI相关岗位的offer。

想获取学习路线图?扫码加企业微信,备注"领资料",我发给你。


大家好,我是资深AI讲师与学习规划师。专注计算机视觉教学与算法研发,过去三年我帮超过2500名有Python 基础的入门者,从"像素是什么"到"独立跑通CV项目"。今天这篇长文,完全按零基础实战体系撰写,从图像本质到经典算法、再到OpenCV工具链和完整项目,一条龙给你讲透可直接复现的CV专业指南。

适合人群:大学生、转行者、开发者,只要会Python基础,就能跟上。读完你就能掌握图像处理4大经典算法,并拥有一个可直接写进简历的实战项目,

为方便大家学习 这里给大家整理了一份系统学习资料包 需要的同学 根据下图指示自取就可以

相关推荐
Elastic 中国社区官方博客5 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
wjkjpcba5 小时前
机器人控制板PCBA怎么加工?从SMT贴片到BGA焊接解析机器人电子制造工艺
大数据·人工智能
青 春 记 忆5 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
小猪妈咪爱学法5 小时前
欧盟最新发布《AI数字综合法案(Digital Omnibus‑on‑AI,AI综合修订法案)
人工智能·网络安全
ZGIAI5 小时前
ZGI Workflow 变量池:接住节点输出
人工智能·架构
梵构广告5 小时前
提升品牌识别度有哪些方法?
人工智能
ZGIAI6 小时前
ZGI 记忆隔离:多人共用不串号
人工智能·架构
星栈独行6 小时前
决定 Agent 交付下限的「操作系统」:Harness 六层架构拆解
人工智能·架构
AKAMAI7 小时前
实时可观测性:Akamai Cloud Pulse 警报功能正式发布
人工智能·云计算
Capricorn19887 小时前
解决全网抄 Karpathy 导致的 LLM Wiki 污染?基于知芽 Notebook Skill 的 raw/ 笔记法排障指南
大数据·论文阅读·人工智能·笔记·论文笔记