卷積神經網絡簡介:什麼是機器學習?——第一部分
發布時間:2023-03-21 來源:ADI 責任編輯:wenwei
【導讀】隨著人工智能(AI)技術的快速發展,AI可以越來越多地支持以前無法實現或者難以實現的應用。本係列文章基於此解釋了卷積神經網絡(CNN)及其對人工智能和機器學習的意義。CNN是一種能夠從複雜數據中提取特征的強大工具,例如識別音頻信號或圖像信號中的複雜模式就是其應用之一。本文討論了CNN相對於經典線性規劃的優勢,後續文章《訓練卷積神經網絡:什麼是機器學習?——第二部分》將討論如何訓練CNN模型,係列文章的第三部分將討論一個特定用例,並使用專門的AI微控製器對模型進行測試。
什麼是卷積神經網絡?
神經網絡是一種由神經元組成的係統或結構,它使AI能夠更好地理解數據,進而解決複雜問題。雖然神經網絡有許多種類型,但本係列文章將隻關注卷積神經網絡(CNN),其主要應用領域是對輸入數據的模式識別和對象分類。CNN是一種用於深度學習的人工神經網絡。這種網絡由輸入層、ruoganjuanjicengheshuchucengzucheng。juanjicengshizuizhongyaodebufen,tamenshiyongyizudutedequanzhonghelvboqi,shidewangluokeyicongshurushujuzhongtiqutezheng。shujukeyishixuduobutongdexingshi,rutuxiang、音頻和文本。這種提取特征的過程使CNN能夠識別數據中的模式從而讓工程師能夠創建更有效和高效的應用。為了更好地理解CNN,我們首先將討論經典的線性規劃。
經典控製技術中的線性規劃
控(kong)製(zhi)技(ji)術(shu)的(de)任(ren)務(wu)是(shi)借(jie)助(zhu)傳(chuan)感(gan)器(qi)讀(du)取(qu)數(shu)據(ju)並(bing)進(jin)行(xing)處(chu)理(li),然(ran)後(hou)根(gen)據(ju)規(gui)則(ze)做(zuo)出(chu)響(xiang)應(ying),最(zui)後(hou)顯(xian)示(shi)或(huo)發(fa)送(song)結(jie)果(guo)。例(li)如(ru),溫(wen)度(du)調(tiao)節(jie)器(qi)每(mei)秒(miao)鍾(zhong)測(ce)量(liang)一(yi)次(ci)溫(wen)度(du),通(tong)過(guo)微(wei)控(kong)製(zhi)器(qi)單(dan)元(yuan)(MCU)讀取溫度傳感器的數據。該數值用於閉環控製係統的輸入,並與設定的溫度進行比較。這就是一個借助MCU執行線性規劃的例子,這種技術通過比較預編程值和實際值來給出明確的結論。相比之下,AI係統通常依據概率論來發揮作用。
複雜模式和信號處理
許xu多duo應ying用yong所suo使shi用yong的de輸shu入ru數shu據ju必bi須xu首shou先xian由you模mo式shi識shi別bie係xi統tong加jia以yi判pan別bie。模mo式shi識shi別bie可ke以yi應ying用yong於yu不bu同tong的de數shu據ju結jie構gou。本ben文wen討tao論lun的de例li子zi限xian定ding為wei一yi維wei或huo二er維wei的de數shu據ju結jie構gou,比bi如ru音yin頻pin信xin號hao、心電圖(ECG)、光電容積脈搏波(PPG)、一維的振動數據或波形、熱圖像、二維的瀑布圖數據。
在上述模式識別中,將應用通過MCU的代碼來實現是極其困難的。一個例子是識別圖像中的具體對象(例如貓):這種情況下無法區分要分析的圖像是很早攝錄的,還是剛剛由從相機讀取的。分析軟件基於一些特定的規則來判斷圖片中是否有貓:比如說貓必須有典型的尖耳朵、三角形的鼻子和胡須。如果可以在圖像中識別出這些特征,軟件便可以報告在圖像中發現了貓。但是這存在一些問題:如(ru)果(guo)圖(tu)像(xiang)隻(zhi)顯(xian)示(shi)了(le)貓(mao)的(de)背(bei)麵(mian),模(mo)式(shi)識(shi)別(bie)係(xi)統(tong)會(hui)怎(zen)麼(me)辦(ban)?如(ru)果(guo)貓(mao)沒(mei)有(you)胡(hu)須(xu)或(huo)者(zhe)在(zai)事(shi)故(gu)中(zhong)失(shi)去(qu)了(le)腿(tui),會(hui)發(fa)生(sheng)什(shen)麼(me)?盡(jin)管(guan)這(zhe)些(xie)異(yi)常(chang)情(qing)況(kuang)不(bu)太(tai)可(ke)能(neng)出(chu)現(xian),但(dan)模(mo)式(shi)識(shi)別(bie)的(de)代(dai)碼(ma)將(jiang)不(bu)得(de)不(bu)考(kao)慮(lv)所(suo)有(you)可(ke)能(neng)的(de)異(yi)常(chang)情(qing)況(kuang),從(cong)而(er)增(zeng)加(jia)大(da)量(liang)額(e)外(wai)的(de)規(gui)則(ze)。即(ji)使(shi)在(zai)這(zhe)個(ge)簡(jian)單(dan)的(de)例(li)子(zi)中(zhong),軟(ruan)件(jian)設(she)置(zhi)的(de)規(gui)則(ze)也(ye)會(hui)變(bian)得(de)非(fei)常(chang)複(fu)雜(za)。
機器學習如何取代經典規則
AI背後的核心思想是在小範圍內模仿人類進行學習。它不依賴於製定大量的if-then規則,而是建立一個通用的模式識別的機器模型。這兩種方法的關鍵區別在於,與一套複雜的規則相比,AI不會提供明確的結果。AI不會明確報告"我在圖像中識別出了一隻貓",而是提供類似這樣的結論:"圖像中有一隻貓的概率為97.5%,它也可能是豹子(2.1%)或老虎(0.4%)。"這意味著在模式識別的過程結束時,應用的開發人員必須通過決策閾值做出決定。
另一個區別是AI並bing不bu依yi賴lai固gu定ding的de規gui則ze,而er是shi要yao經jing過guo訓xun練lian。訓xun練lian過guo程cheng需xu要yao將jiang大da量liang貓mao的de圖tu像xiang展zhan示shi給gei神shen經jing網wang絡luo以yi供gong其qi學xue習xi。最zui終zhong,神shen經jing網wang絡luo將jiang能neng夠gou獨du立li識shi別bie圖tu像xiang中zhong是shi否fou有you貓mao。關guan鍵jian的de一yi點dian是shi,未wei來laiAI可以不局限於已知的訓練圖像開展識別。該神經網絡需要映射到MCU中。
AI的模式識別內部到底是什麼?
AI的神經元網絡類似於人腦的生物神經元網絡。一個神經元有多個輸入,但隻有一個輸出。基本上,這些神經元都是輸入的線性變換——將輸入乘以數字(權重w)並加上一個常數(偏置b),然後通過一個固定的非線性函數產生輸出,該函數也被稱為激活函數1。作為網絡中唯一的非線性部分,激活函數用於定義人工神經元值的激活範圍。神經元的功能在數學上可以描述為
其中,f為激活函數,w為權重,x為輸入數據,b為偏置。數據可以是單獨的標量、向量或矩陣。圖1顯示了一個神經元,它擁有三個輸入和一個激活函數ReLU2。網絡中的神經元總是分層排列的。
圖1.擁有三個輸入和一個輸出的神經元
如上所述,CNN用於輸入數據的模式識別和對象分類。CNN分為不同的部分:一個輸入層、若幹隱藏層和一個輸出層。圖2顯示了一個小型網絡,它包含一個具有三個輸入的輸入層、一個具有五個神經元的隱藏層和一個具有四個輸出的輸出層。所有神經元的輸出都連接到下一層的所有輸入。圖2所示的網絡不具有現實意義,這裏僅用於演示說明。即使對於這個小型網絡,用於描述網絡的方程中也具有32個偏置和32個權重。
CIFAR神經網絡是一種廣泛用於圖像識別的CNN。它主要由兩種類型的層組成:juanjicenghechihuaceng,zheliangzhongcengfenbieshiyongjuanjihechihualiangzhongfangfa,zaishenjingwangluodexunlianzhongfeichangyouxiao。juanjicengshiyongyizhongbeichengweijuanjideshuxueyunsuanlaishibiexiangsuzhishuzudemoshi。juanjifashengzaiyinzangcengzhong,rutu3所示。卷積會重複多次直至達到所需的精度水平。如果要比較的兩個輸入值(本例是輸入圖像和濾波器)相xiang似si,那na麼me卷juan積ji運yun算suan的de輸shu出chu值zhi總zong會hui特te別bie高gao。濾lv波bo器qi有you時shi也ye被bei稱cheng為wei卷juan積ji核he。然ran後hou,結jie果guo被bei傳chuan遞di到dao池chi化hua層ceng提ti取qu特te征zheng生sheng成cheng一yi個ge特te征zheng圖tu,表biao征zheng輸shu入ru數shu據ju的de重zhong要yao特te征zheng,稱cheng為wei池chi化hua。池chi化hua層ceng的de運yun行xing需xu要yao依yi賴lai另ling一yi個ge濾lv波bo器qi,稱cheng為wei池chi化hua濾lv波bo器qi。訓xun練lian後hou,在zai網wang絡luo運yun行xing的de狀zhuang態tai下xia,特te征zheng圖tu與yu輸shu入ru數shu據ju進jin行xing比bi較jiao。由you於yu特te征zheng圖tu保bao留liu了le特te定ding的de特te征zheng,所suo以yi隻zhi有you當dang內nei容rong相xiang似si時shi,神shen經jing元yuan的de輸shu出chu才cai會hui被bei觸chu發fa。通tong過guo組zu合he使shi用yong卷juan積ji和he池chi化hua,CIFAR網絡可用於高精度地識別和分類圖像中的各種對象。
圖2.一個小型神經網絡
圖3.用CIFAR-10數據集訓練的CIFAR網絡模型
CIFAR-10是一個特定數據集,通常用於訓練CIFAR神經網絡。它由60000幅32×32彩色圖像組成,分為10個類別。這些圖像是從各種來源收集的,例如網頁、新聞和個人圖像集。每個類別包含6000幅圖像,平均分配在訓練集、測試集和驗證集中,使其成為測試計算機視覺和其他機器學習模型的理想圖像集。
juanjishenjingwangluoheqitaleixingwangluodezhuyaoqubiezaiyuchulishujudefangshi。juanjishenjingwangluotongguolvboyicijianzhashurushujudeshuxing。juanjicengdeshuliangyueduo,keyishibiedexijiejiuyuejingxi。zaidiyicijuanjizhihou,gaiguochengcongjiandandeduixiangshuxing(如邊或點)開始進行第二次卷積以識別詳細的結構,如角、圓、矩(ju)形(xing)等(deng)。在(zai)第(di)三(san)次(ci)卷(juan)積(ji)之(zhi)後(hou),特(te)征(zheng)就(jiu)可(ke)以(yi)表(biao)示(shi)某(mou)些(xie)複(fu)雜(za)的(de)模(mo)式(shi),它(ta)們(men)與(yu)圖(tu)像(xiang)中(zhong)對(dui)象(xiang)的(de)某(mou)些(xie)部(bu)分(fen)相(xiang)似(si),並(bing)且(qie)對(dui)於(yu)給(gei)定(ding)對(dui)象(xiang)來(lai)說(shuo)通(tong)常(chang)是(shi)唯(wei)一(yi)的(de)。在(zai)我(wo)們(men)最(zui)初(chu)的(de)例(li)子(zi)中(zhong),這(zhe)些(xie)特(te)征(zheng)就(jiu)是(shi)貓(mao)的(de)胡(hu)須(xu)或(huo)耳(er)朵(duo)。特(te)征(zheng)圖(tu)的(de)可(ke)視(shi)化(hua)(如圖4所示)對於應用本身而言並不是必需的,但它有助於幫助理解卷積。
即使是像CIFARzheyangdexiaoxingwangluo,meicengyeyoushubaigeshenjingyuan,bingqieyouxuduochuanxinglianjiedeceng。suizhewangluodefuzaduheguimodezengjia,suoxudequanzhonghepianzhishuliangyexunsuzengchang。tu3所示的CIFAR-10示例已經有20wangecanshu,meigecanshuzaixunlianguochengzhongdouxuyaoyizuquedingdezhi。tezhengtukeyiyouchihuacengjinyibuchuli,yijianshaoxuyaoxunliandecanshushuliangbingbaoliuzhongyaoxinxi。
圖4.CNN的特征圖
如上所述,在CNN中的每次卷積之後,通常會發生池化,在一些文獻中也常被稱為子采樣。它有助於減少數據的維度。圖4中(zhong)的(de)特(te)征(zheng)圖(tu)裏(li)麵(mian)的(de)很(hen)多(duo)區(qu)域(yu)包(bao)含(han)很(hen)少(shao)甚(shen)至(zhi)不(bu)含(han)有(you)意(yi)義(yi)的(de)信(xin)息(xi)。這(zhe)是(shi)因(yin)為(wei)對(dui)象(xiang)隻(zhi)是(shi)圖(tu)像(xiang)的(de)一(yi)小(xiao)部(bu)分(fen),並(bing)不(bu)構(gou)成(cheng)整(zheng)幅(fu)圖(tu)像(xiang)。圖(tu)像(xiang)的(de)其(qi)餘(yu)部(bu)分(fen)未(wei)在(zai)特(te)征(zheng)圖(tu)中(zhong)使(shi)用(yong),因(yin)此(ci)與(yu)分(fen)類(lei)無(wu)關(guan)。在(zai)池(chi)化(hua)層(ceng)中(zhong),池(chi)化(hua)類(lei)型(xing)(最大值池化或均值池化)和(he)池(chi)化(hua)窗(chuang)口(kou)矩(ju)陣(zhen)的(de)大(da)小(xiao)均(jun)被(bei)指(zhi)定(ding)。在(zai)池(chi)化(hua)過(guo)程(cheng)中(zhong),窗(chuang)口(kou)矩(ju)陣(zhen)逐(zhu)步(bu)在(zai)輸(shu)入(ru)數(shu)據(ju)上(shang)移(yi)動(dong)。例(li)如(ru),最(zui)大(da)值(zhi)池(chi)化(hua)會(hui)選(xuan)取(qu)窗(chuang)口(kou)中(zhong)的(de)最(zui)大(da)數(shu)據(ju)值(zhi)而(er)丟(diu)棄(qi)其(qi)它(ta)所(suo)有(you)的(de)值(zhi)。這(zhe)樣(yang),數(shu)據(ju)量(liang)不(bu)斷(duan)減(jian)少(shao),最(zui)終(zhong)形(xing)成(cheng)各(ge)個(ge)對(dui)象(xiang)類(lei)別(bie)的(de)唯(wei)一(yi)屬(shu)性(xing)。
卷(juan)積(ji)和(he)池(chi)化(hua)的(de)結(jie)果(guo)是(shi)大(da)量(liang)的(de)二(er)維(wei)矩(ju)陣(zhen)。為(wei)了(le)實(shi)現(xian)我(wo)們(men)真(zhen)正(zheng)的(de)目(mu)標(biao)即(ji)分(fen)類(lei),我(wo)們(men)需(xu)要(yao)將(jiang)二(er)維(wei)數(shu)據(ju)轉(zhuan)換(huan)成(cheng)一(yi)個(ge)很(hen)長(chang)的(de)一(yi)維(wei)向(xiang)量(liang)。轉(zhuan)換(huan)是(shi)在(zai)所(suo)謂(wei)的(de)壓(ya)平(ping)層(ceng)中(zhong)完(wan)成(cheng)的(de),隨(sui)後(hou)是(shi)一(yi)個(ge)或(huo)兩(liang)個(ge)全(quan)連(lian)接(jie)層(ceng)。全(quan)連(lian)接(jie)層(ceng)的(de)神(shen)經(jing)元(yuan)類(lei)似(si)於(yu)圖(tu)2所示的結構。神經網絡最後一層的輸出要與需要區分的類別的數量一致。此外,在最後一層中,數據還被歸一化以產生一個概率分布(97.5%的貓,2.1%的豹,0.4%的虎,等等)。
這(zhe)就(jiu)是(shi)神(shen)經(jing)網(wang)絡(luo)建(jian)模(mo)的(de)全(quan)過(guo)程(cheng)。然(ran)而(er),卷(juan)積(ji)核(he)與(yu)濾(lv)波(bo)器(qi)的(de)權(quan)重(zhong)和(he)內(nei)容(rong)仍(reng)然(ran)未(wei)知(zhi),必(bi)須(xu)通(tong)過(guo)網(wang)絡(luo)訓(xun)練(lian)來(lai)確(que)定(ding)使(shi)模(mo)型(xing)能(neng)夠(gou)工(gong)作(zuo)。這(zhe)將(jiang)在(zai)後(hou)續(xu)文(wen)章(zhang)《訓練卷積神經網絡:什麼是機器學習?——第二部分》中說明。第三部分將解釋我們上文討論過的神經網絡(例如識別貓)的硬件實現,我們將使用ADI公司開發的帶硬件CNN加速器的 MAX78000 人工智能微控製器來演示。
1 通常使用sigmoid、tanh或ReLU函數。
2 ReLU:修正線性單元。對於該函數,輸入值為負時,輸出為零;輸入值大於零時,輸出值為輸入值。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





