- 博客(9)
- 收藏
- 关注
原创 彻底搞懂交叉熵、最大似然与KL散度:深度学习最全推导教学
本文系统梳理了交叉熵损失在深度学习中的核心作用及其与最大似然估计、KL散度的关系。从信息论角度解释了交叉熵衡量两个概率分布距离的本质,推导了softmax输出下的损失函数表达式($L = -z_i + \log\sum_j e^{z_j}$)。通过最大似然估计框架,展示了如何通过取对数将概率乘积转为可优化的加和形式。最后阐明最小化交叉熵等价于最小化KL散度,因其第二项(真实分布熵)为常数。文章以PyTorch/TensorFlow的实际实现方式为例,完整呈现了从理论定义到工程应用的推导链条。
2025-06-26 15:07:07
985
原创 深度学习核心必懂!交叉熵+卷积层权重偏置梯度详解与完整推导
本文详细解析了交叉熵损失对卷积神经网络权重和偏置梯度计算的影响过程。通过拆解关键公式,推导了误差信号δ的计算方法(δ_i = p_i - y_i),并展示了卷积层权重梯度∂L/∂w的链式法则推导。文章结合具体实例,演示了如何从softmax输出和交叉熵损失出发,逐步计算每个卷积核参数的梯度。其中以3×3输入和2×2卷积核为例,详细展示了误差信号反向传播时如何影响不同权重(如w_0,0和w_0,1)的梯度计算过程。推导表明,卷积核权重梯度等于对应输入区域与误差信号的乘积之和,偏置梯度则是误差信号的总和。
2025-06-24 11:29:11
1132
原创 PyTorch 训练流程完全理解:loss.backward() 到底干了些啥?
本文详细解析了PyTorch训练流程中loss.backward()的核心机制。通过一个三分类任务的简单示例,作者拆解了反向传播的计算过程:loss.backward()会沿计算图反向传播,自动计算每个参数对loss的梯度并存储在.grad属性中。这些梯度指示了参数调整方向(如交叉熵损失时梯度等于softmax输出减去one-hot标签)。optimizer.step()利用这些梯度更新参数,而optimizer.zero_grad()则必须调用以避免梯度累加导致的训练错误。全文通过手算验证梯度值,揭示了P
2025-06-20 14:30:24
883
原创 PyTorch 常用优化器总结
本文总结了PyTorch中常用的几种优化器及其适用场景。优化器是用于根据损失函数调整神经网络参数的工具,主要类型包括:1) SGD(适合传统图像任务和初学者);2) Adam(最常用,适合NLP和图像分类);3) RMSprop(推荐用于RNN);4) Adagrad/Adadelta(适合稀疏特征);5) AdamW(专为Transformer模型优化)。作者根据实践经验给出了优化器选择建议:CNN推荐SGD或Adam,NLP使用Adam/AdamW,RNN用RMSprop,Transformer必选Ad
2025-06-19 17:52:37
461
原创 PyTorch CNN 教程(基础部分模块简短详解)
python复制编辑class ConvBlock(nn.Module):x = self.conv(x) # 卷积提特征x = F.relu(x) # 非线性激活x = self.pool(x) # 下采样return x模块名作用是否改变形状为什么需要统一图像输入尺寸✅保证模型结构一致ToTensor()PIL → Tensor + 像素归一化✅可被模型接受标准化像素值❌加快训练收敛Conv2d提取局部图像特征✅识别边缘、纹理ReLU非线性映射❌表达复杂函数。
2025-06-16 11:15:06
850
原创 python初学,常用魔术方法以及实例(Java 思维下的类比,内容java友好)
MyList分类魔术方法用途/触发方式初始化__init__创建对象时自动调用销毁__del__对象销毁时自动调用长度相关__len__len(obj)下标访问obj[i]下标赋值删除元素del obj[i]可迭代__iter__运算符重载__add__比较__eq__字符串表示__str__print(obj)调试表示__repr__obj在控制台输出时使用普通方法任意def你可以把这个类理解为:Java 中一个实现了 List 接口、重写了toString()
2025-06-11 12:27:21
466
原创 Python 全套语法详解(适合 Java 程序员)想到哪写到哪
✅ 包含基础语法 → 面向对象 → 异常处理 → 迭代器生成器 → 装饰器 → 高阶函数 → 协程等所有关键知识。
2025-06-09 17:03:18
1004
1
原创 神经网络基础,内容自学笔记记录Softmax + One-Hot + 交叉熵 分类方法详解,想到哪写哪儿,含所有公式详细推理步骤,举例说明
摘要 本文详细解析了基于Softmax、One-Hot编码和交叉熵的分类方法。首先介绍了输入输出结构(如MNIST的784维输入和10维输出),权重与偏置的作用。通过数学公式推导了线性输出z的计算过程,并重点讲解了Softmax函数如何将得分转换为概率分布,包括数值稳定技巧。 文章阐述了One-Hot编码的原理及其表示形式,并深入分析了交叉熵损失函数的定义和应用场景,强调其梯度(而非数值)在训练中的关键作用。通过具体示例展示了反向传播过程中梯度推导的步骤,包括Softmax导数计算和交叉熵损失对参数的偏导。
2025-06-05 17:39:32
749
原创 神经网络自我学习笔记附带例子
用长度等于类别数的向量表示类别对应类别位置为1,其他位置为0784个输入对应784个权重维度,输出10类对应10个输出节点,权重矩阵大小是 10×784偏置是给每个输出节点单独加一个可调节的常量值,提升模型表现力softmax将输出转成概率one-hot编码方便计算损失和梯度交叉熵衡量预测和真实差距梯度计算中,误差是预测减真实梯度乘以输入更新权重,误差直接更新偏置2.718+2.718+
2025-06-03 15:16:02
722
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人