訓練卷積神經網絡:什麼是機器學習?——第二部分
發布時間:2023-04-21 來源:ADI 責任編輯:wenwei
【導讀】本文是係列文章的第二部分,重點介紹卷積神經網絡(CNN)的特性和應用。CNN主要用於模式識別和對象分類。在第一部分文章《卷積神經網絡簡介:什麼是機器學習?——第一部分》中,我們比較了在微控製器中運行經典線性規劃程序與運行CNN的區別,並展示了CNN的優勢。我們還探討了CIFAR網絡,該網絡可以對圖像中的貓、房子或自行車等對象進行分類,還可以執行簡單的語音識別。本文重點解釋如何訓練這些神經網絡以解決實際問題。
神經網絡的訓練過程
本係列文章的第一部分討論的CIFAR網絡由不同層的神經元組成。如圖1所示,32 × 32像素的圖像數據被呈現給網絡並通過網絡層傳遞。CNN處理過程的第一步就是提取待區分對象的特性和結構,這需要借助濾波器矩陣實現。設計人員對CIFAR網絡進行建模後,由於最初無法確定這些濾波器矩陣,因此這個階段的網絡無法檢測模式和對象。
weici,shouxianxuyaoquedinglvboqijuzhendesuoyoucanshu,yizuidaxianduditigaojianceduixiangdejingduhuozuidaxiandudijianshaosunshihanshu。zhegeguochengjiuchengweishenjingwangluoxunlian。benxiliewenzhangdediyibufensuomiaoshudechangjianyingyongzaikaifaheceshiqijianzhixuduiwangluojinxingyicixunlianjiukeyishiyong,wuxuzaitiaozhengcanshu。ruguoxitongduishuxideduixiangjinxingfenlei,zewuxuewaixunlian;當係統需要對全新的對象進行分類時,才需要額外進行訓練。
進行網絡訓練需要使用訓練數據集,並使用類似的一組測試數據集來測試網絡的精度。例如CIFAR-10網絡數據集為十個對象類的圖像集合:飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、輪船和卡車。我們必須在訓練CNN之zhi前qian對dui這zhe些xie圖tu像xiang進jin行xing命ming名ming,這zhe也ye是shi人ren工gong智zhi能neng應ying用yong開kai發fa過guo程cheng中zhong最zui為wei複fu雜za的de部bu分fen。本ben文wen討tao論lun的de訓xun練lian過guo程cheng采cai用yong反fan向xiang傳chuan播bo的de原yuan理li,即ji向xiang網wang絡luo連lian續xu展zhan示shi大da量liang圖tu像xiang,並bing且qie每mei次ci都dou同tong時shi傳chuan送song一yi個ge目mu標biao值zhi。本ben例li的de目mu標biao值zhi為wei圖tu像xiang中zhong相xiang關guan的de對dui象xiang類lei。在zai每mei次ci顯xian示shi圖tu像xiang時shi,濾lv波bo器qi矩ju陣zhen都dou會hui被bei優you化hua,這zhe樣yang對dui象xiang類lei的de目mu標biao值zhi就jiu會hui和he實shi際ji值zhi相xiang匹pi配pei。完wan成cheng此ci過guo程cheng的de網wang絡luo就jiu能neng夠gou檢jian測ce出chu訓xun練lian期qi間jian從cong未wei看kan到dao過guo的de圖tu像xiang中zhong的de對dui象xiang。
圖1.CIFAR CNN架構。
圖2.由前向傳播和反向傳播組成的訓練循環。
過擬合和欠擬合
在神經網絡的建模過程中經常會出現的問題是:shenjingwangluoyinggaiyouduoshaoceng,huozheshishenjingwangluodelvboqijuzhenyinggaiyouduoda。huidazhegewentibingfeiyishi,yincitaolunwangluodeguoniheheqiannihezhiguanzhongyao。guoniheyoumoxingguoyufuzayijicanshuguoduoerdaozhi。womenkeyitongguobijiaoxunlianshujujiheceshishujujidesunshilaiquedingyucemoxingyuxunlianshujujidenihechengdu。ruguoxunlianqijiansunshijiaodibingqiezaixiangwangluochengxiancongweixianshiguodeceshishujushisunshiguoduzengjia,zhejiuqiangliebiaomingwangluoyijingjizhulexunlianshujuerbushizaishishimoshishibie。cileiqingkuangzhuyaofashengzaiwangluodecanshucunchukongjianguodahuozhewangluodejuanjicengguoduodeshihou。zhezhongqingkuangxiayingdangsuoxiaowangluoguimo。
損失函數和訓練算法
學xue習xi分fen兩liang個ge步bu驟zhou進jin行xing。第di一yi步bu,向xiang網wang絡luo展zhan示shi圖tu像xiang,然ran後hou由you神shen經jing元yuan網wang絡luo處chu理li這zhe些xie圖tu像xiang生sheng成cheng一yi個ge輸shu出chu矢shi量liang。輸shu出chu矢shi量liang的de最zui大da值zhi表biao示shi檢jian測ce到dao的de對dui象xiang類lei,例li如ru示shi例li中zhong的de"狗",該值不一定是正確的。這一步稱為前向傳播。
目(mu)標(biao)值(zhi)與(yu)輸(shu)出(chu)時(shi)產(chan)生(sheng)的(de)實(shi)際(ji)值(zhi)之(zhi)間(jian)的(de)差(cha)值(zhi)稱(cheng)為(wei)損(sun)失(shi),相(xiang)關(guan)函(han)數(shu)則(ze)稱(cheng)為(wei)損(sun)失(shi)函(han)數(shu)。網(wang)絡(luo)的(de)所(suo)有(you)要(yao)素(su)和(he)參(can)數(shu)均(jun)包(bao)含(han)在(zai)損(sun)失(shi)函(han)數(shu)中(zhong)。神(shen)經(jing)網(wang)絡(luo)的(de)學(xue)習(xi)過(guo)程(cheng)旨(zhi)在(zai)以(yi)最(zui)小(xiao)化(hua)損(sun)失(shi)函(han)數(shu)的(de)方(fang)式(shi)定(ding)義(yi)這(zhe)些(xie)參(can)數(shu)。這(zhe)種(zhong)最(zui)小(xiao)化(hua)可(ke)通(tong)過(guo)反(fan)向(xiang)傳(chuan)播(bo)的(de)過(guo)程(cheng)實(shi)現(xian)。在(zai)反(fan)向(xiang)傳(chuan)播(bo)的(de)過(guo)程(cheng)中(zhong),輸(shu)出(chu)產(chan)生(sheng)的(de)偏(pian)置(zhi)(損失 = 目標值-實際值)通過網絡的各層反饋,直至達到網絡的起始層。
因yin此ci,前qian向xiang傳chuan播bo和he反fan向xiang傳chuan播bo在zai訓xun練lian過guo程cheng中zhong產chan生sheng了le一yi個ge可ke以yi逐zhu步bu確que定ding濾lv波bo器qi矩ju陣zhen參can數shu的de循xun環huan。這zhe種zhong循xun環huan過guo程cheng會hui不bu斷duan重zhong複fu,直zhi至zhi損sun失shi值zhi降jiang至zhi一yi定ding程cheng度du以yi下xia。
優化算法、梯度和梯度下降法
為說明訓練過程,圖3顯示了一個包含x和y兩個參數的損失函數的示例,這裏z軸對應於損失。如果我們仔細查看該損失函數的三維函數圖,我們就會發現這個函數有一個全局最小值和一個局部最小值。
目mu前qian,有you大da量liang數shu值zhi優you化hua算suan法fa可ke用yong於yu確que定ding權quan重zhong和he偏pian置zhi。其qi中zhong,梯ti度du下xia降jiang法fa最zui為wei簡jian單dan。梯ti度du下xia降jiang法fa的de理li念nian是shi使shi用yong梯ti度du算suan子zi在zai逐zhu步bu訓xun練lian的de過guo程cheng中zhong找zhao到dao一yi條tiao通tong向xiang全quan局ju最zui小xiao值zhi的de路lu徑jing,該gai路lu徑jing的de起qi點dian從cong損sun失shi函han數shu中zhong隨sui機ji選xuan擇ze。梯ti度du算suan子zi是shi一yi個ge數shu學xue運yun算suan符fu,它ta會hui在zai損sun失shi函han數shu的de每mei個ge點dian生sheng成cheng一yi個ge梯ti度du矢shi量liang。該gai矢shi量liang的de方fang向xiang指zhi向xiang函han數shu值zhi變bian化hua最zui大da的de方fang向xiang,幅fu度du對dui應ying於yu函han數shu值zhi的de變bian化hua程cheng度du。在zai圖tu3的函數中,右下角(紅色箭頭處)由於表麵平坦,因此梯度矢量的幅度較小。而接近峰值時的情況則完全不同。此處矢量(綠色箭頭)的方向急劇向下,並且由於此處高低差明顯,梯度矢量的幅度也較大。
圖3.使用梯度下降法確定到最小值的不同路徑。
因(yin)此(ci)我(wo)們(men)可(ke)以(yi)利(li)用(yong)梯(ti)度(du)下(xia)降(jiang)法(fa)從(cong)任(ren)意(yi)選(xuan)定(ding)的(de)起(qi)點(dian)開(kai)始(shi)以(yi)迭(die)代(dai)的(de)方(fang)式(shi)尋(xun)找(zhao)下(xia)降(jiang)至(zhi)山(shan)穀(gu)的(de)最(zui)陡(dou)峭(qiao)路(lu)徑(jing)。這(zhe)意(yi)味(wei)著(zhe)優(you)化(hua)算(suan)法(fa)會(hui)在(zai)起(qi)點(dian)計(ji)算(suan)梯(ti)度(du),並(bing)沿(yan)最(zui)陡(dou)峭(qiao)的(de)下(xia)降(jiang)方(fang)向(xiang)前(qian)進(jin)一(yi)小(xiao)步(bu)。之(zhi)後(hou)算(suan)法(fa)會(hui)重(zhong)新(xin)計(ji)算(suan)該(gai)點(dian)的(de)梯(ti)度(du),繼(ji)續(xu)尋(xun)找(zhao)創(chuang)建(jian)一(yi)條(tiao)從(cong)起(qi)點(dian)到(dao)山(shan)穀(gu)的(de)路(lu)徑(jing)。這(zhe)種(zhong)方(fang)法(fa)的(de)問(wen)題(ti)在(zai)於(yu)起(qi)點(dian)並(bing)非(fei)是(shi)提(ti)前(qian)定(ding)義(yi)的(de),而(er)是(shi)隨(sui)機(ji)選(xuan)擇(ze)的(de)。在(zai)我(wo)們(men)的(de)三(san)維(wei)地(di)圖(tu)中(zhong),某(mou)些(xie)細(xi)心(xin)的(de)讀(du)者(zhe)會(hui)將(jiang)起(qi)點(dian)置(zhi)於(yu)函(han)數(shu)圖(tu)左(zuo)側(ce)的(de)某(mou)個(ge)位(wei)置(zhi),以(yi)確(que)保(bao)路(lu)徑(jing)的(de)終(zhong)點(dian)為(wei)全(quan)局(ju)最(zui)小(xiao)值(zhi)(如藍色路徑所示)。其他兩個路徑(黃色和橙色)yaomefeichangchang,yaomezhongdianweiyujubuzuixiaozhi。danshi,suanfabixuduichengqianshangwangecanshujinxingyouhua,xianranqidiandexuanzebukenengmeicidoupengqiaozhengque。zaijutishijianzhong,zhezhongfangfayongchubuda。yinweisuoxuanzedeqidiankenenghuidaozhilujing(即訓練時間)較長,或者目標點並不位於全局最小值,導致網絡的精度下降。
因此,為避免上述問題,過去幾年已開發出大量可作為替代的優化算法。一些替代的方法包括隨機梯度下降法、動量法、AdaGrad方法、RMSProp方法、Adam方法等。鑒於每種算法都有其特定的優缺點,實踐中具體使用的算法將由網絡開發人員決定。
訓練數據
在訓練過程中,我們會向網絡提供標有正確對象類的圖像,如汽車、輪船等。本例使用了已有的 CIFAR-10 dataset。當然,在具體實踐中,人工智能可能會用於識別貓、狗(gou)和(he)汽(qi)車(che)之(zhi)外(wai)的(de)領(ling)域(yu)。這(zhe)可(ke)能(neng)需(xu)要(yao)開(kai)發(fa)新(xin)應(ying)用(yong),例(li)如(ru)檢(jian)測(ce)製(zhi)造(zao)過(guo)程(cheng)中(zhong)螺(luo)釘(ding)的(de)質(zhi)量(liang)必(bi)須(xu)使(shi)用(yong)能(neng)夠(gou)區(qu)分(fen)好(hao)壞(huai)螺(luo)釘(ding)的(de)訓(xun)練(lian)數(shu)據(ju)對(dui)網(wang)絡(luo)進(jin)行(xing)訓(xun)練(lian)。創(chuang)建(jian)此(ci)類(lei)數(shu)據(ju)集(ji)極(ji)其(qi)耗(hao)時(shi)費(fei)力(li),往(wang)往(wang)是(shi)開(kai)發(fa)人(ren)工(gong)智(zhi)能(neng)應(ying)用(yong)過(guo)程(cheng)中(zhong)成(cheng)本(ben)最(zui)高(gao)的(de)一(yi)步(bu)。編(bian)譯(yi)完(wan)成(cheng)的(de)數(shu)據(ju)集(ji)分(fen)為(wei)訓(xun)練(lian)數(shu)據(ju)集(ji)和(he)測(ce)試(shi)數(shu)據(ju)集(ji)。訓(xun)練(lian)數(shu)據(ju)集(ji)用(yong)於(yu)訓(xun)練(lian),而(er)測(ce)試(shi)數(shu)據(ju)則(ze)用(yong)於(yu)在(zai)開(kai)發(fa)過(guo)程(cheng)的(de)最(zui)後(hou)檢(jian)查(zha)訓(xun)練(lian)好(hao)的(de)網(wang)絡(luo)的(de)功(gong)能(neng)。
結論
本係列文章的第一部分《人工智能簡介:什麼是機器學習?——第一部分》jieshaoleshenjingwangluobingduiqishejihegongnengjinxinglexiangxitantao。benwenzedingyilehanshusuoxudesuoyouquanzhonghepianzhi,yincixianzaikeyijiadingwangluonenggouzhengchangyunxing。zaihouxudisanbufendewenzhangzhong,womenjiangtongguoyingjianyunxingshenjingwangluoyiceshiqishibiemaodenengli。zheliwomenjiangshiyongADI公司開發的帶硬件CNN加速器的 MAX78000 人工智能微控製器來進行演示。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 從機械執行到智能互動:移遠Q-Robotbox助力具身智能加速落地
- 品英Pickering將亮相2026航空電子國際論壇,展示航電與電池測試前沿方案
- 模擬芯片設計師的噩夢:晶體管差1毫伏就廢了,溫度升1度特性全飄
- 3A大電流僅需3x1.6mm?意法半導體DCP3603重新定義電源設計
- 芯科科技Tech Talks與藍牙亞洲大會聯動,線上線下賦能物聯網創新
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall





