softmax,softmax-loss,BP的解释

softmax函数 本文先介绍了softmax的函数公式,并详细推导了softmax函数公式的求导过程,然后说明了softmax的溢出问题,并探讨了解决方法,最后提及了softmax函数在多分类问题中的应用。 阅读详情

本文转载自:http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/ ,看完这个博客让我对softmax,softmax-loss以及BP算法有了更深的理解,以前BP只是知道链式求导,知道梯度回传,但是具体到哪些变量和哪些变量求导就有些模糊了,现在我特整理了下思路,以下大部分是链接的原文,附带自己的一些理解(用红色标出)


联想逻辑回归的重要公式就是,得到预测结果,然后再经过sigmoid转换成0到1的概率值,而在softmax中则通过取exponential的方式并进行归一化得到某个样本属于某类的概率。非负的意义不用说,就是避免正负值抵消。


逻辑回归的推导可以用最大似然或最小损失函数,本质是一样的,可以简单理解成加了一个负号,这里的y指的是真实类别。注意下softmax-loss可以看做是softmax和multinomial logistic loss两步,正如上述所写公式,把变量展开即softmax-loss。


原博客的重点在于介绍softmax-loss是分成两步还是一步到位比较好,而我这则重点说下BP。上面这个神经网络的图应该不陌生,这个公式也是在逻辑回归的核心(通过迭代得到w,然后在测试时按照上面这个公式计算类别概率)


这里第一个公式是损失函数对权重w求导,其实就是梯度,红色那部分可以看前面O是怎么算出来的,就知道其导数的形式非常简单,就是输入I。蓝色部分就是BP的核心,回传就是通过这个达到的,回传的东西就是损失函数对该层输出的导数,只有把这个往前回传,才能计算前面的梯度。所以回传的不是对权重的求导,对每层权重的求导的结果会保留在该层,等待权重更新时候使用。具体看上面最后一个公式。


这部分的求导:l(y,z)函数是log函数,log(x)函数求导是取1/x,后面的那个数是zy对zk的导数,当k=y时,那就是1,k不等于y时就是两个不同的常数求导,就是0。


这一部分就是把softmax-loss分成两步来做,第一个求导可以先找到最前面l(y,o)的公式,也是log函数,所以求导比较简单。第二个求导也是查看前面Oi的公式,分母取平方的那种求导。最后链式相乘的结果和原来合并算的结果一样。

详解softmax和sigmoid 详解softmax和sigmoid激活函数简介softmax函数softmax函数的性质softmax函数的使用softmax的实现代码python实现softmax函数图像sigmoid函数sigmoid函数的性质sigmoid函数的使用sigmoid的实现代码python实现sigmoid函数绘图softmax和sigmoid的对比 激活函数简介 从事或对人工智能行业有了解的人员来说,相信对s... 阅读详情

相关推荐

奥比中光Dabai深度相机SDK在Ubuntu22.04的兼容性安装指南

本文详细指导如何在Ubuntu22.04系统上安装奥比中光Dabai深度相机的SDK。针对新旧版本不兼容的核心问题,重点推荐使用经过验证的v1.10.18版本SDK,并提供了从系统依赖检查、SDK下载安装、Python环境配置到编译测试的完整步骤,帮助用户成功解决安装难题并实现相机驱动。

j2k3l4的博客 966

一文彻底搞懂 Softmax 函数,数学原理分析和 PyTorch 验证

Softmax 函数的数学原理分析和 PyTorch 使用

qq_43799400的博客 5万+

KUKA机器人 - 从开机到自动运行

注1:本文仅代表本人对机器人使用的一些建议,在使用机器人前,还请详细阅读库卡机器人官方资料,道路千万条,安全第一条!!! 注2:技术有限,欢迎各位大大在阅读过程中发现各类问题,并且批评指正!!! 目录 一、准备工作 1. 机器人上电完成 2. 电脑安装Workvisual 二、学习手动移动机器人 三、项目配置 1. 设置机器人IP地址 2.电脑和机器人通过网线连接 3.查找并打开项目 4. 通讯配置 5. 项目上传 6. 检验IO配置 四、编程 1.新建程序 2. 程序...

yilunyao的博客 1万+

Softmax公式

MasterCayman的博客 2284

机器学习- softmax激活函数

softmax函数 softmax函数,一般用于多分类的问题上,将多个神经元的输入,映射在(0,1)之间。可以当作概率的计算。这一点跟sigmoid函数相似。 softmax的计算公式为: Si=ei∑j=1nejS_i = \frac{e^i}{\sum_{j=1}^n e^j}Si​=∑j=1n​ejei​ 【值得关注的是: ∑i=1nSi=1\sum_{i=1}^n S_i = 1∑i=1n​Si​=1】 相当于每个神经元的exp值 除上 所有神经元的exp值总和。 举个简单的例子。 输入三个神经元的

Jiana_Feng的博客 3673

[softmax]softmaxsoftmax-lossBP解释

本文转载自:http://freemind.pluskid.org/machine-learning/softmax-vs-softmax-loss-numerical-stability/ ,看完这个博客让我对softmaxsoftmax-loss以及BP算法有了更深的理解,以前BP只是知道链式求导,知道梯度回传,但是具体到哪些变量和哪...

急流勇进 331

正向传播和反向传播

