在這個算法中,每次學習不再針對所有的訓練集,而是從訓練集中隨機選擇一部分來計算C(w,b),下一次學習再從剩下的訓練集中隨機選擇一部分來計算,直到把整個訓練集用光。然后再不斷重復這一過程。
深度神經網絡(具有多個hiddenlayer)比淺層神經網絡有更多結構上的優勢,它有能力從多個層次上進行抽象。
從上個世紀**十年代開始,研究人員們不斷嘗試將隨機梯度下降算法應用于深度神經網絡的訓練,但卻碰到了梯度消失(vanishinggradient)或梯度爆發(explodinggradient)的問題,導致學習過程異常緩慢,深度神經網絡基本不可用。
然而,從2006年開始,人們開始使用一些新的技術來訓練深度網絡,不斷取得了突破。這些技術包括但不限于:
采用卷積網絡(convolutionalworks);
Regularization(dropout);
Rectifiedlinearunits;
利用GPU獲得更強的計算能力等。
深度學習的優點顯而易見:這是一種全新的編程方式,它不需要我們直接為要解決的問題設計算法和編程,而是針對訓練過程編程。
網絡在訓練過程中就能自己學習到解決問題的正確方法,這使得我們可以用簡單的算法來解決復雜的問題,而且在很多領域勝過了傳統方法。
而訓練數據在這個過程發揮了更重要的作用:簡單的算法加上復雜的數據,可能遠勝于復雜的算法加上簡單的數據。
深度網絡往往包含大量的參數,這從哲學原則上不符合奧卡姆剃刀原則,通常人們要在調整這些參數上面花費巨大的精力;
訓練深度網絡需要大量的計算力和計算時間;
過擬合(Overfitting)問題始終伴隨著神經網絡的訓練過程,學習過慢的問題始終困擾著人們,這容易讓人們產生一種失控的恐懼,同時也對這項技術在一些重要場合的進一步應用制造了障礙。
而BetaCat的故事,講的就是一個人工智能程序,通過自我學習,最終逐漸統治世界的故事。
那么,現在的人工智能技術的發展,會導致這種情況發生嗎?這恐怕還不太可能。一般人認為,大概有兩個重要因素:
第一,現在的人工智能,它的自我學習還是限定在人們指定的方式,只能學習解決特定的問題,仍然不是通用的智能。
第二,現在對于人工智能的訓練過程,需要人們為其輸入規整化的訓練數據,系統的輸入輸出仍然對于數據的格式要求很嚴格,這也意味著,即使把人工智能程序連到網上,它也不能像BetaCat那樣對于互聯網上海量的非結構化數據進行學習。
然而這僅僅是對普通的人工智能,但是對起源這樣真正的網絡智能生命來說,以上兩點要求它完全都能夠做到。