7月21日消息,達(dá)摩院自動(dòng)駕駛實(shí)驗(yàn)室提出一種高性能網(wǎng)絡(luò)輕量化方法“動(dòng)態(tài)寬度可變網(wǎng)絡(luò)”,解決了以往算法硬件效率低下的問題,在ImageNet數(shù)據(jù)集上達(dá)成2到4倍的理論加速和1.62倍實(shí)際加速,以最高5.9%的精度優(yōu)勢(shì)超越業(yè)界最優(yōu)方法。該模型將應(yīng)用于達(dá)摩院的“小蠻驢”無人車,也適用于各類有模型輕量化需求的嵌入式設(shè)備。
深度學(xué)習(xí)雖好,但很難部署到嵌入式設(shè)備上。深度學(xué)習(xí)模型對(duì)硬件的算力和內(nèi)存有很高要求,而嵌入式設(shè)備往往算力有限,因此,模型輕量化是業(yè)界重要的應(yīng)用研究?jī)?nèi)容。
以達(dá)摩院研發(fā)的L4級(jí)無人車小蠻驢為例,早期demo階段的無人車使用工控機(jī)執(zhí)行所有的自動(dòng)駕駛計(jì)算任務(wù),2020年正式發(fā)布的小蠻驢則改用達(dá)摩院自研的高性能、低功耗、低成本嵌入式異構(gòu)計(jì)算單元,后者需以1/3算力實(shí)現(xiàn)工控機(jī)級(jí)別的智能水平。為此,達(dá)摩院持續(xù)進(jìn)行軟硬件協(xié)同優(yōu)化設(shè)計(jì),包括探索模型輕量化方法。
神經(jīng)網(wǎng)絡(luò)剪枝(pruning)是模型輕量化方法之一,它能減少網(wǎng)絡(luò)參數(shù)、降低存儲(chǔ)要求、提高計(jì)算速度。但既有算法存在瓶頸問題,算法模型與硬件計(jì)算不兼容,理論分析與實(shí)際加速之間存在很大差距,需要犧牲相當(dāng)?shù)挠?jì)算精度和時(shí)延,這在自動(dòng)駕駛應(yīng)用中是不可接受的。
圖說:動(dòng)態(tài)寬度可變網(wǎng)絡(luò)通過學(xué)習(xí)一個(gè)寬度可變超網(wǎng)絡(luò)和一個(gè)動(dòng)態(tài)門控機(jī)制來實(shí)現(xiàn)不同樣本的動(dòng)態(tài)路由
達(dá)摩院自動(dòng)駕駛團(tuán)隊(duì)提出了“動(dòng)態(tài)寬度可變網(wǎng)絡(luò)”(Dynamic Slimmable Network,DS-Net)算法,在測(cè)試時(shí),根據(jù)不同輸入,預(yù)測(cè)性地調(diào)整網(wǎng)絡(luò)濾波器數(shù)量,既不影響計(jì)算精度,還解決了以往算法中硬件效率低下和計(jì)算浪費(fèi)的問題。
濾波器是圖像處理任務(wù)中的概念,主要作用是提取對(duì)象特征作為圖像識(shí)別的特征模式。主流算法通常會(huì)激活所有濾波器,最大限度壓榨硬件算力。達(dá)摩院模型把剪枝視作動(dòng)態(tài)過程,根據(jù)計(jì)算任務(wù)動(dòng)態(tài)調(diào)整濾波器的激活數(shù)量。比如,無人車在行駛中感知到行人、汽車等簡(jiǎn)單場(chǎng)景,只需easy模式;如果遇到“一輛卡車拖著一棵大樹”的復(fù)雜場(chǎng)景,則啟用hard模式,激活更多濾波器。
在ImageNet上,對(duì)于ResNet和MobileNet,該方法達(dá)成了2到4倍的理論加速和1.62倍的實(shí)際加速,超越現(xiàn)有的剪枝、網(wǎng)絡(luò)搜索和動(dòng)態(tài)網(wǎng)絡(luò)壓縮方法,并以最高5.9%的精度優(yōu)勢(shì)超越了SOTA(state-of-the-art)方法Universally Slimmable Network。
達(dá)摩院自動(dòng)駕駛實(shí)驗(yàn)室工程師王兵介紹,該方法目前正在適配小蠻驢無人車。由于并非針對(duì)特定的硬件設(shè)計(jì),算法通用性高,適用于各類有模型輕量化需求的嵌入式設(shè)備。
據(jù)悉,小蠻驢無人車現(xiàn)已量產(chǎn)投用,未來一年預(yù)計(jì)將有1000輛車進(jìn)入全國(guó)的高校和社區(qū),開展末端配送服務(wù)。
圖說:動(dòng)態(tài)寬度可變網(wǎng)絡(luò)成功加速ResNet-50和MobileNetV1,減少2到4倍的計(jì)算量,實(shí)現(xiàn)1.17倍、1.62倍的實(shí)際加速;以最高5.9%的精度優(yōu)勢(shì)超越了Universally Slimmable Network