什麼是人工神經網路?
現在,我相信我們大家都很熟悉什麼是a-nn了,但接下來請允許我按照自己的理解給a-nn下個定義——它是乙個強健有力的,同時也非常複雜的機器學習技術,它可以模仿人類的大腦,繼而模仿大腦的運作。
正如我們的人腦一樣,在乙個層次上和神經元網路中有數百萬個神經元,這些神經元通過一種稱之為synapses(突觸)的結構彼此緊緊相連。它可以通過 axons(軸突),將電訊號從乙個層傳遞到另乙個層。這就是我們人類學習事物的方式。 每當我們看到、聽到、感覺和思考時,乙個突觸(電脈衝)從層次結構中的乙個神經元被發射到另乙個神經元,這使我們能夠從我們出生的那一天起,就開始學習、記住和回憶我們日常生活中的東西。
好的,接下來我保證大家看到的不再是生物學領域的知識了。
什麼是啟用函式,它在神經網路模型中是如何使用的?
啟用函式(activation functions)對於人工神經網路模型去學習、理解非常複雜和非線性的函式來說具有十分重要的作用。它們將非線性特性引入到我們的網路中。其主要目的是將a-nn模型中乙個節點的輸入訊號轉換成乙個輸出訊號。該輸出訊號現在被用作堆疊中下乙個層的輸入。
而在a-nn中的具體操作是這樣的,我們做輸入(x)和它們對應的權重(w)的乘積之和,並將啟用函式f(x)應用於其獲取該層的輸出並將其作為輸入饋送到下乙個層。
問題是,為什麼我們不能在不啟用輸入訊號的情況下完成此操作呢?
那麼為什麼我們需要非線性函式?
而這一切都歸結於這一點,我們需要應用啟用函式f(x),以便使網路更加強大,增加它的能力,使它可以學習複雜的事物,複雜的表單資料,以及表示輸入輸出之間非線性的複雜的任意函式對映。因此,使用非線性啟用函式,我們便能夠從輸入輸出之間生成非線性對映。
啟用函式的另乙個重要特徵是:它應該是可以區分的。我們需要這樣做,以便在網路中向後推進以計算相對於權重的誤差(丟失)梯度時執行反向優化策略,然後相應地使用梯度下降或任何其他優化技術優化權重以減少誤差。
只要永遠記住要做:
「輸入時間權重,新增偏差和啟用函式」
最流行的啟用函式型別
1.sigmoid函式或者logistic函式
2.tanh — hyperbolic tangent(雙曲正切函式)
3.relu -rectified linear units(線性修正單元)
sigmoid啟用函式:它是乙個f(x)= 1/1 + exp(-x)形式的啟用函式。它的值區間在0和1之間,是乙個s形曲線。它很容易理解和應用,但使其不受歡迎的主要原因是:
- 梯度消失問題
- 其次,它的輸出不是以0為中心。它的梯度更新在不同的方向上且走得太遠。 0
- sigmoids函式飽和且kill掉梯度。
- sigmoids函式收斂緩慢。
現在我們該如何解決上述問題?
雙曲正切函式——tanh:其數學公式是f(x)= 1 - exp(-2x)/ 1 + exp(-2x)。現在它的輸出是以0中心的,因為它的值區間在-1到1之間,即-1
那麼我們該如何處理和糾正梯度消失問題呢?
relu -rectified linear units(線性修正單元):其實在過去幾年中它就已經非常受歡迎了。最近證明,相較於tanh函式,它的收斂性提高了6倍。只要r(x)= max(0,x),即如果x <0,r(x)= 0,如果x> = 0,則r(x)= x。因此,只看這個函式的數學形式,我們就可以看到它非常簡單、有效。其實很多時候我們都會注意到,在機器學習和電腦科學領域,最簡單、相容的技術和方法才是首選,才是表現最好的。因此,它可以避免和糾正梯度消失問題。現如今,幾乎所有深度學習模型現在都使用relu函式。
但它的侷限性在於它只能在神經網路模型的隱藏層中使用。
因此,對於輸出層,我們應該使用softmax函式來處理分類問題從而計算類的概率。而對於回歸問題,它只要簡單地使用線性函式就可以了。
relu函式的另乙個問題是,一些梯度在訓練過程中可能很脆弱,甚至可能會死亡。它可以導致權重更新,這將使其永遠不會在任何資料點上啟用。簡單地說relu可能會導致死亡神經元。
為了解決這個問題,我們引進了另乙個被稱為leaky relu的修改函式,讓它來解決死亡神經元的問題。它引入了乙個小斜坡從而保持更新值具有活力。
然後,我們還有另乙個變體,它形成於relu函式和leaky relu函式的結合,我們稱之為maxout函式。
結論問題是哪乙個更好用呢?
這個問題的答案就是,現在我們應該使用只應用於隱藏層的relu函式。當然,如果我們的模型在訓練過程中遇到死亡神經元,我們就應該使用leaky relu函式或maxout函式。
而考慮到現實的情況,sigmoid函式和tanh函式是不適用的,因為梯度消失問題(vanishing gradient problem)是乙個很嚴重的問題,會在訓練乙個神經網路模型中導致更多問題。
**: 機械人圈
css 什麼是zoom?它有什麼作用?
zoom 最初是 ie 的私有屬性,現在除了 firefox 之外的瀏覽器基本都支援 zoom。不過,zoom 依舊不是正式的屬性。與之對應的 transform 的 scale 屬性是正式的 css 屬性。zoom 主要的作用是用於元素或者頁面的縮放 transform 的 scale 也有同樣的...
什麼是Spring, 它有什麼特點?
spring是乙個輕量級的容器框架。輕量 從大小與開銷兩方面而言spring都是輕量的。控制反轉 spring通過ioc促進了松耦合。控制反轉 ioc inversion of control 是一種設計思想。ioc意味著將你設計好的物件交給容器控制,而不是傳統的在你的物件內部直接控制。誰控制誰,控...
什麼是物聯網卡管理平台 它有什麼作用?
一般來說,物聯網卡管理平台就是利用的無線網路和網際網路建立起來的乙個資料分析 傳輸 管理等一體化物聯網服務平台。物聯網平台在目前來說主要有以下5種型別 1 提供智慧型應用開發 2 以大資料分析和機器學習 3 針對終端提供連線性管理 診斷以及終端管理 4 平台委外,包括應用軟體 基礎架構 業務流程等服...