劉思宇,李嘉樂,趙家棟,李子晗
(東北大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院國家級計(jì)算機(jī)實(shí)驗(yàn)教學(xué)示范中心,遼寧沈陽 110819)
隨著互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)等技術(shù)的飛速發(fā)展,人工智能技術(shù)在賦能工業(yè)體系,加速經(jīng)濟(jì)發(fā)展等方面發(fā)揮著重要作用,相關(guān)領(lǐng)域人才缺口巨大。為此教育部于2019年遴選出35所高校開設(shè)首批人工智能本科專業(yè)[1]。
計(jì)算機(jī)視覺作為當(dāng)今人工智能最火熱的研究方向之一且與工業(yè)界聯(lián)系緊密,是人工智能專業(yè)的必修課。計(jì)算機(jī)視覺課程難度較大,且當(dāng)前的計(jì)算機(jī)視覺課程中,老師常常是對照書本進(jìn)行理論與案例講解,這樣的教學(xué)方式缺乏互動(dòng)性,學(xué)生也無法體會(huì)知識(shí)在實(shí)際場景中的應(yīng)用從而導(dǎo)致學(xué)生上課積極性不高,教學(xué)效果不理想[2]。部分高校針對這一問題提出了安排課外實(shí)操環(huán)節(jié),提高動(dòng)手能力的課程教學(xué)改革措施,但并未給出詳細(xì)的實(shí)驗(yàn)教學(xué)方案與實(shí)驗(yàn)案例[3];實(shí)驗(yàn)教學(xué)平臺(tái)是實(shí)驗(yàn)教學(xué)中極其重要的一部分,而計(jì)算機(jī)視覺課程的實(shí)驗(yàn)教學(xué)平臺(tái)難以搭建[4]。其原因在于深度學(xué)習(xí)環(huán)境對計(jì)算機(jī)硬件要求高,實(shí)驗(yàn)環(huán)境搭建復(fù)雜,需要高性能服務(wù)器的支持,大部分學(xué)校的普通機(jī)房硬件設(shè)施難以滿足GPU并行運(yùn)算要求,針對這一問題靳華中和葉志偉提出搭建基于云端架構(gòu)的實(shí)驗(yàn)教學(xué)平臺(tái)[5],但是搭建這樣一套實(shí)驗(yàn)教學(xué)平臺(tái)需要投入大量的人力與財(cái)力,很多學(xué)??赡軣o法搭建并維護(hù)這樣一個(gè)實(shí)驗(yàn)教學(xué)平臺(tái);目前深度學(xué)習(xí)框架多種多樣,如Pytorch、Tensorflow 等,編程環(huán)境有Matlab、Python 等。這些深度學(xué)習(xí)框架與編程環(huán)境大多由國外公司開發(fā),學(xué)生需要花費(fèi)大量時(shí)間熟悉實(shí)驗(yàn)環(huán)境,且由于相關(guān)的中文資源較少,學(xué)生遇到問題時(shí)也難以解決[6、7]。
通過實(shí)踐課程可以幫助學(xué)生更好地理解理論知識(shí)、發(fā)現(xiàn)問題并解決問題,從而更好地掌握該門課程。針對上述提到的問題,本文基于華為ModelArts 云平臺(tái)[6]、Mindspore 深度學(xué)習(xí)框架和華為Atlas 開發(fā)者組件給出一個(gè)可行的、易學(xué)習(xí)的系統(tǒng)性實(shí)驗(yàn)教學(xué)方案。該實(shí)驗(yàn)方案包含多個(gè)基于華為Mindspore框架實(shí)現(xiàn)的計(jì)算機(jī)視覺實(shí)驗(yàn)案例,且其使用的實(shí)驗(yàn)教學(xué)平臺(tái)為華為推出的ModelArts云平臺(tái),大大降低了學(xué)校搭建實(shí)驗(yàn)平臺(tái)的成本,同時(shí)也減少了教師與學(xué)生熟悉開發(fā)環(huán)境所需的時(shí)間。
華為ModelArts 云平臺(tái)是華為推出的一站式AI 開發(fā)平臺(tái),其包含數(shù)據(jù)準(zhǔn)備、算法開發(fā)、模型訓(xùn)練和模型部署等AI開發(fā)全流程。ModelArts 云平臺(tái)具有易上手、高性能和靈活性高的特點(diǎn),能幫助學(xué)生更好地完成計(jì)算機(jī)視覺案例的開發(fā)。華為ModelArts 云平臺(tái)提供多種預(yù)置的數(shù)據(jù)集和算法,借此初學(xué)者可以快速熟悉AI案例的開發(fā)全流程。此外ModelArts也支持多種深度學(xué)習(xí)框架和Notebook開發(fā)。
計(jì)算機(jī)視覺課程的教學(xué)目標(biāo)是使學(xué)生掌握圖像的處理和計(jì)算機(jī)視覺的理論知識(shí)并具備一定的相關(guān)開發(fā)能力。實(shí)驗(yàn)分為物體識(shí)別、圖像分割、風(fēng)格遷移、行為識(shí)別、圖像分類五個(gè)方向,學(xué)生可以在實(shí)驗(yàn)過程中加深對卷積神經(jīng)網(wǎng)絡(luò)的理解,并在動(dòng)手實(shí)踐中掌握圖像和視頻的處理方法;同時(shí)也鍛煉學(xué)生獨(dú)立開發(fā)完整項(xiàng)目和獨(dú)立解決問題的能力。實(shí)驗(yàn)方案如表1所示。下面對其中的四個(gè)實(shí)驗(yàn)進(jìn)行簡單概述。
表1 計(jì)算機(jī)視覺課程實(shí)驗(yàn)方案
(1)基于AlexNet實(shí)現(xiàn)CIFAR-10圖片分類
此案例是實(shí)驗(yàn)的第一個(gè)案例,旨在讓學(xué)生能夠快速了解計(jì)算機(jī)視覺案例開發(fā)的完整流程。本實(shí)驗(yàn)要求學(xué)生本案例基于ModelArts 云平臺(tái)中預(yù)置的AlexNet 算法和CIFAR-10 數(shù)據(jù)集,并完成識(shí)別分類任務(wù)。學(xué)生可通過圖形化界面的方式創(chuàng)建訓(xùn)練任務(wù)、選擇數(shù)據(jù)集和算法,最終完成訓(xùn)練并部署上線,從而熟悉計(jì)算機(jī)視覺案例開發(fā)的完整流程。
(2)基于PSPNet街景圖像語義分割
圖像語義分割應(yīng)用于包括自動(dòng)駕駛汽車、人機(jī)交互、虛擬現(xiàn)實(shí)等場景中,近年來隨著深度學(xué)習(xí)的普及,在許多語義分割問題上深層卷積神經(jīng)網(wǎng)絡(luò)來在精度上超過了傳統(tǒng)方法。在本實(shí)驗(yàn)中,學(xué)生可以從ModelArts 云平臺(tái)下載街景圖像語義分割數(shù)據(jù)集,創(chuàng)建訓(xùn)練作業(yè),使用Mindspore框架搭建PSPNet并完成訓(xùn)練。通過實(shí)驗(yàn)可以加深學(xué)生對深度神經(jīng)網(wǎng)絡(luò)的理解,并鍛煉學(xué)生的開發(fā)能力。
(3)基于C3D網(wǎng)絡(luò)實(shí)現(xiàn)視頻動(dòng)作識(shí)別
計(jì)算機(jī)視覺所要處理的對象不僅僅是以圖片形式出現(xiàn),還有視頻形式。本實(shí)驗(yàn)就是要鍛煉學(xué)生對視頻數(shù)據(jù)的處理能力。UCF-101 數(shù)據(jù)集包含Youtube 視頻中的101 種不同的動(dòng)作類別。學(xué)生需要借助華為云平臺(tái)中預(yù)置的UCF-101數(shù)據(jù)集,搭建C3D網(wǎng)絡(luò)結(jié)構(gòu),對視頻數(shù)據(jù)集中的視頻的動(dòng)作進(jìn)行識(shí)別并給出動(dòng)作的類別。了解該模型有助于學(xué)生理解視頻中蘊(yùn)含的時(shí)序特征信息,理清視頻信息與圖片處理思路的區(qū)別,培養(yǎng)全面的計(jì)算機(jī)視覺能力。
(4)基于DCGAN的人臉圖像生成
生成對抗網(wǎng)絡(luò)由一個(gè)生成網(wǎng)絡(luò)與一個(gè)判別網(wǎng)絡(luò)組成,并通過讓兩個(gè)神經(jīng)網(wǎng)絡(luò)相互博弈的方式進(jìn)行學(xué)習(xí)。DCGAN是深層卷積網(wǎng)絡(luò)與GAN 的結(jié)合,其基本原理與GAN 相同,只是將生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)用兩個(gè)卷積網(wǎng)絡(luò)替代。本案例借助于ModelArts 云平臺(tái)中預(yù)置的Celeb-A Face數(shù)據(jù)集和DCGAN 算法實(shí)現(xiàn)人臉圖像的生成,學(xué)生可以通過該實(shí)驗(yàn)了解圖像生成任務(wù)的以及對應(yīng)的解決方案。
由于篇幅有限,此處以基于AlexNet實(shí)現(xiàn)CIFAR-10 圖片分類實(shí)驗(yàn)為例介紹實(shí)驗(yàn)的具體設(shè)計(jì)。
(1) 掌握借助深度學(xué)習(xí)框架進(jìn)行計(jì)算機(jī)視覺案例開發(fā);
(2)理解AlexNet 網(wǎng)絡(luò)中各層的作用,和各參數(shù)改變對結(jié)果的影響;
(3)熟悉計(jì)算機(jī)視覺案例開發(fā)的完整流程;
(4)熟悉利用ModelArts平臺(tái)的開發(fā)流程。
AlexNet 網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)包含5個(gè)卷積層、2個(gè)局部歸一化層、3 個(gè)池化層和3 個(gè)全連接層[8]。AlexNet 網(wǎng)絡(luò)中有幾種創(chuàng)新的方法使其準(zhǔn)確率能高于其他神經(jīng)網(wǎng)絡(luò):
(1)使用ReLU 非線性激活函數(shù)。該激活函數(shù)相較常用的tanh()激活函數(shù),在梯度下降時(shí)下降得更快從而大大縮短了訓(xùn)練時(shí)間。
(2)使用局部歸一化層。該方法對局部神經(jīng)元?jiǎng)?chuàng)建競爭機(jī)制,使得競爭能力更強(qiáng)的神經(jīng)元輸出值更大,并抑制反饋較小的神經(jīng)元,從而增強(qiáng)了模型的泛化能力。
(3)使用Dropout 的方法減少網(wǎng)絡(luò)模型的過擬合現(xiàn)象。Dropout方法可以讓神經(jīng)元有一定概率輸出為0,通過該方法不僅可以減少網(wǎng)絡(luò)的過擬合現(xiàn)象,也可以減少訓(xùn)練成本。
(4)AlexNet 網(wǎng)絡(luò)還使用了最大池化層、多GPU加速訓(xùn)練方法和數(shù)據(jù)增強(qiáng)的方法,這個(gè)方法可以幫助AlexNet 網(wǎng)絡(luò)達(dá)到更高的準(zhǔn)確率,此處不做更詳細(xì)的介紹。
(1)課前準(zhǔn)備階段,學(xué)生首先需要預(yù)習(xí)AlexNet 的網(wǎng)絡(luò)結(jié)構(gòu),然后從官網(wǎng)下載數(shù)據(jù)集CIFAR-10 并查看數(shù)據(jù)集內(nèi)容。本實(shí)驗(yàn)使用的是開源數(shù)據(jù)集CIFAR-10,CIFAR-10 數(shù)據(jù)集由10個(gè)類的60000 個(gè)32x32 彩色圖像組成,每個(gè)類有6000 個(gè)圖像。有50000個(gè)訓(xùn)練圖像和10000個(gè)測試圖像。學(xué)生可以使用matplotlib嘗試讀取并顯示圖片內(nèi)容和標(biāo)簽。
(2)課上階段,首先由教師解答學(xué)生在課前學(xué)習(xí)AlexNet 網(wǎng)絡(luò)時(shí)產(chǎn)生的疑惑,并演示Model Arts平臺(tái)的使用方法,包括代碼上傳、數(shù)據(jù)集上傳以及網(wǎng)絡(luò)訓(xùn)練等。講解完畢后,教師可以向?qū)W生下發(fā)需要填補(bǔ)關(guān)鍵步驟的代碼。學(xué)生補(bǔ)全空缺代碼后,可以選擇借助Model Arts平臺(tái)進(jìn)行訓(xùn)練與結(jié)果查看或?qū)⒔Y(jié)果下載至本地查看。學(xué)生需要補(bǔ)全的空缺代碼包含數(shù)據(jù)處理、網(wǎng)絡(luò)結(jié)構(gòu)的搭建和參數(shù)更新等部分。通過這樣的方式,學(xué)生可以加深在理論課程中所學(xué)習(xí)到的知識(shí)。圖1為實(shí)驗(yàn)結(jié)果展示。
圖1 AlexNet網(wǎng)絡(luò)實(shí)現(xiàn)圖片分類實(shí)驗(yàn)
(3)課后作業(yè)階段,學(xué)生需要修改代碼中設(shè)置的超參,并探究其對結(jié)果的影響。學(xué)生可以通過對比修改不同參數(shù)后的結(jié)果,理解不同的參數(shù)的作用,并盡量調(diào)優(yōu)使得結(jié)果準(zhǔn)確率更高。
(4)實(shí)驗(yàn)驗(yàn)收階段,學(xué)生需要提交記錄實(shí)驗(yàn)過程和最優(yōu)結(jié)果的實(shí)驗(yàn)報(bào)告以及完成超參數(shù)調(diào)優(yōu)后的代碼。教師可根據(jù)實(shí)驗(yàn)完成度、結(jié)果準(zhǔn)確率等因素綜合打分。
本課程可以彌補(bǔ)計(jì)算機(jī)視覺教學(xué)實(shí)驗(yàn)領(lǐng)域的空缺,讓學(xué)生可以在由易到難的實(shí)驗(yàn)過程中多角度、漸進(jìn)式、由淺入深地掌握計(jì)算機(jī)視覺領(lǐng)域的基礎(chǔ)工程方法。計(jì)算機(jī)視覺是一門實(shí)踐性很強(qiáng)的科學(xué),只有真正動(dòng)手實(shí)踐、熟悉開發(fā)流程才能將理論知識(shí)融會(huì)貫通,指導(dǎo)工程的開發(fā)。因此,今后的計(jì)算機(jī)視覺的實(shí)驗(yàn)教學(xué)領(lǐng)域仍需要廣大師生創(chuàng)新改進(jìn),不斷迭代完善,為人工智能人才培養(yǎng)提供更好的平臺(tái)和方案。