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