深度学习核心网络架构详解:从 CNN 到 LSTM

article/2025/8/22 14:25:15

深度学习领域中,不同的网络架构适用于处理各种复杂的任务。本文将深入探讨几种必须掌握的核心网络架构,包括卷积神经网络 (CNN)、循环神经网络 (RNN) 及其变体长短时记忆网络 (LSTM) 和门控循环单元 (GRU),并结合具体案例和代码实现进行详细讲解。

一、卷积神经网络 (CNN)

1. 基本原理

卷积神经网络 (Convolutional Neural Network, CNN) 是专为处理具有网格结构数据(如图像)而设计的深度学习模型。其核心思想是通过卷积操作自动提取数据的局部特征,减少参数数量,提高训练效率。

CNN 的主要组件包括:

  • 卷积层 (Convolutional Layer):使用卷积核提取特征
  • 激活函数 (Activation Function):引入非线性特性
  • 池化层 (Pooling Layer):降低特征维度
  • 全连接层 (Fully Connected Layer):进行分类或回归

2. 案例:MNIST 手写数字识别

下面是一个使用 PyTorch 实现的 CNN 模型,用于识别 MNIST 数据集中的手写数字:

python

运行

import torch
import torch.nn as nn
import torch.optim as optim
from torchvision import datasets, transforms
from torch.utils.data import DataLoader# 定义数据预处理
transform = transforms.Compose([transforms.ToTensor(),transforms.Normalize((0.1307,), (0.3081,))  # MNIST数据集的均值和标准差
])# 加载训练集和测试集
train_dataset = datasets.MNIST('data', train=True, download=True, transform=transform)
test_dataset = datasets.MNIST('data', train=False, transform=transform)train_loader = DataLoader(train_dataset, batch_size=64, shuffle=True)
test_loader = DataLoader(test_dataset, batch_size=1000)# 定义CNN模型
class CNN(nn.Module):def __init__(self):super(CNN, self).__init__()self.conv1 = nn.Conv2d(1, 10, kernel_size=5)  # 输入通道1,输出通道10self.conv2 = nn.Conv2d(10, 20, kernel_size=5)  # 输入通道10,输出通道20self.conv2_drop = nn.Dropout2d()  # Dropout层,防止过拟合self.fc1 = nn.Linear(320, 50)  # 全连接层self.fc2 = nn.Linear(50, 10)  # 输出层,10个类别def forward(self, x):x = nn.functional.relu(nn.functional.max_pool2d(self.conv1(x), 2))x = nn.functional.relu(nn.functional.max_pool2d(self.conv2_drop(self.conv2(x)), 2))x = x.view(-1, 320)  # 展平为一维向量x = nn.functional.relu(self.fc1(x))x = nn.functional.dropout(x, training=self.training)x = self.fc2(x)return nn.functional.log_softmax(x, dim=1)# 初始化模型、损失函数和优化器
model = CNN()
criterion = nn.NLLLoss()
optimizer = optim.Adam(model.parameters(), lr=0.001)# 训练模型
def train(model, train_loader, optimizer, epoch):model.train()for batch_idx, (data, target) in enumerate(train_loader):optimizer.zero_grad()output = model(data)loss = criterion(output, target)loss.backward()optimizer.step()if batch_idx % 100 == 0:print(f'Train Epoch: {epoch} [{batch_idx * len(data)}/{len(train_loader.dataset)} 'f'({100. * batch_idx / len(train_loader):.0f}%)]\tLoss: {loss.item():.6f}')# 测试模型
def test(model, test_loader):model.eval()test_loss = 0correct = 0with torch.no_grad():for data, target in test_loader:output = model(data)test_loss += criterion(output, target).item()pred = output.argmax(dim=1, keepdim=True)correct += pred.eq(target.view_as(pred)).sum().item()test_loss /= len(test_loader.dataset)print(f'\nTest set: Average loss: {test_loss:.4f}, Accuracy: {correct}/{len(test_loader.dataset)} 'f'({100. * correct / len(test_loader.dataset):.2f}%)\n')# 训练模型
for epoch in range(1, 5):train(model, train_loader, optimizer, epoch)test(model, test_loader)

