圖1自動(dòng)數(shù)據(jù)增強(qiáng)算法建模思路歸類(lèi)

1)強(qiáng)化學(xué)習(xí): AutoAugment(Autoaugment: Learning augmentation policies from data)借鑒了基于強(qiáng)化學(xué)習(xí)的架構(gòu)搜索算法,在離散化的搜索空間內(nèi)通過(guò)PPO (Proximal Policy Optimization)算法來(lái)訓(xùn)練一個(gè)policy generator, policy generator的獎(jiǎng)勵(lì)信號(hào)是其生成的policy應(yīng)用于子網(wǎng)絡(luò)訓(xùn)練完畢后的驗(yàn)證集準(zhǔn)確率。其問(wèn)題在于AutoAugment的搜索成本非常高,還無(wú)法滿(mǎn)足工業(yè)界的業(yè)務(wù)需求,難以應(yīng)用在業(yè)務(wù)模型開(kāi)發(fā)中。

2)密度匹配:Fast AutoAugment(Fast autoaugment)采用了密度匹配的策略,希望驗(yàn)證數(shù)據(jù)通過(guò)數(shù)據(jù)增強(qiáng)后的數(shù)據(jù)點(diǎn)能與原始訓(xùn)練數(shù)據(jù)集的分布盡量匹配。這個(gè)思路直覺(jué)上可以排除一些導(dǎo)致數(shù)據(jù)集畸變的增強(qiáng)策略,但沒(méi)有解決“如何尋找最優(yōu)策略”這一問(wèn)題。

3)遺傳進(jìn)化: PBA(Population based augmentation: Efficient learning of augmentation policy schedules)采用了PBT的遺傳進(jìn)化策略,在多個(gè)網(wǎng)絡(luò)的并發(fā)訓(xùn)練中不斷“利用”和“擾動(dòng)”網(wǎng)絡(luò)的權(quán)重,以期獲得最優(yōu)的數(shù)據(jù)增強(qiáng)調(diào)度策略。這個(gè)思路直覺(jué)上是可以通過(guò)優(yōu)勝劣汰來(lái)搜索到最優(yōu)策略。

4)網(wǎng)格搜索: RandAugment(Randaugment: Practical automated data augmentation with a reduced search space)通過(guò)統(tǒng)一的強(qiáng)度和概率參數(shù)來(lái)大幅減小搜索空間,期望能用網(wǎng)格搜索就解決數(shù)據(jù)增強(qiáng)搜索的問(wèn)題。但這一技術(shù)并不具備策略的可解釋性,拋開(kāi)實(shí)現(xiàn)手段不談,這篇論文更像是對(duì)AutoAugment的自我否定(注: RandAugment也是Google出品的論文)。

5)對(duì)抗學(xué)習(xí): Adversarial AutoAugment(Adversarial autoaugment)在AutoAugment的基礎(chǔ)上借鑒了GAN的對(duì)抗思想,讓policy generator不斷產(chǎn)生難樣本,并且使policy generator和分類(lèi)器能并行訓(xùn)練,降低了搜索時(shí)長(zhǎng)。但整體搜索成本還是非常高。

6)可微分: DADA(DADA: Differentiable Automatic Data Augmentation)借鑒了DARTS的算法設(shè)計(jì)思路,將離散的參數(shù)空間通過(guò)Gumbel-Softmax重參數(shù)化成了可微分的參數(shù)優(yōu)化問(wèn)題,大大降低了搜索成本。

在上述的建模思路中,遺傳進(jìn)化和可微分的建模思路更適合應(yīng)用到模型開(kāi)發(fā)中,因?yàn)檫@兩種思路將自動(dòng)數(shù)據(jù)增強(qiáng)搜索的成本降低到了線上業(yè)務(wù)承受的資源范圍內(nèi),并且具備較好的策略可解釋性?;趯?duì)建模思路的評(píng)估和判斷,百度工程師決定將遺傳進(jìn)化和可微分思路應(yīng)用到零門(mén)檻AI開(kāi)發(fā)平臺(tái)EasyDL中,便于開(kāi)發(fā)者進(jìn)一步優(yōu)化模型效果。

EasyDL面向企業(yè)開(kāi)發(fā)者提供智能標(biāo)注、模型訓(xùn)練、服務(wù)部署等全流程功能,針對(duì)AI模型開(kāi)發(fā)過(guò)程中繁雜的工作,提供便捷高效的平臺(tái)化解決方案,并且內(nèi)置了豐富的預(yù)訓(xùn)練模型與優(yōu)化的多種算法網(wǎng)絡(luò),用戶(hù)可在少量業(yè)務(wù)數(shù)據(jù)上獲得高精度的模型效果。EasyDL面向不同人群提供了經(jīng)典版、專(zhuān)業(yè)版、行業(yè)版三種產(chǎn)品形態(tài)。

目前,遺傳進(jìn)化PBA技術(shù)已經(jīng)在EasyDL平臺(tái)中的成功實(shí)現(xiàn),可微分的技術(shù)思路在EasyDL業(yè)務(wù)中的實(shí)踐也在持續(xù)探索中。

PBA采用了PBT(Population based training of neural networks)的遺傳進(jìn)化策略,通過(guò)訓(xùn)練一群神經(jīng)網(wǎng)絡(luò)(種群, Trials)來(lái)找出超參數(shù)調(diào)度。Trials之間會(huì)周期性地將高性能Trial的權(quán)重復(fù)制給低性能的Trial(exploit),并且會(huì)有一定的超參擾亂策略(explore),如圖2的PBT流程圖。

image.png

圖2 PBT算法流程圖

然而實(shí)際將能力落地到平臺(tái)中并不容易,工程師們?cè)趶?fù)現(xiàn)論文開(kāi)源代碼的過(guò)程中發(fā)現(xiàn)了一些問(wèn)題:

1)開(kāi)源代碼采用了Ray的Population Based Training實(shí)現(xiàn),但這個(gè)接口并不能保證并行的Trials一定能實(shí)現(xiàn)同步的exploit,尤其在資源受限的情況下,很大概率會(huì)出現(xiàn)進(jìn)化程度較高的Trial和進(jìn)化程度較低的Trial之間的exploit,這樣的錯(cuò)誤進(jìn)化是不可接受的。

2)開(kāi)源代碼僅實(shí)現(xiàn)了單機(jī)多卡版本的搜索能力,想擴(kuò)展到多機(jī)多卡能力,需要基于Ray做二次開(kāi)發(fā)。

3)開(kāi)源代碼僅實(shí)現(xiàn)了圖像分類(lèi)的自動(dòng)數(shù)據(jù)增強(qiáng)搜索,并未提供物體檢測(cè)等其他任務(wù)的數(shù)據(jù)增強(qiáng)搜索能力。

4)開(kāi)源代碼現(xiàn)有增強(qiáng)算子實(shí)現(xiàn)方式比較低效。

綜合以上考慮,最終百度工程師從零開(kāi)始構(gòu)建了基于PBA的自動(dòng)數(shù)據(jù)增強(qiáng)搜索服務(wù)。

這一自研自動(dòng)數(shù)據(jù)增強(qiáng)搜索服務(wù)有以下幾個(gè)特點(diǎn):

實(shí)現(xiàn)了標(biāo)準(zhǔn)的PBT算法,支持種群Trials的同步exploit、explore,保證公平進(jìn)化。

支持分布式拓展,可不受限的靈活調(diào)節(jié)并發(fā)種群數(shù),支持。

搜索服務(wù)與任務(wù)解耦,已支持飛槳深度學(xué)習(xí)平臺(tái)的圖像分類(lèi)、物體檢測(cè)任務(wù),并且可擴(kuò)展到其他的視覺(jué)任務(wù)與文本任務(wù)。

數(shù)據(jù)增強(qiáng)算子基于C++高效實(shí)現(xiàn)。

