DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题
生活随笔
收集整理的這篇文章主要介紹了
DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
DL之BP:利用乘法層/加法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
導讀
計算圖中層的實現(加法層/乘法層),其實非常簡單,使用這些層可以進行復雜的導數計算。可以進一步利用計算圖思路,來理解神經網絡中的運作機制。
?
?
目錄
利用乘法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
輸出結果
CG思路
實現代碼
利用加法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
輸出結果
CG思路
實現代碼
?
?
?
利用乘法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
實現購買2個蘋果
輸出結果
?
CG思路
?
實現代碼
apple = 100 apple_num = 2 tax = 1.1apple_price = mul_apple_layer.forward(apple, apple_num) price = mul_tax_layer.forward(apple_price, tax)dprice = 1 dapple_price, dtax = mul_tax_layer.backward(dprice) dapple, dapple_num = mul_apple_layer.backward(dapple_price)print('僅使用乘法層:購買2個蘋果和消費稅的例子') print("price:", int(price)) print("dApple:", dapple) print("dApple_num:", int(dapple_num)) print("dTax:", dtax)?
?
利用加法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
實現購買2個蘋果和3個橘子的例子
輸出結果
?
?
CG思路
?
實現代碼
apple = 100 apple_num = 2 orange = 150 orange_num = 3 tax = 1.1apple_price = mul_apple_layer.forward(apple, apple_num) # (1) orange_price = mul_orange_layer.forward(orange, orange_num) # (2) all_price = add_apple_orange_layer.forward(apple_price, orange_price) # (3) price = mul_tax_layer.forward(all_price, tax) # (4)dprice = 1 dall_price, dtax = mul_tax_layer.backward(dprice) # (4) dapple_price, dorange_price = add_apple_orange_layer.backward(dall_price) # (3) dorange, dorange_num = mul_orange_layer.backward(dorange_price) # (2) dapple, dapple_num = mul_apple_layer.backward(dapple_price) # (1)print('混合使用加法層和乘法層,實現購買2個蘋果和3個橘子的例子') print("price:", int(price)) print("dApple:", dapple) print("dApple_num:", int(dapple_num)) print("dOrange:", dorange) print("dOrange_num:", int(dorange_num)) print("dTax:", dtax)?
?
參考文章
DL之CG:Computational Graph計算圖的簡介、入門、使用之詳細攻略DL之BP:利用乘法層/加法層(forward+backward)算法結合計算圖(CG)求解反向求導應用題
總結
以上是生活随笔為你收集整理的DL之BP:利用乘法层/加法层(forward+backward)算法结合计算图(CG)求解反向求导应用题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DL之CG:Computational
- 下一篇: TF版本升级问题集合:成功解决由于不同的