1樓:匿名使用者
理論上講任何一個連續的非多項式、常數函式都可以做為bp的啟用函式
而且這都是已經在數學上證明過的問題。
那麼為什麼一般是要選作sigmoidal函式
我認為是sigmoid函式相對其他函式有它自身的優點
比如說光滑性,魯棒性,以及在求導的時候可以用它自身的某種形式來表示
這一點在做數值試驗的時候很重要,因為權值的反向傳播,要求啟用函式的導數
多層就有多個導數,如果用一般的連續函式,這對計算機的儲存和運算都是一個問題
此外還要考慮整個模型的收斂速度,我上面提到連續函式都可以做啟用函式
但是相應的sigmoidal型函式的收斂速度還是比較快的,(相同的結構前提下)
還有就是bp在做分類問題的時候,sigmoidal函式能比較好的執行這一條件
關於連續函式可以做啟用函式的證明,可以在ieee trans. on neural networks
和 neural networks以及neural computating 和neural computation上找到
這類問題在上個世紀90年代就已經基本解決
2樓:匿名使用者
啟用函式就是傳遞函式
神經網路中的啟用函式是用來幹什麼的? 30
3樓:
不同的啟用函式是用來實現不同的資訊處理能力,神經元的變換函式反映了神經元輸出與其啟用狀態之間的關係。
神經網路中relu是線性還是非線性函式?如果是線性的話為什麼還說它做啟用函式比較好? 20
4樓:豬排滑蛋飯
relu是非線性啟用函式
題主的疑問在於,為什麼relu這種“看似線性”(分段線性)的啟用函式所形成的網路,居然能夠增加非線性的表達能力。
1、首先什麼是線性的網路,如果把線性網路看成一個大的矩陣m。那麼輸入樣本a和b,則會經過同樣的線性變換ma,mb(這裡a和b經歷的線性變換矩陣m是一樣的)。
2、的確對於單一的樣本a,經過由relu啟用函式所構成神經網路,其過程確實可以等價是經過了一個線性變換m1,但是對於樣本b,在經過同樣的網路時,由於每個神經元是否啟用(0或者wx+b)與樣本a經過時情形不同了(不同樣本),因此b所經歷的線性變換m2並不等於m1。因此,relu構成的神經網路雖然對每個樣本都是線性變換,但是不同樣本之間經歷的線性變換m並不一樣,所以整個樣本空間在經過relu構成的網路時其實是經歷了非線性變換的。
3、還有一種解釋就是,不同樣本的同一個feature,在通過relu構成的神經網路時,流經的路徑不一樣(relu啟用值為0,則堵塞;啟用值為本身,則通過),因此最終的輸出空間其實是輸入空間的非線性變換得來的。
4、更極端的,不管是tanh還是sigmoid,你都可以把它們近似看成是分段線性的函式(很多段),但依然能夠有非線性表達能力;relu雖然只有兩段,但同樣也是非線性啟用函式,道理與之是一樣的。
5、relu的優勢在於運算簡單,網路學習速度快
5樓:
1、嚴格來說的話 relu算是分段線性函式。中間隱層啟用函式採用線性函式(例如恆等變換)不好是因為,最後算下來多層網路跟單層網路一個效果。其實 啟用函式的存在是為了神經網路更好的擬合目標函式而已。
2、relu比sigmoid和tanh好是因為它的收斂速度快(sigmoid、tanh函式在自變數比較大的時候 導數很小,採用梯度下降法 變化緩慢,特別是多層網路 就更慢了),計算量比較小(只需要一個閾值進行比較 而不需要做函式運算)。
6樓:
1、嚴格來講 relu函式算是分段線性函式。中間隱層啟用函式選用線性函式(例如恆等函式)不好,是因為算下來多層網路和單層網路一個效果。其實啟用函式的存在是為了神經網路更好的擬合目標函式;
2、relu比sigmoid或tanh好 是因為他的收斂速度比另外兩個快很多(sigmoid自變數比較大時導數趨於零 採用梯度下降法 反應慢,多層網路更為明顯),計算量也要小(relu只需要和閾值做比較,不需要帶入函式計算)。
7樓:
神經元的廣泛互聯與並行工作必然使整個網路呈現出高度的非線性特點。在客觀世界中,許多系統的輸入與輸出之間存在著複雜的非線性關係,對於這類系統,往往很難用傳統的數理方法建立其數學模型。設計合理地神經網路通過對系統輸入輸出樣本對進行自動學習,能夠以任意精度逼近任何複雜的非線性對映。
神經網路的這一優點能使其可以作為多維非線性函式的通用數學模型。該模型的表示式非解析的,輸入輸出資料之間的對映規則由神經網路在學習階段自動抽取並分散式儲存在網路的所有連線中。具有非線性對映功能的神經網路應用十分廣闊,幾乎涉及所有領域。
8樓:布衣之莠
relu導數不是常數,非線性的
神經網路傳遞函式想要自定義應該怎麼寫
functions 定義函式,然後直接呼叫就行 例如 functions 輸出變數 hs 輸入變數 其中,hs為函式名,可以自己定義 在搭建神經網路的時候,如何選擇合適的轉移函式 一般來說,神經網bai絡的激勵函式有du以下幾種 zhi階躍函式 準線性函式,dao雙曲正切函 專數,sigmoid函式...
關於神經網路的newrb 函式問題
spread 是一個標量 表示徑向基函式的擴充套件速度 預設值為1 goal也是一個標量 是指定的均方誤差 預設值0 mn指定隱含節點的最大個數 預設值是 輸入訓練樣本的個數 哇塞,一般人沒法聽懂的問題 用matlab的newrb函式建立的神經網路,怎麼檢視網路引數 newrb設計了徑向基網路,呼叫...
matlab中建立bp神經網路的函式newff的引數的
1.newff雖然沒有規定輸入層神經元個數,那輸入層神經元個數是如何確定的?輸入層是根據你讀入資料的維度,自動生成的。2.我現在讀入了10張 把每張 歸一化成了50 20的,並轉換成1 1000的行向量,最後生成了10 1000的二維矩陣,然後,我再用eye 10,10 函式製造了一個單位矩陣,那麼...