0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

BP神經網絡的概念

新機器視覺 ? 來源:新機器視覺 ? 2020-09-24 11:51 ? 次閱讀

最近學習BP神經網絡,網上文章比較參差不齊,對于初學者還是很困惑,本文做一下筆記和總結,方便以后閱讀學習。

一、BP神經網絡的概念

BP神經網絡是一種多層的前饋神經網絡,其主要的特點是:信號是前向傳播的,而誤差是反向傳播的。具體來說,對于如下的只含一個隱層的神經網絡模型:輸入向量應為n個特征

BP神經網絡的過程主要分為兩個階段,第一階段是信號的前向傳播,從輸入層經過隱含層,最后到達輸出層;第二階段是誤差的反向傳播,從輸出層到隱含層,最后到輸入層,依次調節(jié)隱含層到輸出層的權重和偏置,輸入層到隱含層的權重和偏置。

1. 神經元:神經元,或稱神經單元/神經節(jié)點,是神經網絡基本的計算單元,其計算函數稱為激活函數(activation function),用于在神經網絡中引入非線性因素,可選擇的激活函數有:Sigmoid函數、雙曲正切函數(tanh)、ReLu函數(Rectified Linear Units),softmax等。

1.1 Sigmoid函數,也就是logistic函數,對于任意輸入,它的輸出范圍都是(0,1)。公式如下:

Sigmoid的函數圖如上所示,很像平滑版的階躍函數。但是,sigmoid 有很多好處,例如:

(1)它是非線性的

(2)不同于二值化輸出,sigmoid 可以輸出0到 1 之間的任意值。對,跟你猜的一樣,這可以用來表示概率值。

( 3)與 2 相關,sigmoid 的輸出值在一個范圍內,這意味著它不會輸出無窮大的數。但是,sigmoid 激活函數并不完美: 梯度消失。如前面的圖片所示,當輸入值 z 趨近負無窮時,sigmoid 函數的輸出幾乎為0 . 相反,當輸入 z 趨近正無窮時,輸出值幾乎為 1 . 那么這意味著什么?在這兩個極端情況下,對應的梯度很小,甚至消失了。梯度消失在深度學習中是一個十分重要的問題,我們在深度網絡中加了很多層這樣的非線性激活函數,這樣的話,即使第一層的參數有很大的變化,也不會對輸出有太大的影響。換句話講,就是網絡不再學習了,通常訓練模型的過程會變得越來越慢,尤其是使用梯度下降算法時。

1.2 Tanh函數

Tanh 或雙曲正切是另一個深度神經網絡中常用的激活函數。類似于 sigmoid 函數,它也將輸入轉化到良好的輸出范圍內。具體點說就是對于任意輸入,tanh 將會產生一個介于-1 與 1 之間的值。

Tanh函數圖

如前面提及的,tanh 激活函數有點像 sigmoid 函數。非線性且輸出在某一范圍,此處為(-1, 1)。不必意外,它也有跟 sigmoid 一樣的缺點。從數學表達式就可以看出來,它也有梯度消失的問題,以及也需要進行開銷巨大的指數運算。

1.3

ReLU

終于講到了 Relu,人們起初并不覺得它的效果會好過 sigmoid 和 tanh。但是,實戰(zhàn)中它確實做到了。事實上,cs231n 課程甚至指出,應該默認使用 Relu 函數。

ReLU 從數學表達式來看,運算十分高效。對于某一輸入,當它小于0時,輸出為0,否則不變。下面是 ReLU 的函數表達式。Relu(z) = max(0,z)

那么你可能會問,「它是線性函數吧?為何我們說它是非線性函數?」

在線代中,線性函數就是兩個向量空間進行向量加和標量乘的映射。

給定上面的定義,我們知道 max(0, x)是一個分段線性函數。之所以說是分段線性,是因為它在(?∞, 0]或[0,+∞)上符合線性函數的定義。但是在整個定義域上并不滿足線性函數的定義。例如f(?1)+ f(1)≠f (0)

所以 Relu 就是一個非線性激活函數且有良好的數學性質,并且比 sigmoid 和 tanh 都運算得快。除此以外,Relu 還因避免了梯度消失問題而聞名。然而,ReLU 有一個致命缺點,叫「ReLU 壞死」。ReLu 壞死是指網絡中的神經元由于無法在正向傳播中起作用而永久死亡的現象。

更確切地說,當神經元在向前傳遞中激活函數輸出為零時,就會出現這個問題,導致它的權值將得到零梯度。因此,當我們進行反向傳播時,神經元的權重將永遠不會被更新,而特定的神經元將永遠不會被激活。

還有件事值得一提。你可能注意到,不像 sigmoid 和 tanh,Relu 并未限定輸出范圍。這通常會成為一個很大的問題,它可能在另一個深度學習模型如遞歸神經網絡(RNN)中成為麻煩。具體而言,由 ReLU 生成的無界值可能使 RNN 內的計算在沒有合理的權重的情況下發(fā)生數值爆炸。因此反向傳播期間權重在錯誤方向上的輕微變化都會在正向傳遞過程中顯著放大激活值,如此一來學習過程可能就非常不穩(wěn)定。我會嘗試在下一篇博客文章中詳細介紹這一點。(摘自https://my.oschina.net/amui/blog/1633904)

1.4 softmax簡介

Softmax回歸模型是logistic回歸模型在多分類問題上的推廣,在多分類問題中,待分類的類別數量大于2,且類別之間互斥。比如我們的網絡要完成的功能是識別0-9這10個手寫數字,若最后一層的輸出為[0,1,0, 0, 0, 0, 0, 0, 0, 0],則表明我們網絡的識別結果為數字1。

Softmax的公式為

,可以直觀看出如果某一個zj大過其他z,那這個映射的分量就逼近于1,其他就逼近于0,并且對所有輸入數據進行歸一化。

2.權重:

3.偏置

偏置單元(bias unit),在有些資料里也稱為偏置項(bias term)或者截距項(intercept term),它其實就是函數的截距,與線性方程 y=wx+b 中的 b 的意義是一致的。在 y=wx+b中,b表示函數在y軸上的截距,控制著函數偏離原點的距離,其實在神經網絡中的偏置單元也是類似的作用。

因此,神經網絡的參數也可以表示為:(W, b),其中W表示參數矩陣,b表示偏置項或截距項。

2.反向傳播調節(jié)權重和偏置

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 神經網絡
    +關注

    關注

    42

    文章

    4733

    瀏覽量

    100415
  • 函數
    +關注

    關注

    3

    文章

    4277

    瀏覽量

    62323

原文標題:一文淺談神經網絡(非常適合初學者)

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    BP神經網絡的學習機制

    BP神經網絡(Backpropagation Neural Network),即反向傳播神經網絡,是一種基于梯度下降算法的多層前饋神經網絡,其學習機制的核心在于通過反向傳播算法
    的頭像 發(fā)表于 07-10 15:49 ?379次閱讀

    BP神經網絡和卷積神經網絡的關系

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種在人工智能和機器學習領域
    的頭像 發(fā)表于 07-10 15:24 ?1059次閱讀

    BP神經網絡和人工神經網絡的區(qū)別

    BP神經網絡和人工神經網絡(Artificial Neural Networks,簡稱ANNs)之間的關系與區(qū)別,是神經網絡領域中一個基礎且重要的話題。本文將從定義、結構、算法、應用及
    的頭像 發(fā)表于 07-10 15:20 ?720次閱讀

    bp神經網絡和反向傳播神經網絡區(qū)別在哪

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整
    的頭像 發(fā)表于 07-04 09:51 ?361次閱讀

    卷積神經網絡bp神經網絡的區(qū)別在哪

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡
    的頭像 發(fā)表于 07-04 09:49 ?8606次閱讀

    bp神經網絡算法的基本流程包括哪些

    BP神經網絡算法,即反向傳播神經網絡算法,是一種常用的多層前饋神經網絡訓練算法。它通過反向傳播誤差來調整網絡的權重和偏置,從而實現對輸入數據
    的頭像 發(fā)表于 07-04 09:47 ?440次閱讀

    bp神經網絡的工作原理及應用

    。 BP神經網絡的工作原理 1.1 神經網絡的基本概念 神經網絡是一種模擬人腦神經元連接的計算模
    的頭像 發(fā)表于 07-04 09:44 ?724次閱讀

    反向傳播神經網絡概念是什么

    神經網絡在許多領域都有廣泛的應用,如圖像識別、自然語言處理、語音識別等。 BP神經網絡概念 BP神經網
    的頭像 發(fā)表于 07-03 11:06 ?477次閱讀

    反向傳播神經網絡bp神經網絡的區(qū)別

    反向傳播神經網絡(Backpropagation Neural Network,簡稱BP神經網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整
    的頭像 發(fā)表于 07-03 11:00 ?603次閱讀

    bp神經網絡是深度神經網絡

    BP神經網絡(Backpropagation Neural Network)是一種常見的前饋神經網絡,它使用反向傳播算法來訓練網絡。雖然BP
    的頭像 發(fā)表于 07-03 10:14 ?592次閱讀

    bp神經網絡和卷積神經網絡區(qū)別是什么

    BP神經網絡(Backpropagation Neural Network)和卷積神經網絡(Convolutional Neural Network,簡稱CNN)是兩種不同類型的人工神經網絡
    的頭像 發(fā)表于 07-03 10:12 ?883次閱讀

    BP神經網絡激活函數怎么選擇

    BP神經網絡(Backpropagation Neural Network)是一種多層前饋神經網絡,其核心思想是通過反向傳播算法來調整網絡中的權重和偏置,以實現對輸入數據的分類或回歸。
    的頭像 發(fā)表于 07-03 10:02 ?529次閱讀

    bp神經網絡模型怎么算預測值

    BP神經網絡(Backpropagation Neural Network,簡稱BP網絡)是一種多層前饋神經網絡,它通過反向傳播算法來調整
    的頭像 發(fā)表于 07-03 09:59 ?601次閱讀

    BP神經網絡算法的基本流程包括

    BP神經網絡算法,即反向傳播(Backpropagation)神經網絡算法,是一種多層前饋神經網絡,通過反向傳播誤差來訓練網絡權重。
    的頭像 發(fā)表于 07-03 09:52 ?378次閱讀

    卷積神經網絡bp神經網絡的區(qū)別

    卷積神經網絡(Convolutional Neural Networks,簡稱CNN)和BP神經網絡(Backpropagation Neural Networks,簡稱BPNN)是兩種
    的頭像 發(fā)表于 07-02 14:24 ?2330次閱讀