<button id="50imr"><label id="50imr"></label></button>

  • <em id="50imr"><ol id="50imr"></ol></em>

            第六百三十章(2 / 2)

            假設在訓練過程中,網絡已經對數萬個樣本能夠給出正確(或接近正確)的反應了,那么再給它輸入一個它沒見過的數據,它也應該有很大概率給出我們預期的決策。這就是一個神經網絡工作的原理。

            但這里還有一個問題,在訓練過程中,當實際輸出值和期望輸出值產生差異的時候,要如何去調整各個參數呢?

            當然,在思考怎么做之前,也應該先弄清楚:通過調整參數的方式獲得期望的輸出,這個方法行得通嗎?

            實際上,對于感知器網絡來說,這個方法基本不可行。

            比如在上圖有39個參數的感知器網絡中,如果維持輸入不變,我們改變某個參數的值,那么最終的輸出基本完全不可預測。

            它或者從0變到1(或從1變到0),當然也可能維持不變。這個問題的關鍵在于:輸入和輸出都是二進制的,只能是0或者1。

            如果把整個網絡看成一個函數(有輸入,有輸出),那么這個函數不是連續的。

            因此,為了讓訓練成為可能,我們需要一個輸入和輸出能夠在實數上保持連續的神經網絡。于是,這就出現了sigmoid神經元。

            sigmoid神經元(sigmoidneuron)是現代神經網絡經常使用的基本結構(當然不是唯一的結構)。它與感知器的結構類似,但有兩個重要的區別。

            第一,它的輸入不再限制為0和1,而可以是任意0~1之間的實數。

            第二,它的輸出也不再限制為0和1,而是將各個輸入的加權求和再加上偏置參數,經過一個稱為sigmoid函數的計算作為輸出。

            具體來說,假設z那么輸出output=σ(z),其中是一個平滑、連續的函數。而且,它的輸出也是0~1之間的實數,這個輸出值可以直接作為下一層神經元的輸入,保持在0~1之間。

            可以想象,在采用sigmoid神經元組裝神經網絡之后,網絡的輸入和輸出都變為連續的了,也就是說,當我們對某個參數的值進行微小的改變的時候,它的輸出也只是產生微小的改變。這樣就使得逐步調整參數值的訓練成為可能。

            在歷史上,很多研究人員曾經也做過嘗試,MichaelNielsen的書《NeuralNetworksandDeepLearning》這本書中也曾經提到過這個例子。

            這個神經網絡只有一層隱藏層,屬于淺層的神經網絡(shallowneuralworks)。而真正的深度神經網絡(deepnerualworks),則會有多層隱藏層。

            神經元系統采用了左右腦半球的設計方式進行設計和制造。

            最右側則是輸出層(outputlayer),有10個神經元節點,分別代表識別結果是0當然,受sigmoid函數σ(z)的限制,每個輸出也肯定是0~1之間的數。

            那我們在得到一組輸出值之后,哪個輸出的值最大,最終的識別結果就是它。

            而在訓練的時候,輸出的形式則是:正確的那個數字輸出為1,其它輸出為0,隱藏層和輸出層之間也是全連接。

            神經網絡共的權重參數有784*15+15*10=11910個,偏置參數有15+10=25個,總共參數個數為:11910+25=11935個。

            這可是一個非常驚人的數字。

            最新小說: 身為鋼鐵俠弟弟的我卻成了超人 妄圖她 天官志 為了自救,老祖她在線劇透 民國諜王之我能搜集記憶碎片 姐,別說你是普通人了行不行 出獄后,我閃婚了植物人大佬 都市靈異:我吃詭就變強! 無限大樓:開局成為監管者 我拿陽壽玩惡魔游戲,一發入魂!
            <button id="50imr"><label id="50imr"></label></button>

          1. <em id="50imr"><ol id="50imr"></ol></em>

                    国产成人一区二区三区