本文敘述以小編個人理解為主,只有極少必要的數學公式(大多數是初中數學知識),請大家放心閱讀。
本文是該系列的第一篇文章,主要先介紹人工神經網絡(Artificial Neural Network)的原理和發展歷程。
1.什麼是人工神經網絡
第一次看到人工神經網絡(ANN)的時候會覺得它是一個黑盒子,扔進去一堆數據會返回一些東西,但其實簡單的人工神經網絡可以看做一個帶有若干參數的擬合函數或模型(類似於多項式擬合),但不同於簡單地線性相加,它的結構很複雜,神經元之間不光可以像下圖一樣,從輸入層到輸出層單向連接(前饋型神經網絡),還可以有各種各樣的結構(遞歸神經網絡和反饋神經網絡),隱藏層中可以通過各種各樣的激活函數實現複雜的非線性變換。網絡中的所有的參數有一個初始值,通過已知結果的樣本(帶標籤的數據集,後文有解釋)使所有的參數向著預測更準確輸出值的方向迭代,直到可以準確預測新的數據。
簡單的人工神經網絡長這個樣:在這裡,假設我們要處理的問題有三個自變量x1,x2,x3 並且需要輸出一個目標值y(y是已知的目標值,而y』是神經網絡的預測值)
第二次高潮是Hopfield神經網絡和BP神經網絡出現的年代,BP算法直到現在還是神經網絡重要的架構因素。當時的算力不足,導致可訓練的神經網絡的隱藏層層數還被控制在一定範圍內,但淺層的神經網絡無法滿足對複雜特徵(以性別分類為例,通過看一張照片去判斷男女,最簡單的特徵包含是頭髮和五官等等,但如果這些簡單的特徵都無法區分,就需要挖掘更深層次的特徵了,對神經網絡來說,特徵越複雜就越需要在更高維度上去提取將不同種類分開的特徵。
以擬合一個函數f(x)為例的話,如果f(x)是一個非常複雜的函數,簡單對x的樣本點加權相加是沒法逼近這個函數的,需要多次非線性變換,提高維度來提高逼近的效果,但同時也要避免過擬合的問題,我們會在下面介紹)的提取,另一方面在反向傳播中,由於使用了多個導數的乘積,那麼當導數小於1時,神經網絡的層數越多,傳播到靠近輸入層的誤差衰減的就越厲害,這種梯度消失(vanishing gradient)的現象導致靠近離輸出層遠端的參數訓練幾乎無效,而當導數大於1時,累積到靠近輸出層的權值則會指數級增大,又會引發梯度爆炸(exploding gradient),類似這樣的問題讓早期的神經網絡的隱藏層數不能有效的增加,另外礙於算力的天花板,當時也無法訓練更多層的神經網絡,而淺層的神經網絡並沒有太大的優勢;另一個問題是訓練深層的神經網絡需要大量的樣本數據(比如說用神經網絡來識別動物我們需要很多很多已經被人為分類好的圖片,在訓練的時候告訴網絡這張圖片是貓,這張是狗,這樣的數據叫做有標籤的數據,而在深層神經網絡需要的數據量巨大,人為打標籤是極為耗時的),沒有足夠的訓練數據也是一大問題,所以在深度學習之前人工神經網絡的研究又一次跌入低谷。
深度學習可以逐層訓練網絡,這就解決了梯度彌散的問題,並可以在訓練完成後再利用誤差對網絡的參數進行調優,最重要的一點是在逐層訓練網絡的時候不光可以使用有標籤的數據,還可以在逐層訓練的時候使用無標籤的數據(無監督學習)。雖然後來大家發現很多新的激活函數,如Relu函數可以更好解決梯度衰減的問題,但深度學習與後來的卷積神經網絡(CNN)再一次的將人工神經網絡的發展推向高潮以至於我都知道了深度學習。CNN引入了卷積分的概念,在識別圖像的時候,假如一張三通道的圖片是1000x1000像素的,那麼把它對應的三維數組轉化為向量就是一個1000x1000x3維的向量,按照我們之前介紹的神經網絡結構,我們的輸入層就有1000x1000x3個節點,輸入層的每個節點都和隱藏層的每個節點相連,這樣全連接的網絡是逐個像素提取特徵的,而卷積神經網絡通過卷積核對圖片進行分塊特徵提取的處理,而且每一個卷積層都會提取到不同維度上的特徵。這其實也是在模擬人腦對圖像的處理。我們從看到一張圖片的像素,到看到不同物體的邊緣,再到更加複雜識別判別失誤也是逐層完成的。這一點是1981年諾貝爾醫學生理學獎得主David Hubel發現的,他證明人的大腦可視皮層是分級的,他認為人腦視覺功能是將非常具體形象的元素抽象出更有意義的概念,這些概念又會向上層迭代變成人可以感知到的更加抽象的概念,卷積神經網絡也是這樣的,卷積層提取到的特徵從像素,到邊緣,到物體的部分最後到物體形狀的特徵。
需要注意的一點是,當我們的網絡結構越複雜,對已有樣本的擬合效果一般會越好,但也容易發生過擬合的問題,過擬合會導致預測不準,可以採用的方法有正則化,dropout等方法。
在此之後,雖然無監督學習達不到有監督學習訓練的準確度,但由於找到海量帶標籤的訓練數據實在很困難,無監督學習被認為是深度學習的未來,大家耳熟能詳的生成對抗網絡GAN(Generative Adversarial Network)就基於無監督學習,GAN 包括兩個網絡:Generator 和Discriminator,第一個負責生成數據,而後者負責判斷生成的數據與真實數據的差距。
人工神經網絡曾經歷過的寒冬很多行業也經歷過,總有一些人堅持自己堅信的東西,每次推向高潮都伴隨著更好的算法和更加偉大的學者。Hinton, Lecun和Bogio誰不是在最黑暗的時候依舊做著不被人看好的研究。
3.土木工程與人工神經網絡
土木領域現在已經用到很多深度學習與其他機器學習領域中的最新研究成果,如基礎設施從施工階段到後期運維健康監測階段就可以用到無人機巡查,點雲的語義分割,視頻識別,圖像處理等等高大上的技術。在設計領域,人工神經網絡也在很早之前就被用在結構優化中,由於有限元方法計算非線性問題(如非線性顯式後屈曲分析)很費時間,而優化過程中有需要計算大量的模型,以徑向基函數為激活函數的RBF神經網絡常常用來擬合複雜的動力學表達式並作為代理模型。代理模型法可以顯著提高優化的速度,而RBF神經網絡由於其只有一個隱藏層,訓練速度很快,理論和大量的實驗證明RBF模型在小樣本情況下具有較好的預測精度與魯棒性。小編在前一段時間主要在研究RBF神經網絡,也會在接下來的文章裡著重介紹RBF及其在結構設計中的實際應用。
參考文獻:
[1]Lee, H., Grosse, R., Ranganath, R., & Ng, A. Y. (2011). Unsupervised learning of hierarchical representations with convolutional deep belief networks. Communications of the ACM, 54(10), 95–103. https://doi.org/10.1145/2001269.2001295
[2]Park, J., & Sandberg, I. W. (1991). Universal Approximation Using Radial-Basis-Function Networks. Neural Computation, 3(2), 246–257. https://doi.org/10.1162/neco.1991.3.2.246
[3] Lecun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-Based Learning Applied to Document Recognition. http://ieeexplore.ieee.org/document/726791/#full-text-section
[4] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. In Advances in neural information processing systems (pp. 2672-2680).
[5]Deeplearning.ai