啟動函數是什麼?
在類神經網路的計算方式中,每一個類神經網路的節點,從輸入端給定後到輸出端,除了將不同的輸入端彙整在一起,還需要將這些輸入端彙整的資訊再經由啟動函數的運作,才能得到節點最終輸出。因此,啟動函數是扮演著將輸入端資訊轉換成輸出端的關鍵角色。
為什麼要有啟動函數??
如果沒有啟動函數,則在節點的輸出端,就僅僅只是輸入訊號。輸入與輸出之間的關係,就會呈現很簡單的線性關係,代表輸入訊號的增加,輸出也會隨著增加。
因為輸出會直接隨著輸入變化而變化,所以能描述的情況就會變得相當簡單!
而啟動函數存在的目的,這是為了要解決這樣問題。就是增加輸出與輸入之間的複雜度,才能描述更複雜的情況。
啟動函數介紹
一般常用的函數啟動函數有若干種,此處先討論Relu與sigmoid函數。
以Relu而言,它的特性是當輸入x為負值,Relu輸出為零;當x為正值時,Relu才會變成線性函數。因為有這些變化的特性,所以Relu又稱為是非線性函數,它的作用是可以有一個決定機制來判定,到底輸出要不要採納輸入。並非所有的輸入就會反應在輸出上。舉例來說,如果輸入訊號為負值,經由Relu的運算後,整體訊號就會為零,這時候輸入訊號就完全不會反應在輸出上。
以sigmoid函數而言,一般是用在分類問題上,其特性為當x值大於或小於某個臨界值,經由sigmoid函數計算後,就會變成是零或是1,這個特性就很適合用在分類問題上,把資料分類看是屬於0類別還是屬於1類別。
結論
啟動函數是類神經網路在計算時的關鍵元素,必須要針對不同的問題去給定相對應的啟動函數,才有機會可以讓類神經網路有良好的預測或分類能力。而如果啟動函數的選擇錯誤,最終就會導致網路的整個潰敗。
[參考資料]:
2.機器學習與人工神經網路(二):深度學習(Deep Learning)
[類神經網路基礎系列專文]:
1.類神經網路(Deep neural network, DNN)介紹
3.類神經網路—啟動函數介紹(一): 深入解析Relu與Sigmoid函數:如何影響類神經網路的學習效果?
4.類神經網路—啟動函數介紹(二): 回歸 vs. 分類: 線性函數與Tanh函數之原理探索
5.類神經網路—啟動函數介紹(三): 掌握多元分類的核心技術:不可不知的softmax函數原理
6.類神經網路—啟動函數介紹(四): 如何選擇最適當的啟動函數?用一統整表格讓您輕鬆掌握
8.類神經網路—反向傳播法(一): 白話文帶您了解反向傳播法
10.類神經網路—反向傳播法(三): 五步驟帶您了解梯度下降法
11.類神經網路—反向傳播法(四): 揭開反向傳播法神秘面紗
12.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
13.類神經網路—反向傳播法(五): 用等高線圖讓您對學習率更有感
[機器學習基礎系列專文]:
1.機器學習訓練原理大揭秘:六步驟帶您快速了解監督式學習的訓練方法
[類神經網路延伸介紹]:
1.卷積類神經網路(Convolution neural network,CNN)介紹
2.遞迴類神經網路(Recurrent neural network,RNN)介紹
[ChatGPT系列專文]:
2.從ChatGPT探索GPT的原理概念:少量數據的解方—遷移學習技巧
3.ChatGPT是什麼?探索GPT原理:遷移學習(transfer learning)的奧秘—微調(fine-tuning)技巧