softmax算法与损失函数的综合应用

本文探讨了softmax算法在深度学习中的应用,通过示例代码展示了softmax与损失函数的结合,以及如何简化已求softmax的loss计算。同时,介绍了退化学习率的概念,并在Maxout网络实现MNIST分类的案例中,使用了0.04的学习率进行200次迭代,观察到损失值的下降。Maxout网络虽然具备强大的拟合能力,但也存在节点过多、训练慢的问题,预示了后续章节将深入讨论更多拟合策略。
摘要由CSDN通过智能技术生成
6.5 softmax 算法与损失函数的综合应用
在神经网络中使用 softmax 计算 loss 时对于初学者常常会范很多错误,下面通过具体的实
例代码演示需要注意哪些关键的地方与具体的用法。
6.5.1 实例 22 交叉熵实验
对于交叉熵这个比较生僻的术语,在深度学习领域中是最常见不过了,由于其常用性,在
TensorFlow 中会被封装成为多个版本, 有的公式里直接带了交叉熵,有的需要自己单独求一下
交叉熵,而在构建模型时,如果这块知识不扎实,出现问题时很难分析是模型的问题还是交叉熵
的使用问题。 这里有必要通过几个小实验将其弄得更明白一些。
案例描述
下面一段代码,假设有一个标签 labels 和一个网络输出值 logits。
这个案例就是以这两个值来进行以下 3 次实验:
(1)两次 softmax 实验:将输出值 logits 分别进行 1 次和 2 次 softmax,观察两次的区别
及意义;
(2)观察交叉熵:将上个步骤中的两个值分别进行 softmax_cross_entropy_with_logits,
观察区别;
(3)自建公式实验:将做两次 softmax 的值放到自建组合的公式里得到正确的值。
代码 6-1 softmax 应用
 


 运行上面代码输出结果如下:


可以看到: logits 里面的值原本加和都是大于 1 的,但是经过 softmax 之后,总和变成了 1。
样本中第一个是跟标签分类相符的,第二与标签分类不符,所以第一个的交叉熵比较小为
0.02215516,而第二个比较大 3.09967351。
下面开始验证下前
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值