99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的原理與在OpenCV中的應(yīng)用

新機(jī)器視覺 ? 來源:CSDN ? 作者:CSDN ? 2021-05-11 09:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 神經(jīng)網(wǎng)絡(luò)介紹

神經(jīng)網(wǎng)絡(luò)的原理根本在于對人類大腦行為的神經(jīng)生物學(xué)模擬,這樣看的話克隆技術(shù)也能算一種了吧。大腦可以看做一臺精密、穩(wěn)定、計算能力超強的計算機(jī),其中的信息處理單元就是神經(jīng)元(Neuron)。神經(jīng)元是大腦處理信息的最小單元,它的結(jié)構(gòu)如下圖:

34c7fdb8-b1d6-11eb-bf61-12bb97331649.jpg

Figure 1. 神經(jīng)元結(jié)構(gòu)

這個圖抽象一下,由三部分組成:細(xì)胞體(Cell Body)、樹突(Dendrite)、軸突(Axon)。名字都很形象,樹突像一棵樹那樣伸展開來,軸突長而細(xì),我隱約記得某篇文章里好像曾說道軸突有2mm那么長,對于一個看不見的細(xì)胞體帶著這樣長的軸突,還是相對較長的。神經(jīng)元之間就是通過這些樹突和軸突連接進(jìn)行信息交互。分工各不相同,樹突的龐大組織作為神經(jīng)元的輸入,軸突則作為輸出。一個神經(jīng)元通過其龐大的樹突結(jié)構(gòu)從多個神經(jīng)元處接受輸入信號。同時它的軸突也會伸展向不同神經(jīng)元輸出信號。那神經(jīng)元A的樹突和另一個神經(jīng)元B的軸突之間是如何實現(xiàn)信號傳遞的呢?這就引出下一個概念:突觸(Synapse)。

34d34cc2-b1d6-11eb-bf61-12bb97331649.jpg

Figure 2. 突觸結(jié)構(gòu)圖

軸突/樹突上的信號以電信號形式傳輸,突觸在信號傳遞的過程中會把電信號轉(zhuǎn)變成化學(xué)信號,然后通過突觸間隙傳遞到下一個神經(jīng)元的樹突,再次轉(zhuǎn)換成電信號,從而經(jīng)歷電信號-化學(xué)信號-電信號的轉(zhuǎn)變過程。

介紹完輸入輸出,下面就是神經(jīng)元的細(xì)胞體了。細(xì)胞體接收輸入信號后,合成為一個輸出,它的具體作用過程是我所不知的,但是后面在人工神經(jīng)網(wǎng)絡(luò)中可以看到用Sigmoid function來模擬它的處理過程。

這僅僅是一個信息處理單元,據(jù)估計大腦皮層擁有大約100億神經(jīng)細(xì)胞和60萬億的突觸連接,這樣的網(wǎng)絡(luò)結(jié)構(gòu)結(jié)果就是造就了大腦這樣的高效組織。大腦的能效大約是34e9c362-b1d6-11eb-bf61-12bb97331649.jpg焦耳每操作每秒,而相比之下最好的計算機(jī)這一數(shù)據(jù)要指數(shù)級地增長。由此也可以看到“集群”的力量,就好像螞蟻或者蜜蜂那樣。

2. 人工神經(jīng)網(wǎng)絡(luò)(Artificial Neural Network)

2.1 神經(jīng)元模型

現(xiàn)在用計算技術(shù)來模擬這樣的網(wǎng)絡(luò),首先就是要實現(xiàn)一個神經(jīng)元那樣的處理單元。來看一下人造的神經(jīng)元:

34f4d504-b1d6-11eb-bf61-12bb97331649.jpg

Figure 3.神經(jīng)元模型

看過了前面的神經(jīng)元,這個模型就不難理解是如何模擬的。同樣,它也有多個(m)輸入,突觸以及樹突上信號傳遞的過程被簡化為加權(quán)34feec7e-b1d6-11eb-bf61-12bb97331649.jpg,這里下標(biāo)的順序是神經(jīng)元k的第j個輸入權(quán)重(synaptic weight)。在這里引入一個偏置項(bias)35099552-b1d6-11eb-bf61-12bb97331649.jpg,然后共同作為加法器(adder)的輸入。到此為止,可以看到我們是對輸入做了一個加權(quán)和計算,偏置項的引入實際上把加權(quán)和變成了對輸入的Affine transform。而這些突觸權(quán)重在神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程中承擔(dān)著主體作用,因為神經(jīng)網(wǎng)絡(luò)通過學(xué)習(xí)或者訓(xùn)練獲得的知識表達(dá)(knowledge representation)就是這些權(quán)重和偏置項(偏置項可以看做是一個輸入為+1、權(quán)重為35099552-b1d6-11eb-bf61-12bb97331649.jpg的突觸連接)的具體取值。

