萌主天下無敵 作品

第639章

    總結來說,c(w,b)表徵了網絡的實際輸出值和期望輸出值的接近程度。越接近,c(w,b)的值就越小。因此,學習的過程就是想辦法降低c(w,b)的過程,而不管c(w,b)的表達形式如何,它是w和b的函數,這就變成了一個求函數最小值的最優化問題。

    由於c(w,b)的形式比較複雜,參數也非常多,所以直接進行數學上的求解,非常困難。

    為了利用計算機算法解決這一問題,計算機科學家們提出了梯度下降算法(gradientdescent)。

    這個算法本質上是在多維空間中沿著各個維度的切線貢獻的方向,每次向下邁出微小的一步,從而最終抵達最小值。

    由於多維空間在視覺上無法體現,所以人們通常會退到三維空間進行類比。當c(w,b)只有兩個參數的時候,它的函數圖像可以在三維空間裡呈現。

    就好像一個小球在山谷的斜坡上向下不停地滾動,最終就有可能到達谷底。這個理解重新推廣到多維空間內也基本成立。

    而由於訓練樣本的數量很大(上萬,幾十萬,甚至更多),直接根據前面的c(w,b)進行計算,計算量會很大,導致學習過程很慢。

    、於是就出現了隨機梯度下降(stochasticgradientdescent)算法,是對於梯度下降的一個近似。

    在這個算法中,每次學習不再針對所有的訓練集,而是從訓練集中隨機選擇一部分來計算c(w,b),下一次學習再從剩下的訓練集中隨機選擇一部分來計算,直到把整個訓練集用光。然後再不斷重複這一過程。

    深度神經網絡(具有多個hiddenlayer)比淺層神經網絡有更多結構上的優勢,它有能力從多個層次上進行抽象。

    從上個世紀八九十年代開始,研究人員們不斷嘗試將隨機梯度下降算法應用於深度神經網絡的訓練,但卻碰到了梯度消失(vanishinggradient)或梯度爆發(explodinggradient)的問題,導致學習過程異常緩慢,深度神經網絡基本不可用。

    然而,從2006年開始,人們開始使用一些新的技術來訓練深度網絡,不斷取得了突破。這些技術包括但不限於: