神經(jīng)網(wǎng)絡(luò)是一個具有相連節(jié)點層的計算模型,其分層結(jié)構(gòu)與大腦中的神經(jīng)元網(wǎng)絡(luò)結(jié)構(gòu)相似。神經(jīng)網(wǎng)絡(luò)可通過數(shù)據(jù)進行學(xué)習(xí),因此,可訓(xùn)練其識別模式、對數(shù)據(jù)分類和預(yù)測未來事件。
神經(jīng)網(wǎng)絡(luò)將您的輸入細分為多個抽象層。比如,可通過大量示例訓(xùn)練其識別模式為語音還是圖像,就像人類大腦的行為一樣。神經(jīng)網(wǎng)絡(luò)的行為由其各個元素的連接方式以及這些連接的強度或權(quán)重確定。在訓(xùn)練期間,系統(tǒng)會根據(jù)指定的學(xué)習(xí)規(guī)則自動調(diào)整相關(guān)權(quán)重,直到神經(jīng)網(wǎng)絡(luò)正常執(zhí)行所需任務(wù)為止。
為什么說神經(jīng)網(wǎng)絡(luò)很重要?
神經(jīng)網(wǎng)絡(luò)特別適合執(zhí)行模式識別,用以識別語音、視覺和控制系統(tǒng)中的對象或信號并對其分類。它們還可以用于執(zhí)行時序預(yù)測和建模。 下面只是神經(jīng)網(wǎng)絡(luò)的幾個使用方式示例:
電力公司準(zhǔn)確預(yù)測其電網(wǎng)上的負載,以確??煽啃?,并優(yōu)化他們運行的發(fā)電機的效率。
ATM 通過讀取支票上的賬號和存款金額的可靠方式接受銀行存款。
病理學(xué)家依靠癌癥檢測應(yīng)用的指導(dǎo),根據(jù)細胞大小的均勻度、腫塊密度、有絲分裂及其他因素將腫瘤分類為良性或惡性。
深度學(xué)習(xí)
針對兩層或三層連接的神經(jīng)元層運作的神經(jīng)網(wǎng)絡(luò)稱為淺層神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)網(wǎng)絡(luò)可以有許多層,甚至數(shù)百層。這兩種都是直接通過輸入數(shù)據(jù)學(xué)習(xí)的機器學(xué)習(xí)技術(shù)。 深度學(xué)習(xí)正在獲得大量關(guān)注,這是有充分理由的。深度學(xué)習(xí)正在實現(xiàn)以前不可能實現(xiàn)的成果。 深度學(xué)習(xí)特別適合復(fù)雜鑒別應(yīng)用場景,比如人臉辨識、文本翻譯和語音識別。另外,深度學(xué)習(xí)也是高級駕駛輔助系統(tǒng)和任務(wù)(包括包括車道分類和交通標(biāo)志識別)中使用的關(guān)鍵技術(shù)。
神經(jīng)網(wǎng)絡(luò)如何工作?
受生物神經(jīng)系統(tǒng)的啟發(fā),神經(jīng)網(wǎng)絡(luò)通過簡單元素操作的并行使用,將多個處理層結(jié)合在一起。它由一個輸入層、一個或多個隱藏層和一個輸出層組成。各層通過節(jié)點或神經(jīng)元相互連接,每一層使用前一層的輸出作為其輸入。
典型的神經(jīng)網(wǎng)絡(luò)架構(gòu)。
神經(jīng)網(wǎng)絡(luò)使用的技術(shù)
用于設(shè)計神經(jīng)網(wǎng)絡(luò)應(yīng)用場景的常見機器學(xué)習(xí)技術(shù)包括監(jiān)督式學(xué)習(xí)和無監(jiān)督學(xué)習(xí)、分類、回歸、模式識別和聚類。
監(jiān)督式學(xué)習(xí)
訓(xùn)練監(jiān)督式神經(jīng)網(wǎng)絡(luò)生成響應(yīng)樣本輸入的所需輸出,使其專門適用于動態(tài)系統(tǒng)建模和控制、噪聲數(shù)據(jù)分類和未來事件預(yù)測。Deep Learning Toolbox 包括四種監(jiān)督式網(wǎng)絡(luò):前饋網(wǎng)絡(luò)、徑向基網(wǎng)絡(luò)、動態(tài)網(wǎng)絡(luò)和學(xué)習(xí)向量量化網(wǎng)絡(luò)。 分類 分類是一種監(jiān)督式機器學(xué)習(xí),在該學(xué)習(xí)中,算法將“學(xué)習(xí)”從帶標(biāo)簽的數(shù)據(jù)示例中對新的觀察結(jié)果進行分類。
回歸
回歸模型描述一個響應(yīng)(輸出)變量與一個或多個預(yù)測元(輸入)變量之間的關(guān)系。
模式識別
模式識別是計算機視覺、雷達處理、語音識別和文本分類方面的神經(jīng)網(wǎng)絡(luò)應(yīng)用的一個重要組成部分。它的工作原理是,使用監(jiān)督式分類或無監(jiān)督分類基于關(guān)鍵功能將輸入數(shù)據(jù)分類為對象或類。 例如,在計算機視覺方面,監(jiān)督式模式識別技術(shù)可用于光學(xué)字符識別 (OCR)、人臉檢測、人臉識別、對象檢測和對象分類。在圖像處理和計算機視覺方面,無監(jiān)督模式識別技術(shù)用于對象檢測和圖像分割。
無監(jiān)督學(xué)習(xí)
通過讓神經(jīng)網(wǎng)絡(luò)持續(xù)根據(jù)新輸入調(diào)整自身來訓(xùn)練無監(jiān)督神經(jīng)網(wǎng)絡(luò)。無監(jiān)督神經(jīng)網(wǎng)絡(luò)可根據(jù)包含未標(biāo)記響應(yīng)的輸入數(shù)據(jù)的數(shù)據(jù)集進行推斷。您可以使用它們來發(fā)現(xiàn)數(shù)據(jù)中的自然分配、類別和類別關(guān)系。 Deep Learning Toolbox 包括兩種無監(jiān)督的網(wǎng)絡(luò):競爭的層和自組織映射。
聚類
聚類是一個無監(jiān)督學(xué)習(xí)方法,在該學(xué)習(xí)方法中,神經(jīng)網(wǎng)絡(luò)可用于分析探索性數(shù)據(jù)以發(fā)現(xiàn)數(shù)據(jù)中隱藏的模式或分組。此過程涉及按相似性對數(shù)據(jù)分組。聚類分析的應(yīng)用包括基因序列分析、市場調(diào)查和對象識別。
使用 MATLAB 開發(fā)淺層神經(jīng)網(wǎng)絡(luò)
借助管理大型數(shù)據(jù)集所用的工具和函數(shù),MATLAB 提供用于機器學(xué)習(xí)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)、計算機視覺和自動駕駛的專業(yè)化工具箱。 只需幾行代碼,MATLAB 就可以讓您開發(fā)神經(jīng)網(wǎng)絡(luò),而不需要成為專家??焖偃腴T,創(chuàng)建和可視化模型,并將模型部署到服務(wù)器和嵌入式設(shè)備。 使用 MATLAB,您可以將結(jié)果整合到現(xiàn)有的應(yīng)用程序中。MATLAB 可在企業(yè)系統(tǒng)、集群、云和嵌入式設(shè)備上自動部署您的神經(jīng)網(wǎng)絡(luò)。
用于設(shè)計神經(jīng)網(wǎng)絡(luò)的典型工作流程
每種神經(jīng)網(wǎng)絡(luò)應(yīng)用場景均獨一無二,但是開發(fā)網(wǎng)絡(luò)通常遵循下列步驟:
訪問和準(zhǔn)備數(shù)據(jù)
創(chuàng)建神經(jīng)網(wǎng)絡(luò)
配置網(wǎng)絡(luò)的輸入和輸出
調(diào)整網(wǎng)絡(luò)參數(shù)(權(quán)重和偏差)以優(yōu)化性能
訓(xùn)練網(wǎng)絡(luò)
驗證網(wǎng)絡(luò)的結(jié)果
將網(wǎng)絡(luò)集成到生產(chǎn)系統(tǒng)中
淺層網(wǎng)絡(luò)的分類和聚類
MATLAB 和 Deep Learning Toolbox 可提供用于創(chuàng)建、訓(xùn)練和仿真淺層神經(jīng)網(wǎng)絡(luò)的命令行功能和應(yīng)用。通過這些應(yīng)用,您可以輕松開發(fā)神經(jīng)網(wǎng)絡(luò)以執(zhí)行分類、回歸(包括時序回歸)及聚類等任務(wù)。在這些工具中創(chuàng)建網(wǎng)絡(luò)后,您可以自動生成 MATLAB 代碼以獲取您的工作并自動執(zhí)行任務(wù)。
網(wǎng)絡(luò)的預(yù)處理、后處理和改進
預(yù)處理網(wǎng)絡(luò)輸入和目標(biāo)可提升淺層神經(jīng)網(wǎng)絡(luò)訓(xùn)練的效率。預(yù)處理便于您詳細分析網(wǎng)絡(luò)性能。MATLAB 和 Simulink 提供的工具可助您完成下列任務(wù):
使用主成分分析降低輸入向量的維度
執(zhí)行網(wǎng)絡(luò)響應(yīng)和相應(yīng)目標(biāo)間的回歸分析
擴展輸入和目標(biāo)以便它們位于范圍 [-1,1] 內(nèi)
將培訓(xùn)數(shù)據(jù)集的平均和標(biāo)準(zhǔn)方差標(biāo)準(zhǔn)化
在創(chuàng)建網(wǎng)絡(luò)時使用自動數(shù)據(jù)預(yù)處理和數(shù)據(jù)分段
提升網(wǎng)絡(luò)的泛化能力可防止過擬合,這是神經(jīng)網(wǎng)絡(luò)設(shè)計的一個常見問題。在網(wǎng)絡(luò)已記住訓(xùn)練集但尚未學(xué)會對新的輸入進行泛化時會發(fā)生過擬合。過擬合會針對訓(xùn)練集產(chǎn)生一個相對小的誤差,但在將新數(shù)據(jù)提供給網(wǎng)絡(luò)時會產(chǎn)生更大的誤差。 改善泛化的兩個解決方案包括:
正則化
修改網(wǎng)絡(luò)的性能函數(shù)(訓(xùn)練流程最小化的誤差測量)。通過加入權(quán)重和偏差的規(guī)模,規(guī)則化通過訓(xùn)練數(shù)據(jù)生成一個性能良好的網(wǎng)絡(luò),并在接受提供的新數(shù)據(jù)時性能表現(xiàn)更加順暢。
早停法
使用兩個不同的數(shù)據(jù)集:訓(xùn)練集和驗證集,前者用于更新權(quán)重和偏差,后者在網(wǎng)絡(luò)開始過度擬合數(shù)據(jù)時用于停止訓(xùn)練。
用于分析網(wǎng)絡(luò)性能的預(yù)處理繪圖,包括連續(xù)訓(xùn)練代數(shù)的均方根誤差驗證性能(左上角)、誤差直方圖(右上角)以及用于訓(xùn)練、驗證和測試階段的混淆矩陣(底部)。
代碼生成和部署
通過將 Deep Learning Toolbox 與 MATLAB Coder、GPU Coder 和 MATLAB Compiler 結(jié)合使用,您可以將受過訓(xùn)練的網(wǎng)絡(luò)部署到嵌入式系統(tǒng),或?qū)⑵渑c種類廣泛的生產(chǎn)環(huán)境進行集成。您可以使用 MATLAB Coder 為經(jīng)過訓(xùn)練的網(wǎng)絡(luò)生成生成 C 和 C++ 代碼,該代碼便于您在 PC 硬件上完成經(jīng)過訓(xùn)練的網(wǎng)絡(luò)仿真,然后將此網(wǎng)絡(luò)部署到嵌入式系統(tǒng)。
您可以使用 MATLAB Compiler 和 MATLAB Compiler SDK 將經(jīng)過訓(xùn)練的網(wǎng)絡(luò)部署為 C/C++ 共享庫、Microsoft.NET 程序集、Java 類以及來自 MATLAB 程序的 Python 程序包。您還可以在部署的應(yīng)用程序或組件中訓(xùn)練網(wǎng)絡(luò)模型。
Simulink 支持
Deep Learning Toolbox 提供一個用于在 Simulink 中構(gòu)建淺層神經(jīng)網(wǎng)絡(luò)的模塊集。所有模塊都與 Simulink Coder 兼容。這些模塊分為四個庫:
傳遞函數(shù)模塊,其提取一個網(wǎng)絡(luò)輸入向量并生成一個對應(yīng)的輸出向量。
網(wǎng)絡(luò)輸入函數(shù)模塊,其提取許多加權(quán)的輸入向量、權(quán)重層輸出向量和偏差向量,并返回一個網(wǎng)絡(luò)輸入向量
權(quán)重函數(shù)模塊,其將神經(jīng)元的權(quán)重向量應(yīng)用于輸入向量(或一個分層輸出向量)以獲取神經(jīng)元的加權(quán)輸入值。
數(shù)據(jù)預(yù)處理模塊,其將輸入和輸出數(shù)據(jù)映射到最適合神經(jīng)網(wǎng)絡(luò)直接處理的范圍
或者,您可以在 MATLAB 環(huán)境中創(chuàng)建和訓(xùn)練您的網(wǎng)絡(luò),并自動生成用于 Simulink 的網(wǎng)絡(luò)仿真模塊。此方法還允許您以圖形方式查看您的網(wǎng)絡(luò)。
審核編輯:劉清
-
神經(jīng)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
42文章
4733瀏覽量
100419 -
計算機視覺
+關(guān)注
關(guān)注
8文章
1694瀏覽量
45901 -
機器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8349瀏覽量
132315 -
自動駕駛
+關(guān)注
關(guān)注
782文章
13621瀏覽量
165950
原文標(biāo)題:關(guān)于神經(jīng)網(wǎng)絡(luò),你不得不知的三大要點
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論