編者按:Statsbot深度學習開發者Jay Shah帶你入門神經網絡,一起了解自動編碼器、卷積神經網絡、循環神經網絡等流行的神經網絡類型及其應用。
如今,人們使用神經網絡解決銷售預測、客戶調研、數據驗證、風險管理之類的眾多商業問題。例如,Statsbot中,我們將神經網絡應用于時間序列預測、異常數據檢測、自然語言理解。
在這篇文章中,我們將解釋什么是神經網絡,初學者使用神經網絡將面臨的主要挑戰,流行的神經網絡類型及其應用。我們還將描述神經網絡如何應用于不同的行業和部門。
神經網絡的想法
最近在計算機科學領域“神經網絡”這個詞引起了很大的轟動,引起了很多人的關注。不過,神經網絡到底是怎么一回事,它是怎么工作的,它真的有幫助嗎?
本質上,神經網絡由稱為神經元的計算單元層組成,層與層之間相互連接。神經網絡轉換數據,直到網絡可以輸出分類。每個神經元將一個初始值乘以一定的權重,與進入同一神經元的其他值相加,并基于神經元的偏置調整所得結果,接著使用激活函數歸一化輸出。
迭代學習過程
神經網絡的一個關鍵特征是迭代學習過程,在該過程中記錄(行)逐一提供給網絡,每次與輸入值相關的權重都進行調整。在所有情況都提供之后,這一過程常常會重復開始。在這一學習階段,網絡通過調整權重來預測輸入樣本的正確類別標簽,以訓練自身。
神經網絡的優勢包括對噪聲數據的高耐受性,以及分類未訓練過的模式的能力。最流行的神經網絡算法是反向傳播算法。
一旦為特定的應用確立了網絡架構之后,就可以訓練網絡了。剛開始,初始權重(下一節具體討論)是隨機選擇的。接著訓練(學習)開始。
網絡使用隱藏層中的權重和函數逐個處理“訓練集”中的記錄,接著比較實際輸出與期望輸出。誤差在系統中反向傳播,系統據此調整權重,調整后的權重將應用到下一個記錄。
這個過程隨著權重的調整而重復。在網絡訓練過程中,隨著連接權重的不斷改善,同一數據集會多次處理。
所以難在哪里?
初學者在學習神經網絡時遇到的一個挑戰就是了解網絡的每一層到底發生了什么。我們知道,訓練之后,每個層都會提取數據集(輸入)的更高層次的特征,直到最后一層決定輸入特征指什么。這是如何做到的呢?
我們可以讓網絡來決策,而不是確切地規定我們希望網絡增強的特征。比方說,我們簡單地給網絡傳入一張任意圖像或照片,讓網絡來分析圖片。接著,我們選擇一個層,并要求網絡加強該層檢測到的東西。網絡的每一層處理不同抽象層次的特征,因此我們生成的特征的復雜性取決于我們選擇增強哪一層。
流行的神經網絡類型和用途
在這篇面向初學者的神經網絡文章中,我們將討論自動編碼器、卷積神經網絡、循環神經網絡。
自動編碼器
自動編碼器基于這樣一個觀察,隨機初始化是一個壞主意,而基于無監督學習算法預訓練每個網絡層可以得到更好的初始權重。這種無監督算法的一個例子是深度性念網絡(Deep Belief Networks)。最近有一些研究嘗試復興這一領域,例如使用概率自動編碼器的變分方法。
實際應用很少使用它們。最近,批量歸一化允許更深的網絡,我們可以基于殘差學習從頭訓練來任意深度的網絡。通過適當的維度和稀疏性約束,自動編碼器可以學習比PCA或其他基本技術更有趣的數據投影。
我們來看看自動編碼器的兩個有趣的實際應用:
基于卷積層構建的去噪自動編碼器,可以高效地去除噪聲。
去噪自動編碼器,一些輸入設定為缺失
上圖中,隨機毀壞過程隨機地將一些輸入設定為零,強迫去噪自動編碼器為隨機選擇的缺失模式的子集預測缺失(毀壞)的值。
數據可視化的降維嘗試使用主成分分析(PCA)和t分布隨機近鄰嵌入(t-SNE)進行降維。在神經網絡訓練中使用這兩種方法以增加模型預測的精確性。同時,MLP神經網絡預測的精確性高度依賴于神經網絡的結構,數據的預處理,以及開發網絡面對的問題類型。
卷積神經網絡
卷積網絡得名于“卷積”運算,卷積的主要用途是提取輸入圖像的特征。通過基于輸入數據的小塊學習圖像的特征,卷積保留了像素間的空間關系。下面是一些成功應用卷積網絡的例子:
Stevens Institute of Technology和Adobe合作的人臉識別研究使用了級聯卷積神經網絡高速地識別人臉。解碼器在低分辨率下評估輸入圖像以快速剔除非面部區域,然后以更高的分辨率仔細處理關鍵區域以精確地檢測人臉。
級聯結構還引入了校正網絡(calibration network)以加速識別并改善限界盒質量。
在自動駕駛汽車項目中,景深估計是自動駕駛需要考慮的重點,以確保乘客和其他載具的安全。這方面的CNN被應用于諸如NVIDIA的自動駕駛汽車這樣的項目中。
CNN層可以通過多參數處理輸入,因此CNN層提供了極高的靈活多變性。這些網絡的子類也包括深度信念網絡。傳統上,卷積神經網絡用于圖像分析和對象識別。
順便提一個趣味項目,使用CNN在游戲模擬器中駕駛汽車并預測駕駛方向。
循環神經網絡
用于序列生成的RNN(循環神經網絡)是這樣訓練的,處理真實的數據序列的一步并預測下一步。這里有一份如何實現該模型的指南。
假設預測是概率性的,從網絡的輸出分布迭代采樣,然后將樣本傳給下一步作為輸入,訓練網絡可以生成新的序列。換句話說,讓網絡把自己發明的看成是真實的,就像一個人在做夢。
RNN可以用于語言驅動的圖像生成,基于給定的文本生成手寫。為了應對這一挑戰,將卷積文本字符串的軟窗口作為額外輸入傳給預測網絡。在網絡進行預測的同時輸出窗口的參數,這樣,網絡動態地決定文本和筆位置的對齊。簡單來說,網絡學習下一個要書寫的字符。
給定特定的輸入,經訓練的神經網絡可以生成預期輸出。如果我們有一個擬合良好的建模已知值序列的網絡,那么我們可以使用它來預測未來的結果。股票市場預測是一個明顯的例子。
神經網絡在不同產業的應用
神經網絡廣泛用于真實世界的商業問題,例如銷售預測、客戶調研、數據驗證、風險管理。
營銷
精準營銷涉及市場細分,根據客戶行為的不同將市場分為不同的客戶群。
神經網絡可以根據基本特征,包括人口、經濟狀況、位置、購買模式、對產品的態度,細分客戶。無監督神經網絡可以自動基于客戶屬性的相似性進行分組,而監督神經網絡可以通過訓練基于同一組客戶的特征學習客戶分區間的界限。
銷售
神經網絡具備同時考慮多個變量的能力,例如市場需求、客戶收人、人口、產品價格。對超市而言,預測銷售很有幫助。
如果兩個產品在一段時期內形成關聯,比如購買了打印機的客戶會在3到4個月內返回購買一個新的墨盒,那么零售商可以利用這一信息及時聯系客戶,降低客戶從競爭者那里購買產品的概率。
銀行和財政
神經網絡成功應用于衍生證券定價和對沖,未來價格預測,匯率預測,以及股票表現。傳統上,這樣的軟件由統計技術驅動。然而今天,神經網絡成為驅動決策的底層技術。
醫藥
神經網絡在醫藥領域的研究正成為潮流。人們相信,在接下來的幾年,神經網絡將在生物醫學系統中得到廣泛應用。就目前而言,大部分研究建模人體的部分,通過各種掃描識別疾病。
結論
也許神經網絡可以給我們一些關于認知的“簡單問題”的洞見:大腦如何處理環境模擬?大腦如何集成信息?不過,真正的問題在于,人類的這些處理為何以及如何與內在體驗的人生相伴,機器能達到這樣的自我意識嗎?
這讓我們思考神經網絡是否能幫助藝術家的工作——一種新的重組視覺概念的方式——也許甚至能夠啟發我們認識到通過的創造性過程的根源。
總而言之,神經網絡使計算機系統更人性化了,從而使它們更加有用。所以下一次你想你可能會喜歡讓你的大腦像電腦一樣可靠的時候,再想一想——已經有這樣一個超級神經網絡安裝在你的頭腦里了,你該為此感恩!
我希望這個面向初學者的神經網絡介紹可以幫助你創建自己的第一個神經網絡項目。
-
神經網絡
+關注
關注
42文章
4771瀏覽量
100715
原文標題:神經網絡入門教程:流行的神經網絡類型及其應用
文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論