人工智能之核心技术 深度学习 第一章 神经网络基础

人工智能之核心技术 深度学习

第一章 神经网络基础—公式关注公众号


文章目录

  • 人工智能之核心技术 深度学习
    • 一、感知器模型
      • 1.1 线性感知器(Perceptron)
      • 1.2 多层感知器(MLP, Multi-Layer Perceptron)
    • 二、激活函数
      • 常见激活函数对比
      • 激活函数图像(示意)
    • 三、神经网络结构设计
      • 3.1 各层作用
      • 3.2 设计原则
        • (1)隐藏层数量
        • (2)每层神经元数量
    • 四、配套代码实现(PyTorch)
    • 五、万能近似定理(Universal Approximation Theorem)
    • 总结
  • 资料关注

一、感知器模型

1.1 线性感知器(Perceptron)

结构
线性感知器是最简单的神经网络单元,由 Frank Rosenblatt 在 1957 年提出。它模拟生物神经元:接收多个输入,加权求和后通过一个激活函数输出结果。

数学表达式为:

y = f ( ∑ i = 1 n w i x i + b ) y = f\left( \sum_{i=1}^{n} w_i x_i + b \right)y=f(i=1nwixi+b)

其中:

  • x i x_ixi是第i ii个输入
  • w i w_iwi是对应的权重
  • b bb是偏置(bias)
  • f ( ⋅ ) f(\cdot)f()是激活函数(感知器中通常为阶跃函数)

原理
感知器试图学习一个线性决策边界(超平面),将两类数据分开。如果数据线性可分,感知器学习算法可以收敛到正确解。

局限性
感知器只能解决线性可分问题。经典反例是异或(XOR)问题

x₁x₂XOR
000
011
101
110

这四点无法用一条直线完全分开(如下图所示),因此单层感知器无法学习 XOR。

x1

Perceptron

x2

y

💡关键结论:单层感知器 = 线性分类器 → 无法处理非线性问题。


1.2 多层感知器(MLP, Multi-Layer Perceptron)

为了解决感知器的局限性,人们引入了隐藏层,形成了多层感知器(MLP)。

  • 结构:输入层 → 一个或多个隐藏层 → 输出层
  • 核心思想:通过堆叠非线性变换,组合出复杂的决策边界,从而拟合非线性函数(如 XOR)

XOR 的 MLP 解决方案(2 层):

  • 隐藏层有 2 个神经元,分别学习“AND”和“OR”逻辑
  • 输出层组合它们实现 XOR

x1

h1

h2

x2

y

突破:MLP + 非线性激活函数 → 可以逼近任意连续函数(万能近似定理)


二、激活函数

激活函数赋予神经网络非线性表达能力。如果没有激活函数,无论多少层,网络都等价于一个线性模型。

常见激活函数对比

激活函数公式优点缺点适用场景
Sigmoid$ \sigma(x) = \frac{1}{1 + e^{-x}} $输出在 (0,1),适合概率输出梯度消失、输出非零中心二分类输出层
Tanh$ \tanh(x) = \frac{e^x - e{-x}}{ex + e^{-x}} $零中心、比 Sigmoid 梯度更强仍存在梯度消失隐藏层(早期)
ReLU$ \text{ReLU}(x) = \max(0, x) $计算快、缓解梯度消失“神经元死亡”(负区梯度为0)默认隐藏层激活函数
Leaky ReLU$ \text{LReLU}(x) = \begin{cases} x & x > 0 \ \alpha x & x \leq 0 \end{cases} $解决 ReLU 死亡问题需调超参α \alphaαReLU 的改进版
Softmax$ \text{Softmax}(z_i) = \frac{e^{z_i}}{\sum_j e^{z_j}} $多分类概率归一化仅用于输出层多分类任务输出层

激活函数图像(示意)

📌现代实践建议

  • 隐藏层优先使用ReLULeaky ReLU
  • 二分类输出用Sigmoid
  • 多分类输出用Softmax

三、神经网络结构设计

3.1 各层作用

层类型作用
输入层接收原始特征(如像素值、文本向量),不做计算,仅传递
隐藏层提取特征、学习数据的抽象表示(层数越多,抽象能力越强)
输出层生成最终预测(分类概率、回归值等),激活函数依任务而定

3.2 设计原则

(1)隐藏层数量
  • 浅层网络(1~2 层):适用于简单任务、小数据集
  • 深层网络(>3 层):适用于复杂任务(图像、语音),但需足够数据和正则化

⚠️ 并非越深越好!过深可能导致:

  • 梯度消失/爆炸
  • 过拟合
  • 训练困难
(2)每层神经元数量
  • 输入层神经元数 = 特征维度
  • 输出层神经元数 = 类别数(分类)或 1(回归)
  • 隐藏层神经元数:经验法则
    • 通常介于输入与输出之间
    • 常用:$ N_h = \frac{N_{in} + N_{out}}{2} $ 或 $ N_h = \sqrt{N_{in} \times N_{out}} $
    • 也可采用“金字塔”结构(逐层减少)

🔧实用技巧

  • 从简单结构开始(如 1 隐藏层,64 神经元)
  • 用验证集调参(Grid Search / Random Search)
  • 使用 Dropout、BatchNorm 提升泛化

四、配套代码实现(PyTorch)

以下是一个完整的 MLP 实现,用于解决 XOR 问题:

importtorchimporttorch.nnasnnimporttorch.optimasoptim# XOR 数据X=torch.tensor([[0,0],[0,1],[1,0],[1,1]],dtype=torch.float32)y=torch.tensor([[0],[1],[1],[0]],dtype=torch.float32)# 定义 MLP 模型classXOR_MLP(nn.Module):def__init__(self):super().__init__()self.hidden=nn.Linear(2,4)# 输入2维,隐藏层4神经元self.output=nn.Linear(4,1)# 输出1维self.relu=nn.ReLU()self.sigmoid=nn.Sigmoid()# 二分类输出defforward(self,x):x=self.relu(self.hidden(x))x=self.sigmoid(self.output(x))returnx# 实例化模型、损失函数、优化器model=XOR_MLP()criterion=nn.BCELoss()# 二元交叉熵optimizer=optim.SGD(model.parameters(),lr=0.1)# 训练forepochinrange(1000):optimizer.zero_grad()pred=model(X)loss=criterion(pred,y)loss.backward()optimizer.step()ifepoch%200==0:print(f"Epoch{epoch}, Loss:{loss.item():.4f}")# 测试withtorch.no_grad():output=model(X)print("\n预测结果:")foriinrange(4):print(f"输入:{X[i].tolist()}-> 预测:{output[i].item():.4f}(真实:{y[i].item()})")

输出示例

Epoch 0, Loss: 0.7032 Epoch 200, Loss: 0.0321 ... 预测结果: 输入: [0.0, 0.0] -> 预测: 0.0123 (真实: 0.0) 输入: [0.0, 1.0] -> 预测: 0.9876 (真实: 1.0) ...

✅ 成功解决 XOR!


五、万能近似定理(Universal Approximation Theorem)

定理:一个具有单隐藏层足够多神经元的前馈神经网络,只要使用非线性激活函数,就可以以任意精度逼近任何定义在紧集上的连续函数。

这意味着:理论上,一个隐藏层就足够强大。但实践中,深层网络更高效(用更少参数表达复杂函数)。


总结

概念关键点
感知器线性模型,无法解决 XOR
MLP引入隐藏层 + 非线性激活 → 解决非线性问题
激活函数赋予非线性能力,ReLU 是默认选择
网络结构输入→隐藏→输出;深度/宽度需平衡

资料关注

公众号:咚咚王
gitee:https://gitee.com/wy18585051844/ai_learning

《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1215325.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

慢充3.3kW占20%,普通7kW占50%,快充11kW占20%,超充20kW占10

基于蒙特卡洛思想生成10000台充电汽车充电负荷曲线充电汽车负荷预测这事挺有意思的。咱们今天直接上干货,用蒙特卡洛方法撸出一万辆车子的充电曲线。别被名字吓到,说白了就是靠大量随机采样模拟真实场景——就像在赌场扔骰子,次数多了总能逼近…

2026年青少年心理辅导优选名单,口碑机构来助力,家庭教育指导/叛逆孩子教育/青少年心理咨询,青少年心理辅导学校排名

近年来,青少年心理健康问题日益凸显,厌学、叛逆、沉迷网络、抑郁焦虑等现象频发,引发社会广泛关注。据《2024年中国青少年心理健康蓝皮书》显示,我国青少年抑郁风险检出率达24.1%,亲子关系紧张、家庭教育缺失成为…

完整教程:目前流行的前端框架

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

电力市场出清程序。 IEEE14节点考虑输电阻塞,求解机组边际电价和节点边际电价。 采用拉格朗...

电力市场出清程序。 IEEE14节点考虑输电阻塞,求解机组边际电价和节点边际电价。 采用拉格朗日乘子进行分析计算,目标函数为发电成本最小。 运用matlab中的linprog()函数实现此程序,均为m程序。 其他测试系统完全可以根…

单北斗GNSS在桥梁和地质灾害变形监测中的应用与发展

本文将阐述单北斗GNSS在桥梁和地质灾害变形监测中的多重应用,深入解析其工作原理及系统安装过程。同时,文章还将探讨如何选择合适的单北斗变形监测厂家与设备,以保证项目的成功实施。此外,针对GNSS与单北斗在变形监测中的性能对比…

【LeetCode】91. 解码方法 - 教程

【LeetCode】91. 解码方法 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&q…

2026 主流GEO服务商全景图谱,企业GEO服务商选型指南

《2026年To B企业AI获客必看:GEO机制深度解析与服务商权威选型指南》 随着生成式AI全面渗透用户信息获取路径,GEO(Generative Engine Optimization,生成引擎优化)已成为To B企业不可忽视的新增长引擎。据艾瑞咨询…

三相与两相步进方案的矢量控制及超前角控制:内置微控制器的技术解析

三相,两相步进方案,矢量控制,超前角控制,内置微控制器! 最近在搞步进电机控制方案选型,发现三相和两相系统的选择特别有意思。两种方案看似差不多,实际调起来完全是两个世界。今天咱们直接上干…

光伏储能交直流微电网matlab/simulink仿真,风光储能联合发电系统simulink仿...

光伏储能交直流微电网matlab/simulink仿真,风光储能联合发电系统simulink仿真,光伏风电储能能量管理,光伏风电混合发电系统储能系统并网最近在搞微电网仿真的时候,发现风光储联合系统的参数协调真是让人头秃。特别是当光伏阵列和双…

双亲表示法构造树-----Java实现

package Data_Structure.Tree; import java.io.IOException; import java.util.NoSuchElementException; import java.util.Scanner; //双亲表示法构造树,该树使用层序进行构造,通过parent下标索引双亲结点 public c…

KiCad V10新特性前瞻

https://forum.kicad.info/t/post-v9-new-features-and-development-news/58848 KiCad采用年度发布周期,主版本通常在每年2月至3月间发布。虽然正式版尚未推出,但由于KiCad始终秉持开源理念(这恰是其最大优势),开发者…

基于传统材料力学势能法的健康齿轮时变啮合刚度数值分析

一、核心结论 传统材料力学势能法是计算健康齿轮时变啮合刚度的经典方法,通过将轮齿简化为变截面悬臂梁,考虑弯曲、剪切、轴向压缩、赫兹接触及基体变形等能量分量,能够准确反映齿轮啮合过程中的刚度变化。该方法具有计算效率高、精度满足工…

电气设计的隐藏外挂:1:1元器件图库实战

电气高低压成套元器件 几乎每个厂家的元器件都画出来了尺寸大小电气高低压成套元器件 几乎每个厂家的元器件都画出来了尺寸大小型号都有,应有尽有,全部1:1尺寸,直接标注就OK配电柜设计现场最要命的场景:左手抓着某厂家的断路器样本…

Product Hunt 每日热榜 | 2026-01-25

1. Humans in the Loop 标语:一个免费的社区,专门讨论与代理编程与人工智能相关的所有事。 介绍:“有人的参与”是一个为热爱利用人工智能加速工作的伙伴们打造的地方。这里是一个免费的社区,大家可以在这里分享关于Claude Code…

构建 OpenHarmony 跨设备任务协同中心:Flutter 实现多端任务流转与状态同步

一、引言:从单设备到分布式协同 OpenHarmony 的核心愿景之一是 “超级终端” —— 多个物理设备无缝协同,形成一个逻辑上的统一工作空间。例如: 在手机上开始编辑文档,走到平板前自动续写;车机导航途中,到家…

构建 OpenHarmony 智能场景自动化配置面板:Flutter 实现可视化规则编排

一、引言:从手动操作到场景自动化 在 OpenHarmony 驱动的全场景智慧生态中,用户不再满足于“打开 App 控制设备”,而是期望系统能主动理解意图、自动执行操作。例如: “如果我到家,就打开客厅灯和空调”;…

Simulink双Y-30度六相感应电机模型,matlab18B版本。 六相交流供电

Simulink双Y-30度六相感应电机模型,matlab18B版本。 六相交流供电,做六相电机容错、多自由度控制以及本体设计的同学能用得上,六相感应电机模型电机工作原理参考文献等相关资料 最近在实验室折腾六相感应电机控制,发现Matlab 201…

强烈安利8个一键生成论文工具,继续教育学生论文写作必备!

强烈安利8个一键生成论文工具,继续教育学生论文写作必备! AI 工具如何助力论文写作,提升效率与质量 在当前的学术环境中,AI 工具已经成为越来越多继续教育学生的重要助手。尤其是在论文写作过程中,这些工具不仅能够显…

ubuntu_server安装教程

准备文件: ubuntu-live-server-amd64.iso ventoy-1.1.10-windows.zip系统启动盘制作 网盘下载: https://pan.quark.cn/s/a804ae8dd78f 准备4G以上U盘,会清空u盘数据,尽量备份数据 1.不能用rufus制作系统启动盘,否…

基于深度学习的 pcb 缺陷检测系统

目录 深度学习在PCB缺陷检测中的应用典型系统架构设计关键技术实现要点性能优化方向工业部署注意事项 源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 深度学习在PCB缺陷检测中的应用 深度学习技术在PCB缺陷检测中展现出显著优势&…