加法器的輸出就是后面激活函數(shù)(Activation function)的輸入范圍,通過激活函數(shù)得到神經(jīng)元的最終輸出。激活函數(shù)有多種類型,最常見的就是Threshold函數(shù)和Sigmoid函數(shù)。

351d9dc2-b1d6-11eb-bf61-12bb97331649.jpg

Figure 4. (a) Threshold function; (b) Sigmoid function

形式分別為:Threshold

35286770-b1d6-11eb-bf61-12bb97331649.jpg

Sigmoid

3531a98e-b1d6-11eb-bf61-12bb97331649.jpg

其中

353b80ee-b1d6-11eb-bf61-12bb97331649.jpg

激活函數(shù)的作用是把輸出壓扁(squash)到一定范圍內(nèi)。以Sigmoid函數(shù)為例,輸入從負(fù)無窮到正無窮,經(jīng)過sigmoid函數(shù)映射到(0,1)范圍,與Threshold函數(shù)不同的是它的連續(xù)性使得它的輸出可以看做是結(jié)果等于1的概率。當(dāng)v>0時輸出為1;v<0時輸出為0。這對應(yīng)的是神經(jīng)網(wǎng)絡(luò)中神經(jīng)元的兩種狀態(tài):激活狀態(tài)和未激活狀態(tài)。

最后總結(jié)起來,神經(jīng)元模型是一個對輸入做Affine變換后經(jīng)過激活函數(shù)的數(shù)學(xué)模型。

2.2 網(wǎng)絡(luò)模型

人工神經(jīng)網(wǎng)絡(luò)是以層(layer)形式組織起來,包含一個輸入層、一個輸出層和一個或多個隱含層。每一層(除去輸入層)中包含多個神經(jīng)元,或者叫計算單元。輸入層只是接收輸入信號,并沒有做計算。層與層之間通過神經(jīng)連接(synaptic link)連接起來,如果神經(jīng)元與前一層的每一個神經(jīng)元之間都有連接(下圖所示),這樣的網(wǎng)絡(luò)叫做全連接網(wǎng)絡(luò)(completely-linked network),否則叫做部分連接網(wǎng)絡(luò)(partially-linked network)。

3547b08a-b1d6-11eb-bf61-12bb97331649.jpg

Figure 5. 神經(jīng)網(wǎng)絡(luò)模型

這樣的網(wǎng)絡(luò)包含一個4個神經(jīng)元的隱含層,一個2個神經(jīng)元的輸出層,一個包含10個輸入節(jié)點的輸入層。輸入節(jié)點因為沒有計算因為用方塊表示,神經(jīng)元用深色圓形表示。

2.3 模擬的能力

首先考慮一個神經(jīng)元里的輸出y與x之間的關(guān)系。激活函數(shù)的曲線在上面圖4b中已經(jīng)畫出來,當(dāng)輸入由x變?yōu)閍x時,曲線的平滑度將會隨之變化:a越大函數(shù)曲線越陡,當(dāng)a趨于正無窮時sigmoid函數(shù)逼近到Threshold函數(shù)。而如果輸入由x變?yōu)閤+b時,對曲線做平移。因而單個神經(jīng)元是對輸入的非線性映射。如圖5中的網(wǎng)絡(luò)模型,如果只有一個輸入x,這個只包含一個隱含層的網(wǎng)絡(luò)結(jié)構(gòu)可以逼近x任意的非線性函數(shù)(隱含層神經(jīng)元數(shù)目未必為4)。因而一個大型的全連接網(wǎng)絡(luò)的模擬能力是可以想見的。

2.4 計算的能力

利用網(wǎng)絡(luò)模型計算時,由輸入層開始,每一個節(jié)點接收來自前一層中節(jié)點的輸出,然后將計算結(jié)果傳遞到后面一層直到最后的輸出層,叫做前向傳播過程。

2.5 訓(xùn)練---BP

網(wǎng)絡(luò)的訓(xùn)練目的就是要找到網(wǎng)絡(luò)中各個突觸連接的權(quán)重和偏置項。作為有監(jiān)督學(xué)習(xí)的一種,它的訓(xùn)練過程是通過不斷反饋當(dāng)前網(wǎng)絡(luò)計算結(jié)果與訓(xùn)練數(shù)據(jù)的label之間的誤差來修正網(wǎng)絡(luò)權(quán)重。當(dāng)滿足某個條件時退出訓(xùn)練。

