DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax+交叉熵误差)简介、使用方法、应用案例之详细攻略
DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax函数+交叉熵误差)简介、使用方法、应用案例之详细攻略
目录
SoftmaxWithLoss算法简介
1、Softmax-with-Loss层的计算图
2、正向传播
3、反向传播
4、总结
SoftmaxWithLoss算法使用方法
SoftmaxWithLoss算法应用案例
SoftmaxWithLoss算法简介
softmax 函数称为softmax 层,交叉熵误差称为Cross Entropy Error 层,两者的组合称为Softmax-with-Loss层。
1、Softmax-with-Loss层的计算图
计算图中假定了一个进行3 类别分类的神经网络。从前面的层输入的是(a1, a2, a3),softmax 层输出(y1, y2, y3)。此外,教师标签是(t1, t2, t3),Cross Entropy Error 层输出损失L。Softmac-with-Loss 层的反向传播的结果为(y1 − t1, y2 − t2, y3 − t3)。
2、正向传播
Softmax 层和Cross Entropy Error 层的内容
| Softmax层 | 输出记为(y1, y2, y3) | |
| Cross Entropy Error 层 |
3、反向传播
求这个计算图的反向传播时,要注意下面几点:
| Cross Entropy Error 层 | 输出记为(y1, y2, y3),结果(-t1/y1,-t2/y2,-t3/y3)是传给Softmax层的反向传播的输入。 | |
| Softmax层 | Step1:前面的层(Cross Entropy Error 层)的反向传播的值传过来。 Step2:“×”节点将正向传播的值翻转后相乘 Step3:正向传播时若有分支流出,则反向传播时它们的反向传播的值会相加。 Step4:“+”节点原封不动地传递上游的值。 Step5:"×”节点将值翻转后相乘。 Step6:向两个分支的输入和乘以exp(a1) 后的值就是我们要求的反向传播。
|
4、总结
Softmax-with-Loss层的计算图
SoftmaxWithLoss算法使用方法
1、 caffe源码—softmaxWithLoss
caffe::SoftmaxWithLossLayer< Dtype > Class Template Reference
net.loss = caffe.layers.SoftmaxWithLoss(net.fc3, net.label) 输出: layer {name: "loss"type: "SoftmaxWithLoss"bottom: "fc3"bottom: "label"top: "loss" }
SoftmaxWithLoss算法应用案例
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、GC对比
DL之DNN:自定义2层神经网络TwoLayerNet模型(封装为层级结构)利用MNIST数据集进行训练、预测
DL之DNN:DNN优化技术之利用MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD】对Mnist数据集训练来理解过拟合现象
DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD,weight_decay】对Mnist数据集训练来抑制过拟合
DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】对Mnist数据集训练来抑制过拟合
DL之DNN:自定义MultiLayerNet【6*100+ReLU,SGD】对MNIST数据集训练进而比较【多个超参数组合最优化】性能
DL之CNN:自定义SimpleConvNet【3层,im2col优化】利用mnist数据集实现手写数字识别多分类训练来评估模型
DL之CNN可视化:利用SimpleConvNet算法【3层,im2col优化】基于mnist数据集训练并对卷积层输出进行可视化
DL之CNN:利用自定义DeepConvNet【7+1】算法对mnist数据集训练实现手写数字识别、模型评估(99.4%)
参考文章
Caffe源码 - SoftmaxWithLossLayer
《新程序员》:云原生和全面数字化实践50位技术专家共同创作,文字、视频、音频交互阅读
总结
以上是生活随笔为你收集整理的DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax+交叉熵误差)简介、使用方法、应用案例之详细攻略的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 成功解决python中出现的Indent
- 下一篇: 成功解决This module was