自研的能力效果如何呢?在公開(kāi)數(shù)據(jù)集上,我們基于自研的自動(dòng)數(shù)據(jù)增強(qiáng)搜索服務(wù)與現(xiàn)有的Benchmark進(jìn)行了對(duì)齊,其中表一的ImageNet Benchmark(https://paddleclas.readthedocs.io/zh_CN/latest/advanced_tutorials/image_augmentation/ImageAugment.html#id6)在PaddleClas框架上訓(xùn)練,表二的Coco Benchmark(https://github.com/PaddlePaddle/PaddleDetection/tree/master/configs/autoaugment)在PaddleDetection框架上訓(xùn)練。

結(jié)果顯示,EasyDL自動(dòng)數(shù)據(jù)增強(qiáng)服務(wù)能達(dá)到與AutoAugment同樣高的精度,并有大幅的速度優(yōu)勢(shì)。目前,我們用于數(shù)據(jù)增強(qiáng)搜索的分類(lèi)、檢測(cè)算子已經(jīng)與AutoAugment對(duì)齊,后續(xù)將會(huì)持續(xù)不斷擴(kuò)充更多更高效的算子,進(jìn)一步提升模型效果。

image.png

表一 ImageNet Benchmark

image.png

表二 Coco Benchmark

EasyDL目前已在經(jīng)典版上線了手動(dòng)數(shù)據(jù)增強(qiáng)服務(wù),在專(zhuān)業(yè)版上線了自動(dòng)數(shù)據(jù)增強(qiáng)搜索服務(wù)。在圖像分類(lèi)單標(biāo)簽的任務(wù)上,我們隨機(jī)挑選了11個(gè)線上任務(wù)進(jìn)行效果評(píng)測(cè)。如下圖,使用專(zhuān)業(yè)版自動(dòng)數(shù)據(jù)增強(qiáng)服務(wù)后,11個(gè)任務(wù)準(zhǔn)確率平均提長(zhǎng)了5.42%,最高一項(xiàng)任務(wù)獲得了18.13%的效果提升。

image.png

圖3圖像分類(lèi)單分類(lèi)效果評(píng)測(cè)

在物體檢測(cè)任務(wù)上,我們隨機(jī)挑選了12個(gè)線上任務(wù)進(jìn)行效果評(píng)測(cè),效果對(duì)比如下圖,使用專(zhuān)業(yè)版自動(dòng)數(shù)據(jù)增強(qiáng)服務(wù)后11個(gè)任務(wù)準(zhǔn)確率平均提升了1.4%,最高一項(xiàng)任務(wù)獲得了4.2%的效果提升。

image.png

圖4物體檢測(cè)效果評(píng)測(cè)

EasyDL平臺(tái)通過(guò)交互式的界面,為用戶(hù)提供簡(jiǎn)單易上手的操作體驗(yàn)。同樣,使用EasyDL的數(shù)據(jù)增強(qiáng)服務(wù)操作非常簡(jiǎn)便。

在經(jīng)典版的訓(xùn)練模型頁(yè)面“數(shù)據(jù)增強(qiáng)策略”里選擇“手動(dòng)配置”,即可輕松實(shí)現(xiàn)數(shù)據(jù)增強(qiáng)算子的使用,如圖5。

在專(zhuān)業(yè)版的新建任務(wù)頁(yè)面的“數(shù)據(jù)增強(qiáng)策略”里選擇“自動(dòng)搜索”,再設(shè)置需要搜索的算子范圍,即可立刻實(shí)現(xiàn)自動(dòng)數(shù)據(jù)增強(qiáng),如圖6。

image.png

圖5經(jīng)典版手動(dòng)數(shù)據(jù)增強(qiáng)使用流程

image.png

圖6專(zhuān)業(yè)版自動(dòng)數(shù)據(jù)增強(qiáng)使用流程

為了讓開(kāi)發(fā)者使用EasyDL更便捷高效地開(kāi)發(fā)效果出色的模型,EasyDL在框架設(shè)計(jì)中內(nèi)置了多個(gè)組件與多種能力。如EasyDL智能搜索服務(wù)的整體架構(gòu)圖(圖7)所示,其底層基礎(chǔ)組件是分布式智能搜索,具備多機(jī)多卡搜索、訓(xùn)練容錯(cuò)、支持多種搜索優(yōu)化算法等特性?;诜植际街悄芩阉魈峁┑暮诵哪芰Γ覀儤?gòu)建了自動(dòng)數(shù)據(jù)增強(qiáng)搜索、超參搜索、NAS搜索等服務(wù),盡可能讓用戶(hù)可以在無(wú)需關(guān)心技術(shù)細(xì)節(jié)的情況下,簡(jiǎn)便使用EasyDL提供的多項(xiàng)搜索服務(wù),獲得模型效果的優(yōu)化。

image.png

圖7 EasyDL智能搜索服務(wù)整體架構(gòu)圖

在各行各業(yè)加速擁抱AI的今天,有越來(lái)越多的企業(yè)踏上智能化轉(zhuǎn)型之路,借助AI能力完成降本增效。但在AI賦能產(chǎn)業(yè)的過(guò)程中,大規(guī)模的商業(yè)化落地十分復(fù)雜,需要企業(yè)投入大量的精力。由于不同行業(yè)、場(chǎng)景存在著差異化與碎片化,對(duì)AI的需求也不盡相同。因此,一個(gè)能夠隨場(chǎng)景變化定制開(kāi)發(fā)AI模型的平臺(tái)至關(guān)重要。通過(guò)零算法門(mén)檻的平臺(tái)能力覆蓋千變?nèi)f化的場(chǎng)景需求,并提供靈活適應(yīng)具體業(yè)務(wù)的多種部署方式,這就是EasyDL。

EasyDL零門(mén)檻AI開(kāi)發(fā)平臺(tái),目前已在工業(yè)制造、智能安防、零售快消、交通運(yùn)輸、互聯(lián)網(wǎng)、教育培訓(xùn)等行業(yè)廣泛落地。

百度搜索“EasyDL”訪問(wèn)官網(wǎng),開(kāi)發(fā)高精度AI模型。

分享到

zhangnn

相關(guān)推薦