劉曉彬 彭俊桂 黃有章
隨著深度學(xué)習(xí)的發(fā)展,人臉識(shí)別、自動(dòng)駕駛、圖像識(shí)別和AI繪圖等深度學(xué)習(xí)技術(shù)也早就融入大眾生活中。這些技術(shù)離不開深度學(xué)習(xí)的快速發(fā)展,如Vgg,ResNet,DenseNet等神經(jīng)網(wǎng)絡(luò)模型的提出,對(duì)深度學(xué)習(xí)的模型的快速發(fā)展產(chǎn)生了深遠(yuǎn)影響,許多深度模型都在借鑒前人的思想上被開發(fā)出來(lái)。但這些模型往往內(nèi)存占比大,且對(duì)設(shè)備計(jì)算能力要求高等,使得一些移動(dòng)端設(shè)備或計(jì)算能力有限的邊緣設(shè)備無(wú)法使用,大大限制了移動(dòng)端設(shè)備的發(fā)展和應(yīng)用。
要解決移動(dòng)端的應(yīng)用在圖像領(lǐng)域識(shí)別準(zhǔn)確度、參數(shù)量大和計(jì)算效率等問(wèn)題,適用于移動(dòng)設(shè)備部署神經(jīng)網(wǎng)絡(luò)架構(gòu)是關(guān)鍵所在。谷歌團(tuán)隊(duì)提出了一種可分離卷積代替標(biāo)準(zhǔn)卷積的方法,構(gòu)建了MoblieNet V1神經(jīng)網(wǎng)絡(luò),這種神經(jīng)網(wǎng)絡(luò)模型大大減少了模型參數(shù),加快計(jì)算效率同時(shí)還可以確保模型準(zhǔn)確率,之后再此基礎(chǔ)上衍生Mobilenet系列模型。
Zhang X等人基于通道混洗技術(shù)提出了ShuffleNetV1,大大減少了1x1卷積的使用,同時(shí)可以使通道之間保持信息互通,之后衍生出ShuffleNet系列模型。
除了人工設(shè)計(jì)的神經(jīng)網(wǎng)絡(luò)架構(gòu)外的輕量級(jí)網(wǎng)絡(luò),還有基于神經(jīng)網(wǎng)絡(luò)架構(gòu)搜索(neural architecture search,NAS)和網(wǎng)絡(luò)架構(gòu)壓縮方式構(gòu)建的輕量級(jí)網(wǎng)絡(luò)。
EfficientNet基于NAS提出來(lái)神經(jīng)網(wǎng)絡(luò)架構(gòu),提出混合縮放法,選擇更優(yōu)寬度、深度和分辨率維度縮放比例等,從而使模型以很少的參數(shù)量達(dá)到更高的精度。Deep Compression通過(guò)剪枝、量化和霍化曼編碼等方式壓縮模型,將模型壓縮至很小的值從而不損失精度。
上述這些輕量級(jí)模型的出現(xiàn)推動(dòng)了移動(dòng)設(shè)備和邊緣設(shè)備的發(fā)展和應(yīng)用。對(duì)MobileNet V2輕量級(jí)網(wǎng)絡(luò)進(jìn)行改進(jìn),可增大原來(lái)主干的卷積和大小,同時(shí)改變倒殘差結(jié)構(gòu),加入3x3卷積核,使得模型擁有不同卷積感受野提取的特征信息。在CIFAR-10數(shù)據(jù)集上進(jìn)行圖像識(shí)別性能實(shí)驗(yàn),改進(jìn)Mobile NetV2的準(zhǔn)確率達(dá)到88.52 %,比原本的MobileNetV2高了2.23 %
MobileNetV2
MobileNetV2的提出使得模型輕量化,同時(shí)還確保了準(zhǔn)確率,為如今的移動(dòng)端設(shè)備和邊緣設(shè)備的發(fā)展提供了新思路,也為之后更好輕量化模型的提出奠定了基礎(chǔ)。MobileNet模型提出了可分離卷積結(jié)構(gòu),主要由深度卷積和逐點(diǎn)卷積組成,這種結(jié)構(gòu)大大減少了計(jì)算量,同時(shí)減少模型內(nèi)存。
MobileNetV2的模型提出到殘差結(jié)構(gòu),這種結(jié)構(gòu)將圖像特征映射到高維進(jìn)行更好特征提取后,在通過(guò)1x1的卷積降到原來(lái)的維度,同時(shí)加入殘差,使得模型不會(huì)過(guò)深而導(dǎo)致梯度消失等現(xiàn)象。
改進(jìn)MobileNetV2模型是通過(guò)擴(kuò)大卷積核視野,同時(shí)在倒殘差結(jié)構(gòu)上多加一個(gè)卷積捷徑。通過(guò)擴(kuò)大卷積核獲得更大的視野,從而獲取更多的特征圖信息,同時(shí)再殘差模塊加入小卷積核,使得模型融合不同卷積核獲取的特征信息,從而彌補(bǔ)一些特征信息提取的丟失。改進(jìn)后的倒殘差結(jié)構(gòu)主干使用7×7的卷積核大小,倒殘差結(jié)構(gòu)增加的一個(gè)3×3大小的卷積核。
采用Anaconda環(huán)境,使用Pyhon3.8,pytorch1.10.1,CUDA10.2搭建網(wǎng)絡(luò)模型,在GPU(p100)顯卡上進(jìn)行模擬訓(xùn)練。
實(shí)驗(yàn)用到CIFAR-10數(shù)據(jù)集一共10個(gè)類別,每個(gè)類別6 000張,共有60 000張彩色圖像,50 000張用于訓(xùn)練,10 000張用于測(cè)試。采用標(biāo)準(zhǔn)的數(shù)據(jù)擴(kuò)充,填充至40x40的大小,進(jìn)行隨機(jī)翻轉(zhuǎn),前100輪學(xué)習(xí)率為0.1,后100輪學(xué)習(xí)率為0.01。
在CIFAR-10上的實(shí)驗(yàn)從模型準(zhǔn)確度,參數(shù)量和計(jì)算量上相比較,準(zhǔn)確度上改進(jìn)的MobileNetV2比MobileNetV2高2.23 %,比ShuffleNetV2高2.38 %,在參數(shù)量上改進(jìn)的Mobile NetV2為3.6 MB,計(jì)算量FLOPs和Madd分別為574.25 MB和1.13 GB,都高于MobileNetV2和ShuffleNetV2。
改進(jìn)MobileNet V2的改進(jìn)思路主要是擴(kuò)大原主干MobileNet V2卷積核大小,以獲取更大的感受野,同時(shí)改變倒殘差結(jié)構(gòu),整合不同卷積核大小提取的特征信息。在CIFAR-10數(shù)據(jù)集上,改進(jìn)MobileNet V2與ShuffleNet V2和MobileNet V2輕量級(jí)神經(jīng)網(wǎng)絡(luò)進(jìn)行性能對(duì)比,改進(jìn)Mobile Net V2網(wǎng)絡(luò)準(zhǔn)確率為88.52 %,高于ShuffleNet V2和Mobile NetV2準(zhǔn)確率2 %左右,但參數(shù)量和計(jì)算量上ShuffleNet V2和MobileNetV2也都占有優(yōu)勢(shì)。
總體來(lái)看,輕量級(jí)網(wǎng)絡(luò)模型的提出大大減少了模型參數(shù),同時(shí)還有較高的準(zhǔn)確度,為移動(dòng)設(shè)備核邊緣設(shè)備提供了技術(shù)基礎(chǔ)。