DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax+交叉熵误差)简介、使用方法、应用案例之详细攻略
DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax函數(shù)+交叉熵誤差)簡(jiǎn)介、使用方法、應(yīng)用案例之詳細(xì)攻略
?
?
?
?
?
目錄
SoftmaxWithLoss算法簡(jiǎn)介
1、Softmax-with-Loss層的計(jì)算圖
2、正向傳播
3、反向傳播
4、總結(jié)
SoftmaxWithLoss算法使用方法
SoftmaxWithLoss算法應(yīng)用案例
?
?
?
?
?
?
SoftmaxWithLoss算法簡(jiǎn)介
? ? ? ? ?softmax 函數(shù)稱為softmax 層,交叉熵誤差稱為Cross Entropy Error 層,兩者的組合稱為Softmax-with-Loss層。
1、Softmax-with-Loss層的計(jì)算圖
? ? ? ? ?計(jì)算圖中假定了一個(gè)進(jìn)行3 類別分類的神經(jīng)網(wǎng)絡(luò)。從前面的層輸入的是(a1, a2, a3),softmax 層輸出(y1, y2, y3)。此外,教師標(biāo)簽是(t1, t2, t3),Cross Entropy Error 層輸出損失L。Softmac-with-Loss 層的反向傳播的結(jié)果為(y1 ? t1, y2 ? t2, y3 ? t3)。
?
2、正向傳播
Softmax 層和Cross Entropy Error 層的內(nèi)容
| Softmax層 | ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?輸出記為(y1, y2, y3) | |
| Cross Entropy Error 層 |
?
3、反向傳播
求這個(gè)計(jì)算圖的反向傳播時(shí),要注意下面幾點(diǎn):
| Cross Entropy Error 層 | ?輸出記為(y1, y2, y3),結(jié)果(-t1/y1,-t2/y2,-t3/y3)是傳給Softmax層的反向傳播的輸入。 | |
| Softmax層 | Step1:前面的層(Cross Entropy Error 層)的反向傳播的值傳過(guò)來(lái)。 Step2:“×”節(jié)點(diǎn)將正向傳播的值翻轉(zhuǎn)后相乘 Step3:正向傳播時(shí)若有分支流出,則反向傳播時(shí)它們的反向傳播的值會(huì)相加。 Step4:“+”節(jié)點(diǎn)原封不動(dòng)地傳遞上游的值。 Step5:"×”節(jié)點(diǎn)將值翻轉(zhuǎn)后相乘。 Step6:向兩個(gè)分支的輸入和乘以exp(a1) 后的值就是我們要求的反向傳播。 ? |
?
4、總結(jié)
Softmax-with-Loss層的計(jì)算圖
?
?
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算法應(yīng)用案例
DL之DNN:自定義2層神經(jīng)網(wǎng)絡(luò)TwoLayerNet模型(封裝為層級(jí)結(jié)構(gòu))利用MNIST數(shù)據(jù)集進(jìn)行訓(xùn)練、GC對(duì)比
DL之DNN:自定義2層神經(jīng)網(wǎng)絡(luò)TwoLayerNet模型(封裝為層級(jí)結(jié)構(gòu))利用MNIST數(shù)據(jù)集進(jìn)行訓(xùn)練、預(yù)測(cè)
DL之DNN:DNN優(yōu)化技術(shù)之利用MultiLayerNetExtend算法(BN層使用/不使用+權(quán)重初始值不同)對(duì)Mnist數(shù)據(jù)集訓(xùn)練評(píng)估學(xué)習(xí)過(guò)程
DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD】對(duì)Mnist數(shù)據(jù)集訓(xùn)練來(lái)理解過(guò)擬合現(xiàn)象
DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD,weight_decay】對(duì)Mnist數(shù)據(jù)集訓(xùn)練來(lái)抑制過(guò)擬合
DL之DNN:利用MultiLayerNetExtend模型【6*100+ReLU+SGD,dropout】對(duì)Mnist數(shù)據(jù)集訓(xùn)練來(lái)抑制過(guò)擬合
DL之DNN:自定義MultiLayerNet【6*100+ReLU,SGD】對(duì)MNIST數(shù)據(jù)集訓(xùn)練進(jìn)而比較【多個(gè)超參數(shù)組合最優(yōu)化】性能
DL之CNN:自定義SimpleConvNet【3層,im2col優(yōu)化】利用mnist數(shù)據(jù)集實(shí)現(xiàn)手寫數(shù)字識(shí)別多分類訓(xùn)練來(lái)評(píng)估模型
DL之CNN可視化:利用SimpleConvNet算法【3層,im2col優(yōu)化】基于mnist數(shù)據(jù)集訓(xùn)練并對(duì)卷積層輸出進(jìn)行可視化
DL之CNN:利用自定義DeepConvNet【7+1】算法對(duì)mnist數(shù)據(jù)集訓(xùn)練實(shí)現(xiàn)手寫數(shù)字識(shí)別、模型評(píng)估(99.4%)
?
參考文章
Caffe源碼 - SoftmaxWithLossLayer
?
?
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的DL之SoftmaxWithLoss:SoftmaxWithLoss算法(Softmax+交叉熵误差)简介、使用方法、应用案例之详细攻略的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 成功解决python中出现的Indent
- 下一篇: 成功解决This module was