首先取一個訓(xùn)練樣例,輸入經(jīng)過初始化后的網(wǎng)絡(luò)得到輸出,然后計算輸出與樣例的desired output的誤差,然后計算該誤差對輸出層輸入的導(dǎo)數(shù),再根據(jù)對輸入層導(dǎo)數(shù)計算誤差函數(shù)對隱含層-輸出層權(quán)重的導(dǎo)數(shù),根據(jù)此導(dǎo)數(shù)修正隱含層-輸出層權(quán)重。繼續(xù)這樣的過程,計算誤差函數(shù)對輸入層-隱含層權(quán)重的導(dǎo)數(shù),并修正輸入層-隱含層權(quán)重……直到滿足退出條件(誤差精度或無調(diào)整),訓(xùn)練過程結(jié)束。

3. OpenCV中的神經(jīng)網(wǎng)絡(luò)

OpenCV中封裝了類CvANN_MLP,因而神經(jīng)網(wǎng)絡(luò)利用很方便。

首先構(gòu)建一個網(wǎng)絡(luò)模型:

CvANN_MLP ann;

Mat structure(1,3,CV_32SC1);
structure.at(0) = 10;

structure.at(0) = 4;

structure.at(0) = 2; // structure中表示每一層中神經(jīng)元數(shù)目

ann.create(structure,CvANN_MLP::SIGMOID_SYM,1,1); // 很明顯第二個參數(shù)選擇的是激活函數(shù)的類型

然后需要對訓(xùn)練數(shù)據(jù)放在兩個Mat結(jié)構(gòu)中。第一個是存儲訓(xùn)練數(shù)據(jù)的Mat train,第二個是存儲類別的Mat label。其中,train的每一行代表一個訓(xùn)練樣例,label的對應(yīng)的一行是訓(xùn)練樣例的類別。比如有25個屬于7個類別的訓(xùn)練樣例,每個樣例為16維向量。則train結(jié)構(gòu)為25*16,label結(jié)構(gòu)為25*7。需要解釋的是類別數(shù)據(jù),label中一行表示樣例所處類別,如果屬于第一類則為(1,0,0,0,0,0,0),第二類為(0,1,0,0,0,0,0)...

接下來需要給ann提供一個樣例的權(quán)重向量Mat weight,它標(biāo)記的是訓(xùn)練樣例的權(quán)重,這里都初始化為1:

Mat weight;

weight.ones(1,25,CV_32FC1);

接下來可以做訓(xùn)練了:

ann.train(train,label,weight);

訓(xùn)練結(jié)束后用ann來做分類,輸入為Mat testSample,testSample為1*16的向量,輸出為Mat output,output為1*7向量:

ann.predict(testSample,output);

最后找到output中的最大值就知道所屬類別maxPos了:

int maxPos;

double maxVal;

minMaxLoc(output,0,&maxVal,0,&maxPos);

責(zé)任編輯:lq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4814

    瀏覽量

    103562
  • 神經(jīng)元
    +關(guān)注

    關(guān)注

    1

    文章

    368

    瀏覽量

    18833
  • OpenCV
    +關(guān)注

    關(guān)注

    32

    文章

    642

    瀏覽量

    42861

