导图社区 第03章 神经网络基础
这是一篇关于第03章 神经网络基础的思维导图,主要内容包括:1 神经网络基础概念,2 激活函数详解,3 网络参数初始化,4 PyTorch搭建全连接网络,8 综合实战:手机价格多分类,7 正则化防止过拟合,6 反向传播与梯度优化,5 损失函数。基础概念板块梳理神经元、多层网络、权重偏置核心定义;激活函数完整汇总 Sigmoid、Tanh、ReLU、Softmax 等函数公式、优缺点与适用场景;参数初始化讲解标准化、Xavier、Kaiming 主流初始化方案;损失函数细分二分类、多分类、回归任务对应损失公式;梯度优化板块梳理 SGD、Momentum、RMSprop、Adam 等全部主流优化器原理;正则化讲解 Dropout、BN 批量归一化等防过拟合手段;配套 PyTorch 全连接网络代码实操与手机价格分类实战案例,兼顾理论背诵与项目实操,适配课程作业、期末复习、考研刷题、项目开发多类场景。不管是课前预习搭建知识框架、课堂随堂笔记整理、计算机专业期末专业课突击复习、人工智能考研长线专项复盘、编程自学人群梳理深度学习底层原理,还是专业课教师备课制作教学课件、AI 实训机构整理培训讲义,该思维导图模板均可直接套用,理论与实操双线并行,层级逻辑严谨清晰,支持自由补充数学推导公式、代码片段、真题例题,既能打印纸质版线下背诵刷题,也可电子存档线上随时查阅。
提示: 本内容由社区用户上传并分享。平台不对内容的真实性、合法性、知识产权归属及是否侵害第三方权利进行事前审核或保证。本内容可能包含受版权保护的图片、字体或其他第三方素材,使用前请自行确认授权范围。
这是一篇关于第03章 神经网络基础的思维导图,主要内容包括:1 神经网络基础概念,2 激活函数详解,3 网络参数初始化,4 PyTorch搭建全连接网络,8 综合实战:手机价格多分类,7 正则化防止过拟合,6 反向传播与梯度优化,5 损失函数。基础概念板块梳理神经元、多层网络、权重偏置核心定义;激活函数完整汇总 Sigmoid、Tanh、ReLU、Softmax 等函数公式、优缺点与适用场景;参数初始化讲解标准化、Xavier、Kaiming 主流初始化方案;损失函数细分二分类、多分类、回归任务对应损失公式;梯度优化板块梳理 SGD、Momentum、RMSprop、Adam 等全部主流优化器原理;正则化讲解 Dropout、BN 批量归一化等防过拟合手段;配套 PyTorch 全连接网络代码实操与手机价格分类实战案例,兼顾理论背诵与项目实操,适配课程作业、期末复习、考研刷题、项目开发多类场景。不管是课前预习搭建知识框架、课堂随堂笔记整理、计算机专业期末专业课突击复习、人工智能考研长线专项复盘、编程自学人群梳理深度学习底层原理,还是专业课教师备课制作教学课件、AI 实训机构整理培训讲义,该思维导图模板均可直接套用,理论与实操双线并行,层级逻辑严谨清晰,支持自由补充数学推导公式、代码片段、真题例题,既能打印纸质版线下背诵刷题,也可电子存档线上随时查阅。
这是一篇关于第06章 LangChain使用之Agents的思维导图,在大语言模型应用开发中,LangChain Agents 是实现复杂任务自主执行、多工具协同调用的核心技术,也是 AI 应用开发者、大模型学习者进阶的关键知识点。然而,其概念体系庞大、组件繁多,从基础认知到实战应用,初学者往往难以快速理清脉络、掌握核心要点。这份系统化的思维导图,正是为了帮你高效梳理 LangChain Agents 的完整知识框架,让学习更有条理、更易落地。本「LangChain 使用之 Agents」思维导图模板,是专为 AI 应用开发者、大模型学习者、LangChain 技术研究者打造的结构化学习工具,聚焦 LangChain Agents 全章节内容,以清晰的层级框架梳理 Agent 基础认知、四大核心组件详解、入门创建方式、工具实战使用、集成 Memory 记忆组件五大核心模块,将复杂的 Agent 理论与实战技术拆解为可直接套用的学习要点,助力使用者高效构建系统化知识体系,快速掌握 LangChain Agents 开发技能。
"想炒股却看不懂术语?3分钟带你扫盲核心知识!本章涵盖股票入门必备常识:从基础概念(股票定义、发行方式)到关键指数(上证、纳斯达克等)解析股票类型(ST股、龙头股)与板块逻辑重点解读市盈率、市净率、涨幅振幅等指标含义揭秘多方空方博弈、诱多诱空陷阱说透分红送配、除权除息规则助你快速建立系统认知,告别盲目跟风!"
社区模板帮助中心,点此进入>>
这是一篇关于第03章 神经网络基础的思维导图,主要内容包括:1 神经网络基础概念,2 激活函数详解,3 网络参数初始化,4 PyTorch搭建全连接网络,8 综合实战:手机价格多分类,7 正则化防止过拟合,6 反向传播与梯度优化,5 损失函数。基础概念板块梳理神经元、多层网络、权重偏置核心定义;激活函数完整汇总 Sigmoid、Tanh、ReLU、Softmax 等函数公式、优缺点与适用场景;参数初始化讲解标准化、Xavier、Kaiming 主流初始化方案;损失函数细分二分类、多分类、回归任务对应损失公式;梯度优化板块梳理 SGD、Momentum、RMSprop、Adam 等全部主流优化器原理;正则化讲解 Dropout、BN 批量归一化等防过拟合手段;配套 PyTorch 全连接网络代码实操与手机价格分类实战案例,兼顾理论背诵与项目实操,适配课程作业、期末复习、考研刷题、项目开发多类场景。不管是课前预习搭建知识框架、课堂随堂笔记整理、计算机专业期末专业课突击复习、人工智能考研长线专项复盘、编程自学人群梳理深度学习底层原理,还是专业课教师备课制作教学课件、AI 实训机构整理培训讲义,该思维导图模板均可直接套用,理论与实操双线并行,层级逻辑严谨清晰,支持自由补充数学推导公式、代码片段、真题例题,既能打印纸质版线下背诵刷题,也可电子存档线上随时查阅。
这是一篇关于第06章 LangChain使用之Agents的思维导图,在大语言模型应用开发中,LangChain Agents 是实现复杂任务自主执行、多工具协同调用的核心技术,也是 AI 应用开发者、大模型学习者进阶的关键知识点。然而,其概念体系庞大、组件繁多,从基础认知到实战应用,初学者往往难以快速理清脉络、掌握核心要点。这份系统化的思维导图,正是为了帮你高效梳理 LangChain Agents 的完整知识框架,让学习更有条理、更易落地。本「LangChain 使用之 Agents」思维导图模板,是专为 AI 应用开发者、大模型学习者、LangChain 技术研究者打造的结构化学习工具,聚焦 LangChain Agents 全章节内容,以清晰的层级框架梳理 Agent 基础认知、四大核心组件详解、入门创建方式、工具实战使用、集成 Memory 记忆组件五大核心模块,将复杂的 Agent 理论与实战技术拆解为可直接套用的学习要点,助力使用者高效构建系统化知识体系,快速掌握 LangChain Agents 开发技能。
"想炒股却看不懂术语?3分钟带你扫盲核心知识!本章涵盖股票入门必备常识:从基础概念(股票定义、发行方式)到关键指数(上证、纳斯达克等)解析股票类型(ST股、龙头股)与板块逻辑重点解读市盈率、市净率、涨幅振幅等指标含义揭秘多方空方博弈、诱多诱空陷阱说透分红送配、除权除息规则助你快速建立系统认知,告别盲目跟风!"
第03章 神经网络基础
1 神经网络基础概念
1.1 生物神经元原理
1.1.1 生物神经元结构组成
组成部件:树突、细胞核、轴突、轴突末梢,模拟人脑信号单元
树突功能:接收外部传来的电信号,对应模型输入特征
细胞核功能:汇集所有输入电荷,对应加权求和计算
轴突功能:达标后向外传递电信号,对应激活输出
1.1.2 生物信号传递流程
步骤1:树突接收多路输入电信号,累积电荷
步骤2:电荷达到阈值,神经元被激活
步骤3:激活信号通过轴突向外传导
仿生对应:生物信号流程 = 人工神经元加权+激活流程
1.2 人工神经元计算逻辑
1.2.1 神经元公式与参数含义
基础公式:z = b + 求和(xi * wi),代码z = torch.matmul(x,w)+b
wi含义:每条输入连接的权重,代表特征重要度
b含义:偏置项,整体偏移数值,提升拟合能力
xi含义:外部输入特征张量,原始数据
1.2.2 单神经元完整计算步骤
步骤1:输入特征xi与对应权重wi相乘
步骤2:所有乘积结果累加求和
步骤3:累加值加上偏置b得到内部状态z
步骤4:z送入激活函数f,输出a=f(z)
1.2.3 人工神经元示意图解读
SUM模块:执行加权求和,生成内部状态z
f模块:激活函数,完成非线性映射
Input区域:所有输入特征x1~xn
Output区域:经过激活后的最终输出值
1.3 全连接神经网络结构
1.3.1 网络三层基础划分
输入层:存放原始数据,一个特征对应一个神经元
隐藏层:输入输出中间层,层数决定网络深度
输出层:生成预测结果,适配分类/回归任务
1.3.2 全连接核心定义规则
层间连接:第N层每个神经元连接上一层全部神经元
同层规则:同一层神经元之间无任何连接
数据流转:上一层输出 = 下一层输入
数据格式:仅支持二维批量数据输入输出
1.3.3 网络参数构成说明
权重w:层与层每个连接独立分配
偏置b:每一层神经元单独配备偏置
网络深度:隐藏层的总层数
参数量:每层神经元数量决定参数总量
1.4 神经元内部两类数值
1.4.1 前向传播生成数值
内部状态z:加权求和原始结果,未经过激活
激活值a:z经过激活函数变换后的输出
存储位置:每层神经元都会保存z与a
作用:作为下一层的输入数据
1.4.2 反向传播生成梯度数值
内部状态梯度:损失对z求导,更新上层权重
激活值梯度:损失对a求导,传递链式梯度
梯度用途:指导权重、偏置迭代更新
训练优化:约束z、a方差防止训练震荡
2 激活函数详解
2.1 激活函数核心作用
2.1.1 无激活函数的网络缺陷
多层网络等价单层线性模型,无法拟合曲线
不能分割线性不可分的数据样本
模型表达能力极度受限,复杂任务失效
2.1.2 激活函数三大核心价值
引入非线性,提升模型拟合复杂函数能力
分层转换特征,区分不同类别数据边界
提供可微计算结果,满足BP反向传播要求
2.1.3 可视化对比效果
无激活:只能画出直线分割样本
带激活:生成曲线边界,精准划分多分类数据
2.2 Sigmoid激活函数
2.2.1 公式、值域与导数
原函数:f(x) = 1 / (1 + e^-x),输出区间(0,1)
求导公式:f'(x) = f(x) * (1 - f(x)),最大值0.25
数值特性:x绝对值大于6,输出趋近0或1
2.2.2 存在两大核心缺陷
梯度消失:深层网络导数趋近0,权重不更新
非0中心化:输出恒大于0,梯度更新方向单一
2.2.3 代码与适用场景
PyTorch代码:x = torch.linspace(-20,20); y=torch.sigmoid(x)
适用场景:仅二分类任务输出层使用
禁用场景:所有隐藏层不推荐使用
2.3 Tanh激活函数
2.3.1 公式、值域与导数
原函数:f(x) = (1 - e^-2x) / (1 + e^-2x),区间(-1,1)
求导公式:f'(x) = 1 - f(x)²,导数上限1
数值特性:x绝对值大于3,输出趋近±1
2.3.2 和Sigmoid优劣对比
优势:输出以0为中心,收敛速度更快
劣势:极值区域导数接近0,依旧梯度消失
2.3.3 代码与使用场景
PyTorch代码:y = torch.tanh(x)
适用场景:老旧浅层网络隐藏层
替代方案:现代网络统一更换ReLU
2.4 ReLU激活函数
2.4.1 公式、值域与导数
原函数:f(x) = max(0, x),负数置0正数保留
求导规则:x>0导数=1,x<0导数=0
值域:[0, 正无穷)
2.4.2 优缺点详细说明
优点:无指数运算计算快;x>0无梯度消失;制造稀疏性缓解过拟合
缺点:x长期小于0会产生神经元死亡,权重永久不更新
2.4.3 代码与行业使用规范
PyTorch代码:y = torch.relu(x)
行业标准:绝大多数网络隐藏层首选激活
2.5 SoftMax激活函数
2.5.1 计算公式与数学特性
公式:softmax(zi) = e^zi / 所有e^zj求和
输出特性:所有输出相加等于1,符合概率定义
值域:每一个输出值都在0~1之间
2.5.2 功能与任务匹配
功能:将模型原始分数logits转为分类概率
适用任务:多分类模型输出层
预测逻辑:取概率最大值对应类别作为结果
2.5.3 PyTorch实操代码
示例代码:scores=torch.tensor([0.2,0.02,3.75]); prob=torch.softmax(scores,dim=0)
参数dim:指定按行计算概率分布
2.6 激活函数选择标准
2.6.1 隐藏层选择规则
首选ReLU,出现神经元死亡换Leaky ReLU
老旧小网络可临时使用Tanh
禁止隐藏层使用Sigmoid
2.6.2 输出层选择规则
二分类任务输出层:Sigmoid
多分类任务输出层:SoftMax
回归任务输出层:恒等函数Identity
3 网络参数初始化
3.1 初始化核心作用
3.1.1 错误初始化带来的问题
权重过大:反向传播梯度爆炸,损失震荡不收敛
权重过小:多层传递梯度消失,参数不更新
全零权重:所有神经元梯度完全一致,无法学习特征
3.1.2 三大核心优化作用
平衡各层激活值方差,加速模型收敛速度
打破参数对称,让神经元学习不同特征
稳定梯度数值,避免训练中途崩溃
3.1.3 偏置初始化统一规范
所有层偏置b统一初始化为0
偏置无需复杂初始化,仅权重需要特殊处理
3.2 基础随机初始化方法
3.2.1 均匀分布初始化
取值区间:(-1/√d, 1/√d),d为输入神经元数量
实现代码:nn.init.uniform_(linear.weight)
适用:层数≤5的浅层简易网络
3.2.2 正态分布初始化
取值规则:均值0,极小标准差高斯随机数
优点:快速打破参数对称性
缺陷:随机区间不合适易梯度异常
3.2.3 全0/全1初始化禁用原因
权重全0:每层输出完全相同,梯度同步无区分
权重全1:梯度更新方向统一,模型无法拟合数据
仅允许偏置项使用全0初始化
3.3 Xavier初始化
3.3.1 适配激活函数
专用适配:Sigmoid、Tanh类激活函数
不兼容:ReLU系列激活效果差
3.3.2 计算参数fan_in/fan_out
fan_in:当前层接收的上层神经元总数
fan_out:当前层输出给下层神经元总数
区间由fan_in、fan_out共同计算得出
3.3.3 PyTorch代码与适用场景
代码:nn.init.xavier_uniform_(linear.weight)
适用:使用Sigmoid/Tanh的深层网络
3.4 Kaiming He初始化
3.4.1 适配激活函数
专用适配:ReLU、Leaky ReLU、ELU等激活
行业主流搭配,现代网络标配
3.4.2 初始化设计逻辑
根据ReLU单侧截断特性调整权重方差
解决ReLU负区间方差衰减问题
3.4.3 PyTorch代码
代码:nn.init.kaiming_normal_(linear.weight, nonlinearity='relu')
3.5 初始化选择规范
3.5.1 按激活匹配方案
Sigmoid/Tanh网络:Xavier初始化权重
ReLU系列网络:Kaiming He初始化权重
浅层简单网络:基础均匀/正态随机初始化
3.5.2 实操固定流程
线性层权重:对应初始化函数赋值
线性层偏置:统一使用nn.init.zeros_置0
4 PyTorch搭建全连接网络
4.1 网络搭建基础规范
4.1.1 自定义网络类要求
必须继承父类nn.Module
必须重写__init__构造方法与forward前向方法
4.1.2 __init__方法功能
定义所有全连接层nn.Linear
对每层权重、偏置执行初始化操作
可定义Dropout、BN等辅助层
4.1.3 forward前向方法功能
定义数据逐层流转顺序:线性层→激活函数
输入模型实例自动执行forward(x)
无需手动调用,支持批量张量输入
4.2 完整网络示例分步代码
4.2.1 网络类定义代码
导入模块:import torch; import torch.nn as nn
定义class Model(nn.Module):重写构造与前向
self.linear1 = nn.Linear(3,3)定义第一层
4.2.2 权重初始化代码
nn.init.xavier_normal_(self.linear1.weight)
nn.init.zeros_(self.linear1.bias)
第二层使用kaiming_normal初始化
4.2.3 前向传播数据流代码
x = self.linear1(x); x = torch.sigmoid(x)
x = self.linear2(x); x = torch.relu(x)
输出层执行torch.softmax(x,dim=-1)
4.2.4 模型实例与前向测试
my_model = Model()实例化网络
my_data = torch.randn(5,3)生成5条3维样本
output = my_model(my_data)执行前向传播
4.3 模型参数计算与查看
4.3.1 单层参数计算公式
单层参数总数 = (输入维度 + 1) * 当前神经元数
+1代表偏置项参数
4.3.2 全局总参数量查看
工具:from torchsummary import summary
代码:summary(my_model, input_size=(3,), batch_size=5)
输出每层参数、总可训练参数
4.3.3 遍历查看权重与偏置
循环代码:for name, para in my_model.named_parameters()
name:层名称weight/bias
para:对应权重、偏置张量,带requires_grad
4.3.4 张量形状变化规则
输入shape (batch, 输入特征数)
每层仅改变第二维特征数量,batch不变
8 综合实战:手机价格多分类
8.1 数据集处理
8.1.1 数据集基础信息
样本总量2000条,20项手机硬件特征
标签price_range分为0、1、2、3四档价格
8.1.2 数据集划分操作
工具:train_test_split
划分比例:训练集80%,验证集20%
8.1.3 数据封装与加载
TensorDataset:绑定特征张量与标签张量
DataLoader:设置batch_size、shuffle打乱训练集
8.1.4 特征预处理
StandardScaler标准化特征,加速收敛
8.2 分类网络搭建
8.2.1 网络层级结构
输入20维特征→128维→256维→512维→128维→4分类输出
每层后添加ReLU激活函数
8.2.2 损失与优化器配置
损失:CrossEntropyLoss(内置SoftMax)
优化器:Adam,学习率1e-4
8.2.3 完整训练循环逻辑
循环epochs遍历全量训练集
每个batch执行前向→损失→反向→更新参数
8.3 模型保存、加载与评估
8.3.1 模型权重保存
代码:torch.save(model.state_dict(), 保存路径)
state_dict:仅保存可训练权重参数
8.3.2 模型加载推理
步骤:初始化空模型 → load_state_dict读取权重
推理开启model.eval()关闭Dropout/BN训练统计
8.3.3 准确率评估方法
torch.argmax(output, dim=1)获取预测类别
统计预测与真实标签相等样本占比为Acc
8.3.4 模型调优方向
数据标准化、更换Adam优化器、调整学习率
加深网络、增加BN层、增加训练轮次
7 正则化防止过拟合
7.1 Dropout随机失活
7.1.1 Dropout运行逻辑
训练阶段:神经元以概率p输出置0,随机失效
缩放规则:未失效输出 ÷ (1-p) 保持期望不变
测试阶段:全部神经元正常启用,无失活
7.1.2 超参p取值规范
常规取值0.2
0.5;深层网络可取0.5 0.6
放置位置:激活函数输出之后
7.1.3 训练/推理模式切换
model.train():开启Dropout失活逻辑
model.eval():关闭Dropout,完整前向预测
7.1.4 PyTorch代码示例
dropout_layer = nn.Dropout(p=0.4)
x = dropout_layer(x)
7.2 BatchNorm批量归一化
7.2.1 BN核心作用
标准化每一批次数据分布,均值接近0方差1
稳定梯度,大幅加快模型收敛速度
7.2.2 BN计算公式
标准化:(x - E(x)) / √Var(x)+eps
缩放平移:γ * 标准化值 + β,γ、β可学习
7.2.3 训练与推理差异
训练:计算当前批次均值方差,更新全局统计量
推理:使用训练保存的全局均值方差归一化
7.2.4 BN层分类与代码
BatchNorm1d:全连接网络一维数据
BatchNorm2d:卷积网络图像特征图
代码:bn = nn.BatchNorm1d(num_features=128)
6 反向传播与梯度优化
6.1 前向传播与反向传播
6.1.1 前向传播完整流程
输入数据送入网络,逐层加权+激活
最终输出预测值,不计算梯度
作用:得到预测结果,用于计算损失
6.1.2 反向传播BP完整流程
起点:损失函数差值
规则:链式法则从输出向输入逐层求导
输出:每层权重、偏置对应的梯度
6.1.3 完整训练单次循环
步骤1:前向传播得到预测
步骤2:计算损失函数数值
步骤3:loss.backward()反向求梯度
步骤4:优化器更新权重、偏置
6.2 基础梯度下降算法
6.2.1 参数更新公式
w_new = w_old - 学习率lr * 梯度grad(w)
lr:学习率,控制每次更新步长
6.2.2 三个核心训练术语
Epoch:全部数据集完整遍历1次
Batch:一次送入模型的小批量样本
Iteration:一个Batch完成一次参数更新
6.2.3 梯度下降三大问题
平缓区域:梯度接近0,参数更新极慢
鞍点:梯度等于0,参数停止更新
局部极小:找到局部最优,非全局最优
6.3 主流梯度优化器
6.3.1 SGD随机梯度下降
特点:实现简单,收敛速度慢,震荡明显
适用:简单小型数据集
代码:torch.optim.SGD(model.parameters(), lr=0.01)
6.3.2 Momentum动量SGD
原理:指数加权平均历史梯度,平滑震荡
优势:跨过鞍点、平缓区域,加速收敛
代码:SGD(..., momentum=0.9)
6.3.3 RMSProp优化器
原理:梯度平方指数加权,自适应学习率
优势:解决AdaGrad学习率持续衰减问题
代码:torch.optim.RMSprop()
6.3.4 Adam优化器
融合Momentum+RMSProp双重优势
行业通用,绝大多数任务首选
代码:torch.optim.Adam()
6.4 学习率衰减策略
6.4.1 StepLR等间隔衰减
规则:每固定epoch,学习率×gamma
代码:optim.lr_scheduler.StepLR(optimizer, step_size=50, gamma=0.5)
6.4.2 MultiStepLR指定节点衰减
规则:自定义衰减epoch节点,到达后衰减
代码:MultiStepLR(optimizer, milestones=[50,125], gamma=0.5)
6.4.3 ExponentialLR指数衰减
规则:每个epoch lr = lr * gamma^epoch,平滑下降
适用:高精度缓慢收敛任务
6.4.4 衰减使用流程
每个batch训练完成后执行scheduler.step()
作用:训练后期缩小步长,避免损失震荡
5 损失函数
5.1 损失函数基础概念
5.1.1 损失函数定义
功能:计算模型预测值ŷ与真实标签y的差值
训练目标:迭代训练不断最小化损失数值
5.1.2 各类别名说明
损失函数loss、代价函数cost、目标函数objective、误差函数error含义一致
5.1.3 损失在训练中的位置
前向传播输出预测值 → 计算损失 → 反向传播求梯度
5.2 分类任务损失函数
5.2.1 二分类交叉熵BCELoss
配套激活:输出层Sigmoid
计算公式:L = -ylogŷ - (1-y)log(1-ŷ)
PyTorch代码:loss = nn.BCELoss()
5.2.2 多分类交叉熵CrossEntropyLoss
内置逻辑:自动包含SoftMax计算
使用规范:输出层无需手动加softmax
PyTorch代码:loss = nn.CrossEntropyLoss()
5.2.3 适用任务区分
二分类任务:BCELoss + Sigmoid
多分类任务:CrossEntropyLoss,直接输入logits
5.3 回归任务损失函数
5.3.1 L1 MAE平均绝对损失
公式:L = 1/n * 求和|yi - ŷi|
优点:对异常值鲁棒,不会放大离群点
缺陷:零点梯度不连续,易跳过极小值
代码:nn.L1Loss()
5.3.2 L2 MSE均方损失
公式:L = 1/n * 求和(yi - ŷi)²
优点:梯度连续,收敛平滑
缺陷:离群点损失被平方放大,敏感
代码:nn.MSELoss()
5.3.3 Smooth L1平滑损失
分段逻辑:误差小于1用L2,大于1用L1
优势:兼顾L1、L2优点,梯度全程连续
代码:nn.SmoothL1Loss()