iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
AI & Data

【30天之新手學習筆記】PyTorch系列 第 11

Day 11- 激勵函數的實作

  • 分享至 

  • xImage
  •  

昨天的文章中有稍微提到激勵函數相關的介紹,但都沒有實際利用PyTorch函式庫中預先定義的激勵函數進行相關的操作,我這次主要就四個比較常利用的激勵函數 : sigmoid, tanh , ReLUsoftmax來做相關的實作.

sigmoid

sigmoid是神經網路歷史中最早使用激勵函數之一.它的功能是將實值(y)壓在0至1之間.
https://ithelp.ithome.com.tw/upload/images/20220924/20152671fCXmh2qIiV.png
https://ithelp.ithome.com.tw/upload/images/20220924/20152671NAUEGZWLG4.png

tanh

tanh是sigmoid函式去進行線性轉換後的結果,tanh和sigmoid都是屬於壓縮函式,但不同於sigmoid將實值壓縮在0至1之間,tanh則是將實值壓縮在-1至1之間.
https://ithelp.ithome.com.tw/upload/images/20220924/201526713zI63HFpQr.png
https://ithelp.ithome.com.tw/upload/images/20220924/20152671QPquND7V6g.png

ReLU

所有的ReLU單元只是將負值截為0,它可以說是激勵函數中最重要的一個,但它形式卻也意外的簡單.
https://ithelp.ithome.com.tw/upload/images/20220924/20152671FnDaMOxWsv.png
https://ithelp.ithome.com.tw/upload/images/20220924/20152671TI5NxQ92Pp.png
ReLU當中處理梯度消失的截零,會使神經網路中的輸出在經過一段時間後變成零且不會還原,這個現象被稱dying ReLU.為了緩和上述的現象可以利用PReLU這個激勵函數.
https://ithelp.ithome.com.tw/upload/images/20220924/20152671sJy7I98NHF.png
https://ithelp.ithome.com.tw/upload/images/20220924/20152671l3htj2kagT.png

Softmax

softmax如同sigmoid函式將每個輸出壓縮成0至1之間,並將每個輸出除以所有輸出的總和,使其結果分布中的機率總和為1,因此這種轉換常見於機率性訓練目標.
https://ithelp.ithome.com.tw/upload/images/20220924/201526716xxIu5sspa.png
https://ithelp.ithome.com.tw/upload/images/20220924/20152671DCabdmJySF.png


參考資料:


上一篇
Day 10 - 激勵函數(Activation Function)介紹
下一篇
Day 12 - 損失函式(loss function)的介紹
系列文
【30天之新手學習筆記】PyTorch30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言