iT邦幫忙

2021 iThome 鐵人賽

DAY 13
0
自我挑戰組

Machine Learning With Me ,從零開始機器學習!系列 第 13

Day 13: 人工神經網路初探 激活函數(上)

激活函數 Activation Function

數學方法去決定neuron輸出叫做激活函數(activation function)
但neuron的輸出並不是此方程式的結果,這是activation function對z值進行運算,並確定neuron的輸出。
Activation function會依據neuron的輸入是否與預測模組有關係,再來確定是否應執行activation function (打開或關閉)他所連接的neuron。實際上,activation function將每個neuron的輸出表準化為0到1或-1到1的範圍。

Linear Activation Function

線性激活函數根據函數將輸入乘以權重來計算neuron輸出。
線性激活函數的輸出由-∞ 到 +∞之間改變,這代表線性激活函數最好不要被啟動。

https://ithelp.ithome.com.tw/upload/images/20210919/20141566XMz7dc2po1.png

線性激活函數有以下兩種主要問題並且不在深度學習中使用:
深度學習使用一種叫做反向傳播(backpropagation)的方法,它使用了一種技術叫做梯度下降(gradient descent)的技術。梯度下降要求計算一階導數的輸入,在線性激活中是個常數(constant)。常數的一階導數為零,這代表它和輸入沒有任何關係。因此代表不可能回去更新輸入的權重。
假如使用線性激活方方法,無論神經網路層數是多少,最後一層將會成為第一層的線性函數。換句話說,線性激活函數將網路轉換成只有一層。這代表網路只能學習輸入到輸出的線性相依性,這並不適合解決電腦複雜的問題。

Sigmoid / Logistic Activation Function

Sigmoid activation function 使用S型函數計算neuron輸出。

https://ithelp.ithome.com.tw/upload/images/20210919/20141566bPYkBNXrOj.png

其中z使用的是之前方程式所得的值。
S型函數產生的值將會落於0到1之間,當輸入值大小有所差異時,將使得輸出平滑化,而不會出現數值差異過大的狀況。另一點優點是這是一格非線性函數且一階導數後不會產生常數值。這使得Sigmoid activation function相當適合使用於需要使用backpropagation的深度學習。

而sigmoid activation function最大的缺點就是輸出在大輸入值與小輸入值之間均不會有所改變。這使得sigmoid activation function不適合用於特徵向量包含大值或小值。一個克服這個缺點的解決方法是將特徵向量正規化,使得數值落於-1到1或者0到1之間。
另一個點是可以發現S型曲線並未居中於0。

https://ithelp.ithome.com.tw/upload/images/20210919/2014156624tLljzQsk.png

我們下篇接續~


上一篇
Day 12: 人工神經網路初探 深度學習
下一篇
Day 14: 人工神經網路初探 激活函數(中)
系列文
Machine Learning With Me ,從零開始機器學習!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言