chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

關于神經(jīng)網(wǎng)絡學習的原理與在OpenCV中的應用

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

掃碼添加小助手

加入工程師交流群

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

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

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

Figure 1. 神經(jīng)元結構

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

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

Figure 2. 突觸結構圖

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

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

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

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

2.1 神經(jīng)元模型

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

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

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

看過了前面的神經(jīng)元,這個模型就不難理解是如何模擬的。同樣,它也有多個(m)輸入,突觸以及樹突上信號傳遞的過程被簡化為加權34feec7e-b1d6-11eb-bf61-12bb97331649.jpg,這里下標的順序是神經(jīng)元k的第j個輸入權重(synaptic weight)。在這里引入一個偏置項(bias)35099552-b1d6-11eb-bf61-12bb97331649.jpg,然后共同作為加法器(adder)的輸入。到此為止,可以看到我們是對輸入做了一個加權和計算,偏置項的引入實際上把加權和變成了對輸入的Affine transform。而這些突觸權重在神經(jīng)網(wǎng)絡的學習過程中承擔著主體作用,因為神經(jīng)網(wǎng)絡通過學習或者訓練獲得的知識表達(knowledge representation)就是這些權重和偏置項(偏置項可以看做是一個輸入為+1、權重為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ù)為例,輸入從負無窮到正無窮,經(jīng)過sigmoid函數(shù)映射到(0,1)范圍,與Threshold函數(shù)不同的是它的連續(xù)性使得它的輸出可以看做是結果等于1的概率。當v>0時輸出為1;v<0時輸出為0。這對應的是神經(jīng)網(wǎng)絡中神經(jīng)元的兩種狀態(tài):激活狀態(tài)和未激活狀態(tài)。

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

2.2 網(wǎng)絡模型

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

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

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

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

2.3 模擬的能力

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

2.4 計算的能力

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

2.5 訓練---BP

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

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

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

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

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

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ù)的類型

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

接下來需要給ann提供一個樣例的權重向量Mat weight,它標記的是訓練樣例的權重,這里都初始化為1:

Mat weight;

weight.ones(1,25,CV_32FC1);

接下來可以做訓練了:

ann.train(train,label,weight);

訓練結束后用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);

責任編輯:lq

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