3. 模型解析

这个 CNN 模型的结构如下:

  • 第一个卷积层:接收 1 通道的 28×28 图像ÿ

http://www.hkcw.cn/article/LmFvImFBxD.shtml

相关文章

美国上诉法院暂时恢复实施特朗普政府关税政策

当地时间5月29日,美国联邦巡回上诉法院批准特朗普政府的请求,暂时搁置美国国际贸易法院此前做出的禁止执行特朗普政府依据《国际紧急经济权力法》对多国加征关税措施的行政令的裁决。联邦巡回上诉法院在裁决书中说,美国政府的请求已获批准,在本法院审议相关动议文件期间,美…

全球最大医院原院长涉嫌严重违纪违法 医疗界震动

全球最大医院原院长涉嫌严重违纪违法!今日,河南省纪委监委发布消息,河南省政协人口资源环境委员会主任阚全程因涉嫌严重违纪违法,正接受纪律审查和监察调查。此消息在医疗领域引发广泛关注。阚全程曾长期执掌“亚洲最大医院”郑大一附院,使得该事件备受瞩目。阚全程1963年…

“亚洲最大医院”原院长被查 医疗反腐再掀波澜

“亚洲最大医院”原院长被查 医疗反腐再掀波澜!河南省纪委监委今日发布消息,河南省政协人口资源环境委员会主任阚全程因涉嫌严重违纪违法,正接受纪律审查和监察调查。这一消息在医疗领域引起广泛关注。阚全程曾长期担任“亚洲最大医院”郑大一附院的院长,使得该事件更加引人…

设计模式:观察者模式 - 实战

一、观察者模式场景 1.1 什么是观察者模式? 观察者模式(Observer Pattern)观察者模式是一种行为型设计模式,用于定义一种一对多的依赖关系,当对象的状态发生变化时,所有依赖于它的对象都会自动收到通知并更…

首发!PPIO派欧云上线DeepSeek-R1-0528

今天凌晨,“小版本试升级”的 DeepSeek-R1-0528 在 Hugging Face 正式开源。 经 PPIO派欧云工程师测试,这个所谓的“小版本”更新在代码领域大幅增强,凭借简单朴素的提示词就能生成小游戏、图片、精美的网页,生成效果可媲美 Claud…

国务院任免21名干部 涉及多个重要职位调整

国务院任免21名干部 涉及多个重要职位调整!据人社部网站5月29日消息,国务院任免了21名国家工作人员。郭彩云(女)被任命为审计署副审计长,王军为海关总署副署长,蔡自力为国家税务总局副局长,邹晓东为国务院参事室主任,赵世通为国务院台湾事务办公室副主任,李长喜为国家…

【STM32开发板】电源设计(电压基准、滤波电容)

一、基准电压源 基准电压源是一种能提供稳定、精确、不随温度、负载、电源电压变化而波动的电压源。它广泛应用于电子电路中,尤其是在需要高精度和稳定性的场合,如模数转换(ADC)、 数模转换(DAC)、稳压电路…

男大学生正在批量减少:教育竞争中的性别差异显现

男大学生正在批量减少:教育竞争中的性别差异显现!毕业季即将来临,校园里随处可见穿着学位服的毕业生在草坪上拍照。她们对着镜头比出剪刀手,或是抱着鲜花和室友笑成一团。图书馆前台阶上,三五成群的学生捧着论文材料匆匆走过,教室里答辩结束的学生红着眼眶与导师拥抱。仔…

K8S StatefulSet 快速开始

其实这篇文章的梗概已经写了很久了,中间我小孩出生了,从此人间多了一份牵挂。抽出一些时间去办理新生儿相关手续。初为人父确实艰辛,就像学技术一样,都需要有极大的耐心,付出很多的时间。 一、引子 1.1、独立的存储 …

【笔记】suna部署之获取 Daytona API key 及 Daytona Sandbox 设置