原文標(biāo)題:神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的原理與在OpenCV中的應(yīng)用

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)電機(jī)故障診斷的應(yīng)用

    的診斷誤差。仿真結(jié)果驗證了該算法的有效性。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)電機(jī)故障診斷的應(yīng)用.pdf【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作
    發(fā)表于 06-16 22:09

    BP神經(jīng)網(wǎng)絡(luò)與卷積神經(jīng)網(wǎng)絡(luò)的比較

    多層。 每一層都由若干個神經(jīng)元構(gòu)成,神經(jīng)元之間通過權(quán)重連接。信號神經(jīng)網(wǎng)絡(luò)是前向傳播的,而誤差是反向傳播的。 卷積
    的頭像 發(fā)表于 02-12 15:53 ?659次閱讀

    如何優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)

    優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率是提高模型訓(xùn)練效率和性能的關(guān)鍵步驟。以下是一些優(yōu)化BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)率的方法: 一、理解學(xué)習(xí)率的重要性
    的頭像 發(fā)表于 02-12 15:51 ?928次閱讀

    什么是BP神經(jīng)網(wǎng)絡(luò)的反向傳播算法

    神經(jīng)網(wǎng)絡(luò)(即反向傳播神經(jīng)網(wǎng)絡(luò))的核心,它建立梯度下降法的基礎(chǔ)上,是一種適合于多層神經(jīng)元網(wǎng)絡(luò)學(xué)習(xí)算法。該算法通過計算每層
    的頭像 發(fā)表于 02-12 15:18 ?764次閱讀

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)的關(guān)系

    BP神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)之間存在著密切的關(guān)系,以下是對它們之間關(guān)系的介紹: 一、BP神經(jīng)網(wǎng)絡(luò)的基本概念 BP神經(jīng)網(wǎng)絡(luò),即反向傳播神經(jīng)網(wǎng)絡(luò)(Ba
    的頭像 發(fā)表于 02-12 15:15 ?850次閱讀

    BP神經(jīng)網(wǎng)絡(luò)圖像識別的應(yīng)用

    BP神經(jīng)網(wǎng)絡(luò)圖像識別中發(fā)揮著重要作用,其多層結(jié)構(gòu)使得網(wǎng)絡(luò)能夠學(xué)習(xí)到復(fù)雜的特征表達(dá),適用于處理非線性問題。以下是對BP神經(jīng)網(wǎng)絡(luò)
    的頭像 發(fā)表于 02-12 15:12 ?668次閱讀

    深度學(xué)習(xí)入門:簡單神經(jīng)網(wǎng)絡(luò)的構(gòu)建與實現(xiàn)

    深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)是核心模型。今天我們用 Python 和 NumPy 構(gòu)建一個簡單的神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)由多個
    的頭像 發(fā)表于 01-23 13:52 ?528次閱讀

    人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法

    在上一篇文章,我們介紹了傳統(tǒng)機(jī)器學(xué)習(xí)的基礎(chǔ)知識和多種算法。本文中,我們會介紹人工神經(jīng)網(wǎng)絡(luò)的原理和多種神經(jīng)網(wǎng)絡(luò)架構(gòu)方法,供各位老師選擇。
    的頭像 發(fā)表于 01-09 10:24 ?1181次閱讀
    人工<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理和多種<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>架構(gòu)方法

    卷積神經(jīng)網(wǎng)絡(luò)自然語言處理的應(yīng)用

    自然語言處理是人工智能領(lǐng)域的一個重要分支,它致力于使計算機(jī)能夠理解、解釋和生成人類語言。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)作為一種強大的模型,圖像識別和語音處理等領(lǐng)域取得了顯著成果
    的頭像 發(fā)表于 11-15 14:58 ?802次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的比較

    深度學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)模型被廣泛應(yīng)用于各種任務(wù),如圖像識別、自然語言處理和游戲智能等。其中,卷積神經(jīng)網(wǎng)絡(luò)(CNNs)和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)是兩種常
    的頭像 發(fā)表于 11-15 14:53 ?1863次閱讀

    深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型

    深度學(xué)習(xí)近年來多個領(lǐng)域取得了顯著的進(jìn)展,尤其是圖像識別、語音識別和自然語言處理等方面。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一個分支,因其
    的頭像 發(fā)表于 11-15 14:52 ?844次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)語音識別的應(yīng)用實例

    神經(jīng)網(wǎng)絡(luò)簡介 LSTM是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它能夠學(xué)習(xí)長期依賴關(guān)系。傳統(tǒng)的RNN,信息會隨著時間的流逝而逐漸消失,導(dǎo)致
    的頭像 發(fā)表于 11-13 10:03 ?1848次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)時間序列預(yù)測的應(yīng)用

    時間序列預(yù)測是數(shù)據(jù)分析的一個重要領(lǐng)域,它涉及到基于歷史數(shù)據(jù)預(yù)測未來值。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,長短期記憶(LSTM)神經(jīng)網(wǎng)絡(luò)因其處理序列數(shù)據(jù)方面的優(yōu)勢而受到廣泛關(guān)注。 LSTM
    的頭像 發(fā)表于 11-13 09:54 ?2036次閱讀

    LSTM神經(jīng)網(wǎng)絡(luò)的基本原理 如何實現(xiàn)LSTM神經(jīng)網(wǎng)絡(luò)

    LSTM(長短期記憶)神經(jīng)網(wǎng)絡(luò)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它能夠學(xué)習(xí)長期依賴信息。處理序列數(shù)據(jù)時,如時間序列分析、自然語言處理等,LSTM因其能夠有效地捕捉時間序列
    的頭像 發(fā)表于 11-13 09:53 ?1570次閱讀

    FPGA深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用

    、低功耗等特點,逐漸成為深度神經(jīng)網(wǎng)絡(luò)邊緣計算和設(shè)備端推理的重要硬件平臺。本文將詳細(xì)探討FPGA深度神經(jīng)網(wǎng)絡(luò)的應(yīng)用,包括其優(yōu)勢、設(shè)計流程
    的頭像 發(fā)表于 07-24 10:42 ?1194次閱讀