原文標題:神經(jīng)網(wǎng)絡學習的原理與在OpenCV中的應用

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    為什么 VisionFive V1 板上的 JH7100 并存 NVDLA 引擎和神經(jīng)網(wǎng)絡引擎?

    我想知道為什么 VisionFive V1 板上的 JH7100 并存 NVDLA 引擎和神經(jīng)網(wǎng)絡引擎,請問?您能否舉一些關于他們的用例的例子?
    發(fā)表于 03-25 06:01

    神經(jīng)網(wǎng)絡的初步認識

    日常生活的智能應用都離不開深度學習,而深度學習則依賴于神經(jīng)網(wǎng)絡的實現(xiàn)。什么是神經(jīng)網(wǎng)絡?神經(jīng)網(wǎng)絡
    的頭像 發(fā)表于 12-17 15:05 ?457次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡</b>的初步認識

    自動駕駛中常提的卷積神經(jīng)網(wǎng)絡是個啥?

    自動駕駛領域,經(jīng)常會聽到卷積神經(jīng)網(wǎng)絡技術。卷積神經(jīng)網(wǎng)絡,簡稱為CNN,是一種專門用來處理網(wǎng)格狀數(shù)據(jù)(比如圖像)的深度學習模型。CNN圖像
    的頭像 發(fā)表于 11-19 18:15 ?2241次閱讀
    自動駕駛中常提的卷積<b class='flag-5'>神經(jīng)網(wǎng)絡</b>是個啥?

    CNN卷積神經(jīng)網(wǎng)絡設計原理及MCU200T上仿真測試

    數(shù)的提出很大程度的解決了BP算法優(yōu)化深層神經(jīng)網(wǎng)絡時的梯度耗散問題。當x&gt;0 時,梯度恒為1,無梯度耗散問題,收斂快;當x&lt;0 時,該層的輸出為0。 CNN
    發(fā)表于 10-29 07:49

    NMSIS神經(jīng)網(wǎng)絡庫使用介紹

    () riscv_fully_connected_q7()   NS上跑時和arm的神經(jīng)網(wǎng)絡庫一致,可在github上下載CMSIS的庫,然后加入到自己庫所在的路徑下即可。
    發(fā)表于 10-29 06:08

    Ubuntu20.04系統(tǒng)訓練神經(jīng)網(wǎng)絡模型的一些經(jīng)驗

    本帖欲分享Ubuntu20.04系統(tǒng)訓練神經(jīng)網(wǎng)絡模型的一些經(jīng)驗。我們采用jupyter notebook作為開發(fā)IDE,以TensorFlow2為訓練框架,目標是訓練一個手寫數(shù)字識別的神經(jīng)
    發(fā)表于 10-22 07:03

    CICC2033神經(jīng)網(wǎng)絡部署相關操作

    完成神經(jīng)網(wǎng)絡量化后,需要將神經(jīng)網(wǎng)絡部署到硬件加速器上。首先需要將所有權重數(shù)據(jù)以及輸入數(shù)據(jù)導入到存儲器內(nèi)。 仿真環(huán)境下,可將其存于一個文件,并在 Verilog 代碼
    發(fā)表于 10-20 08:00

    液態(tài)神經(jīng)網(wǎng)絡(LNN):時間連續(xù)性與動態(tài)適應性的神經(jīng)網(wǎng)絡

    1.算法簡介液態(tài)神經(jīng)網(wǎng)絡(LiquidNeuralNetworks,LNN)是一種新型的神經(jīng)網(wǎng)絡架構,其設計理念借鑒自生物神經(jīng)系統(tǒng),特別是秀麗隱桿線蟲的神經(jīng)結構,盡管這種微生物的
    的頭像 發(fā)表于 09-28 10:03 ?1540次閱讀
    液態(tài)<b class='flag-5'>神經(jīng)網(wǎng)絡</b>(LNN):時間連續(xù)性與動態(tài)適應性的<b class='flag-5'>神經(jīng)網(wǎng)絡</b>

    神經(jīng)網(wǎng)絡的并行計算與加速技術

    問題。因此,并行計算與加速技術神經(jīng)網(wǎng)絡研究和應用變得至關重要,它們能夠顯著提升神經(jīng)網(wǎng)絡的性能和效率,滿足實際應用對快速響應和大規(guī)模數(shù)據(jù)
    的頭像 發(fā)表于 09-17 13:31 ?1289次閱讀
    <b class='flag-5'>神經(jīng)網(wǎng)絡</b>的并行計算與加速技術

    如何在機器視覺中部署深度學習神經(jīng)網(wǎng)絡

    圖 1:基于深度學習的目標檢測可定位已訓練的目標類別,并通過矩形框(邊界框)對其進行標識。 討論人工智能(AI)或深度學習時,經(jīng)常會出現(xiàn)“神經(jīng)網(wǎng)絡”、“黑箱”、“標注”等術語。這些概
    的頭像 發(fā)表于 09-10 17:38 ?1047次閱讀
    如何在機器視覺中部署深度<b class='flag-5'>學習</b><b class='flag-5'>神經(jīng)網(wǎng)絡</b>

    無刷電機小波神經(jīng)網(wǎng)絡轉子位置檢測方法的研究

    MATLAB/SIMULINK工具對該方法進行驗證,實驗結果表明該方法全程速度下效果良好。 純分享帖,點擊下方附件免費獲取完整資料~~~ *附件:無刷電機小波神經(jīng)網(wǎng)絡轉子位置檢測方法的研究.pdf
    發(fā)表于 06-25 13:06

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

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

    神經(jīng)網(wǎng)絡RAS異步電機轉速估計的仿真研究

    ,在一定程度上擴展了轉速估計范圍。 純分享帖,需要者可點擊附件免費獲取完整資料~~~*附件:神經(jīng)網(wǎng)絡RAS異步電機轉速估計的仿真研究.pdf【免責聲明】本文系網(wǎng)絡轉載,版權歸原作者
    發(fā)表于 06-16 21:54

    基于FPGA搭建神經(jīng)網(wǎng)絡的步驟解析

    本文的目的是一個神經(jīng)網(wǎng)絡已經(jīng)通過python或者MATLAB訓練好的神經(jīng)網(wǎng)絡模型,將訓練好的模型的權重和偏置文件以TXT文件格式導出,然后通過python程序將txt文件轉化為coe文件,(coe
    的頭像 發(fā)表于 06-03 15:51 ?1496次閱讀
    基于FPGA搭建<b class='flag-5'>神經(jīng)網(wǎng)絡</b>的步驟解析

    AI神經(jīng)網(wǎng)絡降噪算法語音通話產(chǎn)品的應用優(yōu)勢與前景分析

    隨著人工智能技術的快速發(fā)展,AI神經(jīng)網(wǎng)絡降噪算法語音通話產(chǎn)品的應用正逐步取代傳統(tǒng)降噪技術,成為提升語音質(zhì)量的關鍵解決方案。相比傳統(tǒng)DSP(數(shù)字信號處理)降噪,AI降噪具有更強的環(huán)境適應能力、更高
    的頭像 發(fā)表于 05-16 17:07 ?1856次閱讀
    AI<b class='flag-5'>神經(jīng)網(wǎng)絡</b>降噪算法<b class='flag-5'>在</b>語音通話產(chǎn)品<b class='flag-5'>中</b>的應用優(yōu)勢與前景分析