另外,加法的反向传播只是将上游的值传给下游,并不需要正向传播的输入信号。这就是BP算法思想的核心,即先正向传播,计算出误差(损失值,通常会用一个损失函数来衡量预测值与真实值的差距,例如交叉熵函数、均方误差函数等等),然后将误差反向传播,得出每个参数应当做多少的修改以更接近真实值,让误差变小,从而使模型进行训练。因为计算图拥有计算局部性的优点,所以可以通过正向传播和反向传播高效地计算各个变量的导数值,从而高效的完成计算。,计算的方式:沿着与正方向相反的方向,上游传来的导数乘上局部导数,得出传给下游的导数。

0xffffffffff的博客 1240

损失函数改进之Large-Margin Softmax Loss

最近几年网络效果的提升除了改变网络结构外,还有一群人在研究损失层的改进,这篇博文要介绍的就是较为新颖的Large-Margin softmax loss(L-softmax loss)。Large-Margin softmax loss来自ICML2016的论文:Large-Margin Softmax Loss for Convolutional Neural Networks 论文链接:htt

AI之路 3万+

阅读小结:Large-Margin Softmax Loss for Convolutional Neural Networks

徐博最近一直在看我博客,肯定是想看我什么时候不更新,然后好嘲笑我。当然,不排除徐博已经爱上我的可能。 What: 改进SoftmaxLoss,显式的控制类内的距离,(不让 已经对的样本score太高,影响训练) 可以防止过拟合。 回顾SoftmaxLoss: 1. Softmax 就是一个把一个向量归一的函数,输出也是向量。在matlab里就3行代码: % X

郑哲东的博客 2476

【机器学习】BP & softmax求导

目录 一、BP原理及求导 二、softmax及求导 一、BP 1、为什么沿梯度方向是上升最快方向 根据泰勒公式对f(x)在x0处展开,得到f(x) ~ f(x0) + f'(x0)(x-x0), 故得到f(x) - f(x0) ~f'(x0)(x-x0), 所以从x0出发,变化最快,即使f(x)-f(x0)最大,也就f'(x0)(x-x0),由于f'...

apk6909的博客 273

softmax层(无loss)是什么样的?

名称:softmax_layer 连接:softmax层一般连接的是全连接层和loss层 这里有softmax层的来历解释,我感觉解释的很好:http://zhidao.baidu.com/link?url=brlk4rKSEl3AVbpu5cL8S9FZOeFF1nVES1lydYSa84ctjpSDU5dXZDo-1llgcnwubScZ2jaq194Mr8g52wk7cGZR8J747y

有信念,才能走的更远 4824

SoftMax函数

Softmax函数是一种常用于多类分类任务的激活函数,其主要作用是将一个实数向量转换成一个概率分布。每个元素的值在(0)到(1)之间,并且所有元素的和为(1)。

SisterRu的博客 1920

Softmax函数公式详解

实际应用中,为提高数值稳定性,常先对输入向量减去最大值(如 ( z_{\text{max}} = \max(z) )),以避免指数运算导致的溢出问题。Softmax还支持温度参数T调节分布平滑度:当T > 1时输出更平缓(用于模型蒸馏),T < 1时更偏向最大值类别。Softmax函数主要用于多分类问题的输出层,将任意实数向量转换为概率分布,确保所有输出值在0到1之间且总和为1。其中,分子 ( e^{z_i} ) 是指数运算,用于放大输入值之间的差异,使较大值更突出;

Kent_Li的博客 2258

Softmax计算解析:从公式到实例

Softmax是一种将实数向量转换为概率分布的函数,通过指数运算放大数值差异后归一化。例如,输入[2,1,0]经过计算得到[0.665,0.245,0.090],突出最大值的同时保留其他值的贡献。其名称来源于与"硬max"(只保留最大值)的对比,softmax更"柔和"地处理数值差异,既突出主导值又不完全忽略其他值。这种特性使其成为分类任务中输出概率分布的理想工具。

ZhangJiqun&191cm&85kg 1492

What is the Softmax Function?详解机器学习中的Softmax函数【小白菜可懂】

softmax函数是把K个实值转换为另外K个实值并使K个实值之和为1的函数。输入数值可以是正数/负数/0或者几种的组合,经过softmax函数转换为[0,1]之间的数值,以便于用来描述概率分布。如果一个输入数值很小或负数,softmax函数则将它转换为小的概率值;如果一个输入数值很大,softmax函数则将它转换为大的概率值,每一个转换后的数值都将保持在[0,1]的范围之内。

FreeBird 9416

【深度学习】Softmax 函数详解

本文详细介绍了 Softmax 函数。理解 Softmax 函数对于深度学习模型的设计和实现非常重要,它是连接神经网络输出和概率解释之间的关键桥梁。

欢迎来到我的CSDN个人博客主页! 5848

Softmax 和交叉熵损失函数

目录Softmax 函数交叉熵损失函数学习率衰减策略 Softmax 函数 Softmax 函数函数是机器学习和深度学习中相当常用到的函数,它的公式如下: softmax(S)=esk∑jesj softmax(S)=\frac { e ^ { s _ { k } } } { \sum _ { j } e ^ { s _ { j } } } softmax(S)=∑j​esj​esk​​ 其中 ???????? 表示的是输入到 Softmax 函数的数据。Softmax 函数具体的作用是将输入标准化到

weixin_44853840的博客 5110

博途V15出口限制的硬件支持包TIA-Portal-V15-HSP-restricted-链接地址.txt

博途V15出口限制的硬件支持包TIA_Portal_V15_HSP_restricted_链接地址

上一篇: 论文《Sphereface:Deep Hypersphere Embedding for Face Recognition》
下一篇: Contrastive Loss (对比损失)
LittleStudent12
博客等级 码龄8年 32粉丝 18原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值