版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
人工神经网络与深度学习基础——从理论原理到实战应用1.神经网络的基本概念2.前向传播与反向传播3.激活函数及其选择4.深度学习与传统机器学习的对比5.深度学习的应用场景6.实战:
多层感知机实现MNIST分类7.本章小结与思考练习8.答疑环节1神经网络的基本概念神经网络起源与定义Input
layerHidden
layers
Output
layer灵感来源受哺乳动物中央神经系统启发的机器学习模型核心构成人工神经元与可学习连接权重深度学习关系复杂神经网络的学习即深度学习生物神经元
提出背景
Frank
Rosenblatt
(1957年)
核心组件
输入信号(X₁
、X₂)
神经元、权重、阈值(θ)感知机结构示意图感知机的结构与原理异或问题(XOR)示例单层感知机无法找到一条直线将不同类别点分开能力边界仅处理线性可分问题(如
“与”、“或”、“非”运算)典型瓶颈无法解决“异或”
问题(非线性可分)问题本质线性模型无法拟合
非线性决策边界感知机的局限性
多层感知机结构示意图引入隐藏层
添加1个及以上隐藏层,增强模型表达能力多层感知机(MLP)的结构
核心改进
三
层
架
构
输入层接收原始数据隐藏层
信息深度加工输出层
输出结果案例:“异或”问题的解决通过隐藏层构建非线性决策边界,解决单层感知机无法处
理的非线性问题关键突破非线性激活函数+多层结构,实现复杂特征提取核心流程多层感知机的工作原理加权求和
激活函数处理
逐层传递实现“异或”的多层感知机对比维度感知机多层感知机结构单层网络多层网络(含隐藏层)学习能力线性可分问题非线性问题训练算法感知机学习规则反向传播应用场景简单分类复杂模式识别局限性无法解决XOR问题训练复杂度高核心差异隐藏层增强表
达能力∑非线性激活解
决复杂问题反向传播优化
网络参数感知机与多层感知机对比2前向传播与反向传播
定义
数据从输入层到输出层的单向计算与存储过程
依赖结构前馈神经网络(无环、层间全连接)核心步骤
输入层接收数据
隐藏层逐层计算传递前向传播的定义与流程前馈神经网络结构示意图输出层产生结果前向传播的数学表达符号定义
关键公式
L
网络层数
输入层→
隐藏层
隐藏层间
隐藏层→输出层输入数
权重
偏进行线性变激活处和据通过
矩阵
置换
,再通过函数理上一层输当前层
,重复线性变换和
出作为输入
激活函数处理最后隐藏层输最终变
得到网络预测出经
换
结果
∑
数学基础链式法则(梯度反向传递)三
反向传播定义通过损失函数梯度反向调整权重,最小化误差梯度下降类比从山顶沿最陡坡度下山
关键参数:学习率(η)反向传播的核心思想与梯度下降梯度下降过程示意图
过大:震荡不收敛
过小:收敛慢效率
低
←
反向计算误差输出层误差→
隐藏层误差(逐层传递)
反向传播的步骤反向传播示意图3213激活函数的选择关键结论无激活函数的神经网络等价于线性回归模型控制输出范围稳定训练概率区间[0,1]引入非线性突破线性模型限制
拟合复杂关系激活函数的核心作用促进梯度传播缓解梯度消失缓解梯度爆炸
Activation
FunctionsReLU函数图像
特性输出范围:[0,+∞]数学表达式ReLU(x)=max(0,X)常见激活函数——
ReLU∑
优点
计算简单
缓解梯度消失
稀疏激活
缺点
死亡Re
LU问题
非零中心化Sigmoid输出范围(0,1)优点概率表示直观常见激活函数——Sigmoid与Tanh缺点×
梯度消失
×计算复杂缺点
仍有梯度消失问题Tanh
输出范围:(-1,1)Sigmoid函数输出范围(0,1)常用于二分类输出层Tanh函数输出范围(-1,1),
以0为中心,适合隐藏层优点
零中心化利于优化
按任务类型选择
分类任务稀疏数据避免梯度消失概率输出输出层
Sigmoid(二分类)
Softmax(
多分类)激活函数选择策略隐藏层ReLU(首选)隐藏层ReLU/Tanh
特殊场景适配输出层无激活
回归任务
推荐:ReLU
推荐:Rigmoid
推荐:ReLU变体4深度学习与传统机器学习的对比对比维度传统机器学习深度学习特征提取方式人工设计(依赖专家)自动提取(
多层网络)关键步骤数据预处理→特征工程→模型训练数据预处理→模型训练(
自动特征提取)优势可解释性强、计算资源需求低特征提取能力强、泛化性能好劣势特征工程复杂、依赖领域知识计算资源需求高、可解释性差
图像:HOG特征
图像:CNN特征
传统机器学习示例
深度学习示例特征工程对比
文本:TF-IDF特征
表格:统计特征
文本:Transformer嵌入
表格:TabNet特征对比维度传统机器学习深度学习模型复杂度低复杂度高复杂度数据需求少数据(数百-数千)多数据(数万-数百万)计算资源CPU即可需GPU/TPU训练时间训练快(分钟-小时)训练久(小时-天)代表模型随机森林、SVM、决策树CNN、Transformer、
RNN
低复杂度:参数少
,模型简单
高复杂度:
多层结构
,参数多模型复杂度与训练需求对比
传统机器学习
深度学习
少数据:适合小数据集场景
CPU即可:计算资源需求低
训练快:快速迭代和实验
多数据:需要大量数据训练
需GPU/TPU:并行计算加速
训练久:复杂模型需长时间训练
传统方法手工特征+SVM
传统方法词袋+朴素贝叶斯
传统方法ARIMA+手工特征
传统方法处理不同类型数据的能力对比
深度学习RNN/Transformer
结构化数据
深度学习CNN
自动特征
图像数据
深度学习LSTM/GRU
深度学习文本数据时间序列5深度学习的应用场景
工
作
原
理卷积层提取特征核心技术卷积神经网络CNN
典型应用图像识别与分类CNN
在人脸识别中的应用,可提取关键特征点全连接层分类池化层
降维
医疗影像分析安全监控自动驾驶检测工业质量检测
核心技术
Transformer模型在多语言翻译中的应用,实现高质量跨语言转换自然语言处理与文本生成Test
PrdietboanSeathrtAnalbydSpeechReoutinm
情感分析
机器翻译
典型应用机器翻译情感分析智能客服文本生成RNNLSTMGRUTransformerTrainedMadelnoDEEPLEARNING自动驾驶决策机器人控制游戏Al资源管理TRAININGm
daTrainedModel智能体与环境交互优化决策策略
核心原理■■■
典
型
应
用口r奖励反馈强化学习与自动决策强化学习在自动驾驶中的应用,通过环境交互不断优化决策策略6实战:
多层感知机实现MNIST分类☆
特点数据集概述手写数字灰度图像数据集田
数据组成60,000训练集28×28像素MNIST数据集介绍10,000测试集28×28像素
简单易用
广泛用于入门实验
简单易用
标准化MNIST数据集包含0-9的手写数字图像,是深度学习入门的经典数据集import
torchimporttorch
.nn
as
nnimporttorch
.optim
as
optimimporttorchvisionimport
torchvision
.transforms
as
transformstransform=transforms.Compose([transforms
.ToTensor,transforms.Normalize((0.5,),
(0.5,))
代码实现步骤(一)
:环境准备与数据加载
torch
-核心张量计算库
torch.nn
-神经网络模块
ToTensor-转换为张量
Normalize
-归一化处理
数据预处理train_dataset=torchvision.datasets.MNIST(root='./data',train=True,download=True,transform=transform)test_dataset=torchvision.datasets.MNIST(root='./data',train=False,download=True,transform=transform)
train_loader=torch.utils.data.DataLoader(dataset=train_dataset,batch_size=64,shuffle=True)test_loader=torch.utils.data.DataLoader(dataset=test_dataset,batch_size=1000,shuffle=False)
数据集构建
数据加载器封装
加载数据model=MLP()criterion=nn.CrossEntropyLoss()optimizer=optim.SGD(model.parameters()lr=0.01,momentum=0.9)
forepochinrange(10):#10轮训练runningloss=0.0
fori,(inputs,labels)intrain_loader:optimizer.zero_grad()outputs=model(inputs)loss=criterion(outputs,labels)loss.backward()optimizer.step()runningloss+=loss.item()print(f'Epoch{epoch+1},Loss:{runningloss/len(trainloader)
class
MLP(nn.Module):
def_init_(self):super(MLP,self)._init()
self.fc1=nn.Linear(28*28,512)
self.fc2=nn.Linear(512,256)self.fc3=nn.Linear(256,10)
defforward(self,x):
x=x.view(-1,28*28)x=F.relu(self.fc1(x))x=F.relu(self.fc2(x))x=self.fc3(x)
returnx输入层28×28→512→隐藏层
512→256→输出层256→
10代码实现步骤(二)
:模型构建与训练
MLP模型定义
训练配置
学习率0.01
SGD优化器
交叉熵损失
动量0.9训练损失曲线
model.eval()#设为评估模式correct=0total=0
withtorch.no_grad():#无梯度计算
forimages,labelsintestloader:outputs=model(images)_,predicted=torch.max(outputs.data,1)total+=labels.size(0)correct+=(predicted==labels).sum().item()accuracy=100*correct/totalprint(f'测试集准确率:{accuracy:.2f}%'模型测试与结果分析预期结果测试集准确率约97%-98%2
无梯度计算(提高效率)1模型设为eval模式
增加神经元数量
测试流程
优化方向
增加网络层数
调整学习率
更换优化器3
统计准确率
测试准确率柱状图随着训练轮数增加,损失逐渐降低
各数字类别的识别准确率分布7本章小结与思考练习
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运城幼儿师范高等专科学校《交互书籍设计》2024-2025学年第二学期期末试卷
- 兰州博文科技学院《地质学与矿物学》2024-2025学年第二学期期末试卷
- 四川应用技术职业学院《高聚物合成工艺学》2024-2025学年第二学期期末试卷
- 湖南财政经济学院《生物化学1》2024-2025学年第二学期期末试卷
- 辽宁传媒学院《推拿手法学实践》2024-2025学年第二学期期末试卷
- 企业会议管理制度
- 培训营上课制度
- 南昌大学科学技术学院《原理与触摸屏应用》2024-2025学年第二学期期末试卷
- 长春健康职业学院《影视音乐赏析》2024-2025学年第二学期期末试卷
- 四川西南航空职业学院《灾害统计学》2024-2025学年第二学期期末试卷
- 2026春道德与法治二年级下册《身心健康很重要》教学设计
- 2026年春季学期校园“1530”安全教育记录表
- 2026年内蒙古呼伦贝尔市单招职业适应性测试题库及答案详解(夺冠)
- 2026福建厦门大学人工智能研究院行政管理人员招聘1人考试参考题库及答案解析
- 稀土高铁铝合金电缆产品介绍
- GB/T 4745-2012纺织品防水性能的检测和评价沾水法
- 马工程教材《公共财政概论》PPT-绪论
- 中小学体育教师职称晋升面试答辩真题解密
- 接触网技术规格书3电连接线
- 《大学物理》说课课件
- 双层升降横移式立体车库设计说明
评论
0/150
提交评论