#工作记录 Daytona 注册 Daytona 账户 访问Daytona 官方网站。点击注册按钮,按照提示填写相关信息完成注册。 获取 Daytona API 密钥 登录 Daytona 账户。进入账户设置页面,查找生成 API 密钥的选项,生成并复制 API 密钥,用于 S…

昇腾首发支持,阶跃星辰 “改图大师” Step1X-Edit开源并上线魔乐社区

4月27日,阶跃星辰正式发布并开源图像编辑大模型 Step1X-Edit ,性能达到开源 SOTA 。该模型总参数量为19B (7B MLLM 12B DiT),具备语义精准解析、身份一致性保持、高精度区域级控制三项关键能力;支持11类高频图像编辑任务类型&…

int和Integer的区别

Java是面向对象的语言,一切操作都以对象为基础,像集合里面也只支持存储Object类型数据,普通类型无法通过集合存储, 在Java中,int和Integer是两种不同的类型,它们有以下主要区别: 一、类型分类…

Oracle/openGauss中,DATE/TIMESTAMP与数字日期/字符日期比较

ORACLE 运行环境 openGauss 运行环境 0、前置知识 ORACLE:DUMP()函数用于返回指定表达式的数据类型、字节长度及内部存储表示的详细信息 SELECT DUMP(123) FROM DUAL; -- Typ2 Len3: 194,2,24 SELECT DUMP(123) FROM DUAL;-- Typ96 Len3: 49,50,51 -- ASCII值&am…

应用于公路路面破损状况检测的视觉系统

随着公路交通的日益发展,公路交通也是经济命脉,路面病害检测直接关系到交通安全,公路路面检测是养护管理的核心环节,及时识别裂缝、坑槽、车辙等病害,避免因路面损坏引发交通事故。 公路路面基病害检测系统是基于数字图…

ZeroSearch: 无需搜索即可激发LLM的搜索能力

论文地址:https://arxiv.org/abs/2505.04588v2 摘要 有效的的信息搜索对于增强大型语言模型 (LLM) 的推理和生成能力至关重要。 最近的研究探索了使用强化学习 (RL) 通过与现实世界环境中的实时搜索引擎交互来提高 LLM 的搜索能力。 虽然这些方法显示出可喜的结果&…

Linux实操篇-进程管理

目录 传送门前言一、进程管理概念二、进程管理实战1. **查看进程**ps 命令top 命令htop 命令 2. **进程的启动和终止**启动进程停止进程使用 pkill 或 killall 3. **进程优先级管理**nice 和 renice 命令top 中调整进程优先级 4. **进程的查看与控制**pgrep 命令pstree 命令str…

DAY 14 SHAP库的绘制

上面这个图就是一个比较直观的解释。机器学习模型一般都是一个黑盒。比如某个模型要进行一些预测任务,首先对模型输入一些已知条件(Age65,SexF,BP180,BMI40),然后模型根据输入进行训练,最终训练完的模型可以对该条件输…

如何避免客户频繁更换对接人

避免客户频繁更换对接人的关键措施包括建立稳定的客户关系、提高客户对接人的专业素养、建立高效的沟通机制、增强客户满意度等。其中,建立稳定的客户关系是避免客户频繁更换对接人的核心,只有当客户信任你的对接人并认可其专业性,才会持续稳…

5.29打卡

浙大疏锦行 DAY 38 Dataset和Dataloader类 知识点回顾: 1. Dataset类的__getitem__和__len__方法(本质是python的特殊方法) 2. Dataloader类 3. minist手写数据集的了解 作业:了解下cifar数据集,尝试获取其中一张图…

【芯片设计中的交通网络革命:Crossbar与NoC架构的博弈C架构的博弈】

在芯片设计领域,总线架构如同城市交通网,决定了数据流的通行效率。随着AI芯片、车载芯片等复杂场景的爆发式增长,传统总线架构正面临前所未有的挑战。本文将深入解析两大主流互连架构——Crossbar与NoC的优劣,揭示芯片"交通网…