sigmoid啟用函式的輸出不是以0為中心的,為什麼會導致鋸齒形更新引數?

時間 2021-05-30 00:05:09

1樓:Accrue

反向傳播過程中

引數更新方向即由 的符號決定

其中 與 對於當前所有待更新 一樣,相當於常數,故引數更新方向由 的符號確定。

由於sigmoid函式的輸出值恒為正,故 恆大於零,即當前所有 的更新方向都是一致的。

如果從當前值到最優解的更新方向對於各個 不同的話,那麼就可能出現鋸齒形更新。

2樓:漣漪呢喃

貼乙個我認為講的到位的回答,鋸齒狀並不是垂直方向或水平方向,而是使得w的兩個分量同時增加或減少的方向。

3樓:雀呢很

這是我看到的比較好的解釋,原鏈結貼在下面,裡面還有例子https://

blog.csdn.net/weixin_38646522/article/details/79534677

4樓:

This has implications on the dynamics during gradient descent, because if the data coming into a neuron is always positive, then the gradient on the weights will during backpropagation become either all be positive, or all negative.

CS231n Convolutional Neural Networks for Visual Recognition

原文如上。注意理解a neuron,這裡說的引數梯度是針對某乙個neuron的。因為 ,所以這樣的話, 相對於引數梯度只是乙個常數,其中 。

因而指向這個neuron的所有權重梯度都將是相同的符號(非正即負)。

但是這個問題似乎並不嚴重,因為優化過程使用的是Mini-batch SGD方法,不同的輸入 可能有或正或負的引數梯度,因而其和並不會很嚴重地偏離最優解的方向。

relu啟用函式比sigmoid效果好為什麼還用sigmoid?

蔥香車仔麵 謝沒人邀。一般來說,sigmoid函式用於二分類輸出層,relu函式用於各種神經網路的隱藏層。原因如下 因為sigmoid函式的值域為 0,1 對於二分類來說,其結果剛好也是0或者1。因此在二分類的輸出層使用sigmoid函式,剛好可以直接把結果用於計算損失函式,而不用做其他的數值轉換。...

神經網路中的SIGMOID函式的意義?

胡免 根據最大熵模型得來。具體推導可以看 統計學習方法 83 85頁。參考 https blog.csdn.net zynash2 article details 79261039 張揚 舉個例子 有個唱歌比賽,評委們有些是歌手的親戚,有些是歌手的仇人。遇到親人,狂打高分 遇到仇人,狂打低分。咋辦?...

神經網路的啟用函式都採用非線性函式,如閾值型或S型,為何不採用線性啟用函式呢?

如果採用線性啟用函式,那麼其實每一層的權值矩陣都可以直接相乘,到最後你會發覺自己在拿神經網路作多元線性回歸。模型缺少非線性錶出的能力。 魏秀參 非線性是神經網路或深度學習的 精氣神 正是由於網路中強大且無法形式化的非線性,才在當下大資料時代成為明日之星 http www.另外,當初人工神經網路 Ar...