1. 程式人生 > >第一篇:啟用函式

第一篇:啟用函式

啟用函式是神經網路中重要的關鍵元素之一。如果沒有啟用函式,神經網路就是一個線性組合的函式,而生活中絕大多數模型均是非線性的,因此模型的可擴充套件性非常差,其效果並不比羅輯迴歸更好。而在神經網路中加入啟用函式,就增加了神經網路的非線性。

比如XOR(抑或函式),無法通過原始線性模型實現。比如XOR中,x1和x2是輸入,x1=0時,模型的輸出必須隨著x2的增大而增大,而x1=1是,模型的輸出必須隨著x2的增大而減小。線性模型不能使用x1的值來改變x2的係數,從而不能解決這個問題。(可以類比FMEA中的單點失效和多點失效,FMEA無法分析多點失效的情況,假設因子是解耦的,x1的輸入不影響x2對結果的變化(斜率))。而通過由神經網路提取的特徵(前提是必須使用非線性函式來描述這些特徵,大多數神經網路通過仿射變換之後緊跟著一個被成為啟用函式的固定非線性函式來實現這個目標)表示的變換空間中,線性模型現在可以解決這個問題。

常用的啟用函式有ReLU(整流線性單元),sigmoid(會存在梯度消失現象,但在一些二分類中仍然使用,因為輸出介於0和1之間,比較方便)等。

ReLU啟用函式是被推薦用於大多數前饋神經網路但預設啟用函式。將此函式用於線性變換但輸出將產生非線性變換。然而,函式仍然非常接近線性。在某種意義是那個它是具有兩個線性部分但分段線性函式。由於ReLU幾乎是線性的,因此它們保留了許多使得線性模型易於使用基於梯度的方法進行優化的屬性,還保留了許多使得線性模型能夠泛化良好的屬性。