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