訓練卷積神經網絡:什麼是機器學習?——第二部分
發布時間:2023-04-21 來源:ADI 責任編輯:wenwei
【導讀】本文是係列文章的第二部分,重點介紹卷積神經網絡(CNN)的特性和應用。CNN主要用於模式識別和對象分類。在第一部分文章《卷積神經網絡簡介:什麼是機器學習?——第一部分》中,我們比較了在微控製器中運行經典線性規劃程序與運行CNN的區別,並展示了CNN的優勢。我們還探討了CIFAR網絡,該網絡可以對圖像中的貓、房子或自行車等對象進行分類,還可以執行簡單的語音識別。本文重點解釋如何訓練這些神經網絡以解決實際問題。
神經網絡的訓練過程
本係列文章的第一部分討論的CIFAR網絡由不同層的神經元組成。如圖1所示,32 × 32像素的圖像數據被呈現給網絡並通過網絡層傳遞。CNN處理過程的第一步就是提取待區分對象的特性和結構,這需要借助濾波器矩陣實現。設計人員對CIFAR網絡進行建模後,由於最初無法確定這些濾波器矩陣,因此這個階段的網絡無法檢測模式和對象。
為(wei)此(ci),首(shou)先(xian)需(xu)要(yao)確(que)定(ding)濾(lv)波(bo)器(qi)矩(ju)陣(zhen)的(de)所(suo)有(you)參(can)數(shu),以(yi)最(zui)大(da)限(xian)度(du)地(di)提(ti)高(gao)檢(jian)測(ce)對(dui)象(xiang)的(de)精(jing)度(du)或(huo)最(zui)大(da)限(xian)度(du)地(di)減(jian)少(shao)損(sun)失(shi)函(han)數(shu)。這(zhe)個(ge)過(guo)程(cheng)就(jiu)稱(cheng)為(wei)神(shen)經(jing)網(wang)絡(luo)訓(xun)練(lian)。本(ben)係(xi)列(lie)文(wen)章(zhang)的(de)第(di)一(yi)部(bu)分(fen)所(suo)描(miao)述(shu)的(de)常(chang)見(jian)應(ying)用(yong)在(zai)開(kai)發(fa)和(he)測(ce)試(shi)期(qi)間(jian)隻(zhi)需(xu)對(dui)網(wang)絡(luo)進(jin)行(xing)一(yi)次(ci)訓(xun)練(lian)就(jiu)可(ke)以(yi)使(shi)用(yong),無(wu)需(xu)再(zai)調(tiao)整(zheng)參(can)數(shu)。如(ru)果(guo)係(xi)統(tong)對(dui)熟(shu)悉(xi)的(de)對(dui)象(xiang)進(jin)行(xing)分(fen)類(lei),則(ze)無(wu)需(xu)額(e)外(wai)訓(xun)練(lian);當係統需要對全新的對象進行分類時,才需要額外進行訓練。
進行網絡訓練需要使用訓練數據集,並使用類似的一組測試數據集來測試網絡的精度。例如CIFAR-10網絡數據集為十個對象類的圖像集合:飛機、汽車、鳥、貓、鹿、狗、青蛙、馬、輪船和卡車。我們必須在訓練CNNzhiqianduizhexietuxiangjinxingmingming,zheyeshirengongzhinengyingyongkaifaguochengzhongzuiweifuzadebufen。benwentaolundexunlianguochengcaiyongfanxiangchuanbodeyuanli,jixiangwangluolianxuzhanshidaliangtuxiang,bingqiemeicidoutongshichuansongyigemubiaozhi。benlidemubiaozhiweituxiangzhongxiangguandeduixianglei。zaimeicixianshituxiangshi,lvboqijuzhendouhuibeiyouhua,zheyangduixiangleidemubiaozhijiuhuiheshijizhixiangpipei。wanchengciguochengdewangluojiunenggoujiancechuxunlianqijiancongweikandaoguodetuxiangzhongdeduixiang。
圖1.CIFAR CNN架構。
圖2.由前向傳播和反向傳播組成的訓練循環。
過擬合和欠擬合
在神經網絡的建模過程中經常會出現的問題是:shenjingwangluoyinggaiyouduoshaoceng,huozheshishenjingwangluodelvboqijuzhenyinggaiyouduoda。huidazhegewentibingfeiyishi,yincitaolunwangluodeguoniheheqiannihezhiguanzhongyao。guoniheyoumoxingguoyufuzayijicanshuguoduoerdaozhi。womenkeyitongguobijiaoxunlianshujujiheceshishujujidesunshilaiquedingyucemoxingyuxunlianshujujidenihechengdu。ruguoxunlianqijiansunshijiaodibingqiezaixiangwangluochengxiancongweixianshiguodeceshishujushisunshiguoduzengjia,zhejiuqiangliebiaomingwangluoyijingjizhulexunlianshujuerbushizaishishimoshishibie。cileiqingkuangzhuyaofashengzaiwangluodecanshucunchukongjianguodahuozhewangluodejuanjicengguoduodeshihou。zhezhongqingkuangxiayingdangsuoxiaowangluoguimo。
損失函數和訓練算法
xuexifenlianggebuzhoujinxing。diyibu,xiangwangluozhanshituxiang,ranhouyoushenjingyuanwangluochulizhexietuxiangshengchengyigeshuchushiliang。shuchushiliangdezuidazhibiaoshijiancedaodeduixianglei,lirushilizhongde"狗",該值不一定是正確的。這一步稱為前向傳播。
mubiaozhiyushuchushichanshengdeshijizhizhijiandechazhichengweisunshi,xiangguanhanshuzechengweisunshihanshu。wangluodesuoyouyaosuhecanshujunbaohanzaisunshihanshuzhong。shenjingwangluodexuexiguochengzhizaiyizuixiaohuasunshihanshudefangshidingyizhexiecanshu。zhezhongzuixiaohuaketongguofanxiangchuanbodeguochengshixian。zaifanxiangchuanbodeguochengzhong,shuchuchanshengdepianzhi(損失 = 目標值-實際值)通過網絡的各層反饋,直至達到網絡的起始層。
yinci,qianxiangchuanbohefanxiangchuanbozaixunlianguochengzhongchanshengleyigekeyizhubuquedinglvboqijuzhencanshudexunhuan。zhezhongxunhuanguochenghuibuduanzhongfu,zhizhisunshizhijiangzhiyidingchengduyixia。
優化算法、梯度和梯度下降法
為說明訓練過程,圖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(如藍色路徑所示)。其他兩個路徑(黃色和橙色)要yao麼me非fei常chang長chang,要yao麼me終zhong點dian位wei於yu局ju部bu最zui小xiao值zhi。但dan是shi,算suan法fa必bi須xu對dui成cheng千qian上shang萬wan個ge參can數shu進jin行xing優you化hua,顯xian然ran起qi點dian的de選xuan擇ze不bu可ke能neng每mei次ci都dou碰peng巧qiao正zheng確que。在zai具ju體ti實shi踐jian中zhong,這zhe種zhong方fang法fa用yong處chu不bu大da。因yin為wei所suo選xuan擇ze的de起qi點dian可ke能neng會hui導dao致zhi路lu徑jing(即訓練時間)較長,或者目標點並不位於全局最小值,導致網絡的精度下降。
因此,為避免上述問題,過去幾年已開發出大量可作為替代的優化算法。一些替代的方法包括隨機梯度下降法、動量法、AdaGrad方法、RMSProp方法、Adam方法等。鑒於每種算法都有其特定的優缺點,實踐中具體使用的算法將由網絡開發人員決定。
訓練數據
在訓練過程中,我們會向網絡提供標有正確對象類的圖像,如汽車、輪船等。本例使用了已有的 CIFAR-10 dataset。當然,在具體實踐中,人工智能可能會用於識別貓、gouheqichezhiwaidelingyu。zhekenengxuyaokaifaxinyingyong,lirujiancezhizaoguochengzhongluodingdezhiliangbixushiyongnenggouqufenhaohuailuodingdexunlianshujuduiwangluojinxingxunlian。chuangjiancileishujujijiqihaoshifeili,wangwangshikaifarengongzhinengyingyongguochengzhongchengbenzuigaodeyibu。bianyiwanchengdeshujujifenweixunlianshujujiheceshishujuji。xunlianshujujiyongyuxunlian,erceshishujuzeyongyuzaikaifaguochengdezuihoujianzhaxunlianhaodewangluodegongneng。
結論
本係列文章的第一部分《人工智能簡介:什麼是機器學習?——第一部分》介(jie)紹(shao)了(le)神(shen)經(jing)網(wang)絡(luo)並(bing)對(dui)其(qi)設(she)計(ji)和(he)功(gong)能(neng)進(jin)行(xing)了(le)詳(xiang)細(xi)探(tan)討(tao)。本(ben)文(wen)則(ze)定(ding)義(yi)了(le)函(han)數(shu)所(suo)需(xu)的(de)所(suo)有(you)權(quan)重(zhong)和(he)偏(pian)置(zhi),因(yin)此(ci)現(xian)在(zai)可(ke)以(yi)假(jia)定(ding)網(wang)絡(luo)能(neng)夠(gou)正(zheng)常(chang)運(yun)行(xing)。在(zai)後(hou)續(xu)第(di)三(san)部(bu)分(fen)的(de)文(wen)章(zhang)中(zhong),我(wo)們(men)將(jiang)通(tong)過(guo)硬(ying)件(jian)運(yun)行(xing)神(shen)經(jing)網(wang)絡(luo)以(yi)測(ce)試(shi)其(qi)識(shi)別(bie)貓(mao)的(de)能(neng)力(li)。這(zhe)裏(li)我(wo)們(men)將(jiang)使(shi)用(yong)ADI公司開發的帶硬件CNN加速器的 MAX78000 人工智能微控製器來進行演示。
免責聲明:本文為轉載文章,轉載此文目的在於傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯係小編進行處理。
推薦閱讀:
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 貿澤EIT係列新一期,探索AI如何重塑日常科技與用戶體驗
- 算力爆發遇上電源革新,大聯大世平集團攜手晶豐明源線上研討會解鎖應用落地
- 創新不止,創芯不已:第六屆ICDIA創芯展8月南京盛大啟幕!
- AI時代,為什麼存儲基礎設施的可靠性決定數據中心的經濟效益
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall


