0
本文作者: 嘉嘉 | 2022-09-27 11:44 | 專題:IEEE X ATEC科技思享會 |
IEEE x ATEC科技思享會是由專業(yè)技術(shù)學(xué)會IEEE與前沿科技探索社區(qū)ATEC聯(lián)合主辦的技術(shù)沙龍。邀請行業(yè)專家學(xué)者分享前沿探索和技術(shù)實踐,助力數(shù)字化發(fā)展。
隨AI技術(shù)的不斷深入發(fā)展,醫(yī)學(xué)人工智能應(yīng)用如雨后春筍般迅速涌現(xiàn),在醫(yī)療領(lǐng)域遍地開花。AI具有智能化、自動化的特點,能夠通過強大算力解鎖復(fù)雜數(shù)據(jù)、處理海量數(shù)據(jù),在醫(yī)學(xué)變革過程中發(fā)揮著無與倫比的重要作用。IEEE x ATEC科技思享會第三期會議特邀四位嘉賓圍繞“AI驅(qū)動下的醫(yī)學(xué)變革—從生命科學(xué)到醫(yī)療管理”獨立TALK。
以下是香港科技大學(xué)(廣州)教授/博導(dǎo)、ATEC科技精英賽高級咨詢委員會專家褚曉文教授的演講《AutoML 在基于胸部 CT 影像的 Covid-19 輔助診斷中的應(yīng)用》。
大家好,感謝IEEE x ATEC科技思享會邀請我參與本場“AI驅(qū)動下的醫(yī)學(xué)變革”的分享。我是來自香港科技大學(xué)(廣州)數(shù)據(jù)科學(xué)與分析學(xué)域的褚曉文教授,在加入港科大(廣州)之前,我一直在香港浸會大學(xué)計算機科學(xué)系工作。
今天我要跟大家分享的內(nèi)容是《AutoML 在基于胸部 CT 影像的 Covid-19 輔助診斷中的應(yīng)用》。首先我要感謝本項目的合作者,主要包括我在香港浸會大學(xué)的博士生賀鑫等人,杭州電子科技大學(xué)張繼勇教授團隊以及美國南加州大學(xué)的Ying Guohao。
今天的報告主要分四個部分:首先是對AutoML的一個簡單介紹,其次是可微搜索在CT影像分類中的應(yīng)用,第三是基于進化算法的神經(jīng)結(jié)構(gòu)搜索的一點嘗試。最后再簡單介紹一下我們?nèi)绾谓Y(jié)合自動數(shù)據(jù)增強和神經(jīng)結(jié)構(gòu)搜索。
今天的報告內(nèi)容主要基于以下四篇學(xué)術(shù)論文:第一篇是我們關(guān)于AutoML的一個綜述論文,適合對AutoML技術(shù)感興趣的初學(xué)者。第二篇是發(fā)表在AAAI2021的一篇論文,主要展示了如何用AutoML技術(shù)有效針對3D CT影像去尋找一個3D的CNN模型。第三篇是發(fā)表在今年MICCAI的論文,主要是介紹了一種基于多目標優(yōu)化和進化算法的AutoML設(shè)計。最后一篇論文是我們近期對自動數(shù)據(jù)增強和神經(jīng)結(jié)構(gòu)搜索的一個結(jié)合。大家如果對其中的技術(shù)細節(jié)感興趣,可以參考一下。
首先,我們對AutoML做一個簡單介紹。
在過去的十幾年里,我們見證了基于深度學(xué)習(xí),即深度神經(jīng)網(wǎng)絡(luò)的蓬勃發(fā)展。深度學(xué)習(xí)在各種AI任務(wù)中都取得了令人振奮的成績,并廣泛應(yīng)用到我們實際生活的方方面面。熟悉神經(jīng)網(wǎng)絡(luò)的朋友們可以看出,在上圖中我們展示了五種不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。從單鏈的線性結(jié)構(gòu)一直發(fā)展到今天有諸多分支和跨層結(jié)構(gòu)的復(fù)雜網(wǎng)絡(luò)。這些網(wǎng)絡(luò)的設(shè)計大部分都是基于Trial and Error,是靠成千上萬的科研工作人員不斷通過人工試錯而發(fā)現(xiàn)的。
而基于數(shù)據(jù)驅(qū)動,機器學(xué)習(xí)方法一般都包括數(shù)據(jù)預(yù)處理、特征工程模型評估、模型選擇等若干階段。在傳統(tǒng)的機器學(xué)習(xí)領(lǐng)域,如何自動化的進行數(shù)據(jù)預(yù)處理、超參調(diào)優(yōu)、模型選擇,都是非常經(jīng)典的問題。
隨著深度神經(jīng)網(wǎng)絡(luò)技術(shù)的繁榮和不斷突破,如何自動化的進行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計,也成為自動機器學(xué)習(xí)中一個非常重要且具有挑戰(zhàn)性的課題。這個問題我們通常稱之為神經(jīng)結(jié)構(gòu)搜索,即Neural Architecture Search。神經(jīng)結(jié)構(gòu)搜索主要有三個構(gòu)件,分別是搜索空間(Search Space)、搜索策略(Search Strategy)和性能評估策略(Performance Estimation Strategy)。
搜索空間一般是基于一定的先驗知識和對具體問題的理解,大概制定一下神經(jīng)網(wǎng)絡(luò)的拓撲結(jié)構(gòu)。搜索策略則是要求在給定的搜索空間中如何去探索未知的網(wǎng)絡(luò)結(jié)構(gòu),希望能夠不斷找到一個更好的網(wǎng)絡(luò)。而性能評估策略就是如何對搜索到的網(wǎng)絡(luò)結(jié)構(gòu)進行快速打分,即如何從一組結(jié)構(gòu)中判斷出來哪一個結(jié)構(gòu)是最好的。
接下來我們逐一對這三個構(gòu)件做進一步介紹。
搜索空間(Search Space),它定義了NAS算法可以搜索的神經(jīng)網(wǎng)絡(luò)的類型和拓撲結(jié)構(gòu)。一般可以把一個網(wǎng)絡(luò)描述成一個有向無環(huán)圖DAG,圖中的每個節(jié)點代表了一個網(wǎng)絡(luò)層,而圖中的邊代表網(wǎng)絡(luò)之間的數(shù)據(jù)流向。除了輸入和輸出層,中間層可以有不同的類型,比如全連接層,各種的卷積、池化、激活函數(shù)層等等。而每種網(wǎng)絡(luò)層的類型又有其獨特的超參數(shù)需要考慮,在此就不一一贅述。
如果我們要對整個網(wǎng)絡(luò)結(jié)構(gòu)進行端對端的搜索,那這個搜索空間會非常龐大。比如一個簡單的鏈條結(jié)構(gòu),如果我們要設(shè)計一個100層的網(wǎng)絡(luò),而每一層有4種不同的算子選擇,那么整個搜索空間的大小就是4的100次方。
為了提高搜索效率,我們可以基于經(jīng)驗對搜索空間進行一定的限定或者簡化。比如最流行的Resnet和Transformer模型等等,都是通過設(shè)計一個復(fù)雜的子模塊,然后將其堆疊而成。因此我們也可以把要搜索的網(wǎng)絡(luò)切分成基本的單元cell。然后每個單元里面又進一步分成若干個操作塊block。通過這些單元的堆疊形成更復(fù)雜的網(wǎng)絡(luò)。這樣我們就把搜索一個網(wǎng)絡(luò)的問題簡化為搜索一個單元的問題。在圖(b)的示例中,normal cell主要是進行一些常規(guī)的卷積操作,而reduction cell主要是用于下采樣的操作。
性能評估策略在NAS中有著舉足輕重的地位。如果能夠提高性能評估的速度,就可以在同樣的時間預(yù)算里面搜索一個更大的網(wǎng)絡(luò)空間,有利于我們找到一個更好的網(wǎng)絡(luò)結(jié)構(gòu)。
然而如何把神經(jīng)網(wǎng)絡(luò)的性能評估做到又快又準,是一個非常困難的問題。最早期大家都是基于Brute-Force的方法,把一個搜索到的模型訓(xùn)練到收斂來判斷其性能。這個方法雖然比較準確,但是非常消耗資源。比如在cell這種小型的數(shù)據(jù)集上進行網(wǎng)絡(luò)搜索,一般都需要幾千個GPU hours。為了降低NAS對算力的需求,我們可以通過對數(shù)據(jù)降維或者對模型進行壓縮來大概估算這樣一個模型的性能。中國有句俗話叫三歲看老,所以也有學(xué)者提出來用Early stopping的策略來預(yù)判一個網(wǎng)絡(luò)模型的性能。
近年來,AutoML領(lǐng)域一個比較大的突破就是采用了這種Weight sharing權(quán)重共享的思路來加速性能評估。它的核心思想是訓(xùn)練一個supernet的結(jié)構(gòu)。這個supernet里的任何一個子圖都是一個潛在的subnet網(wǎng)絡(luò)結(jié)構(gòu)。所以在這種方法里面,supernet的權(quán)重會被它所有的subnet共享。我們只需要訓(xùn)練一個supernet就可以得到所有subnet的權(quán)重,從而對這個subnet做性能的評估。經(jīng)驗表明,通過權(quán)重共享,通??梢园阉阉鞯挠嬎阆膹膸浊€GPU hours降到幾十個甚至幾個GPU hours。因此這個方法也成為了目前AutoML一個主流的方法。
性能評估的手段。最后一個問題就是如何在龐大的搜索空間中有效的進行搜索。由于描述神經(jīng)網(wǎng)絡(luò)的參數(shù)含有大量的離散數(shù)據(jù),因此網(wǎng)絡(luò)搜索是一個離散且高維度的優(yōu)化問題。很難去找最優(yōu)解。通常我們都是使用一些迭代優(yōu)化的思路,去嘗試提高搜索效果。具體而言,我們可以分為網(wǎng)格和隨機搜索、進化算法、貝葉斯優(yōu)化、強化學(xué)習(xí)和基于梯度的算法等等。
這里我們大概介紹一下進化算法的思路。首先我們要制定一個把網(wǎng)絡(luò)結(jié)構(gòu)編碼成二進制串的方案,然后我們會隨機初始化一組網(wǎng)格作為初始解。經(jīng)過了一系列的選擇、交叉、變異和更新等步驟,進行不斷進化迭代,希望最終找到一組更好的網(wǎng)格結(jié)構(gòu),再從中進行重新訓(xùn)練,得到一個最好的選擇。
這里我們再介紹另外一種非常流行的基于梯度優(yōu)化的思路。它也是一個把離散優(yōu)化的問題松弛到連續(xù)空間,這樣就可以利用梯度下降算法進行有效的搜索。我們這里提一下DARTS這個非常有影響力的工作,發(fā)表在ICLR2019年。
圖(a)代表了一個supernet的一個結(jié)構(gòu),每條邊代表著一些潛在的數(shù)據(jù)運算。這里每個問號代表它可能是五種或者十種不同的運算模式。當我有很多很多問號時,這就是一個非常復(fù)雜的組合優(yōu)化問題。
而DARTS的思路就是同時考慮所有可能的運算。比如說我們每條邊有三種可能,分別用三種顏色來代表,我們這個supernet就包含了所有可能的運算,讓它們同時進行。但是每一條邊或者說每一個運算給它們賦一個概率值。比如說初始化的時候都是三分之一的概率,然后就可以對這個網(wǎng)絡(luò)進行訓(xùn)練,包括這些權(quán)重值也是可以進行訓(xùn)練的。最終可以得到一個不同值的一個權(quán)重。最后我們就選擇權(quán)重值最大的那條邊作為最終選擇的操作。
以上就是我們對AutoML的一個簡要介紹。接下來我們來討論如何把AutoML用于基于胸部 CT 影像的Covid-19輔助診斷當中。
在2019到2020年間,快速檢測新冠肺炎的手段還不是太成熟,一種是基于RT-PCR的病毒測試,一般需要四個多小時以上的時間才能夠得到測試結(jié)果。而另一方面,醫(yī)療影像學(xué)家通過對X光胸片和CT胸部影像的分析,也可以做新冠肺炎的診斷。在2020年的一個跟蹤研究中發(fā)現(xiàn),通過對一千多例病人的分析表明,胸部CT影像對新冠肺炎的診斷有非常高的識別率和敏感度,是病毒檢測的一個有效補充手段。
因此很多計算機科學(xué)家開始研究如何利用深度學(xué)習(xí)的方法來協(xié)助新冠肺炎的智能檢測。
上面這張表總結(jié)了2020年的一些相關(guān)的工作,主要是一些相關(guān)的數(shù)據(jù)集。從早期2D的X-ray數(shù)據(jù)集到2D的CT數(shù)據(jù)集,到最后比較大規(guī)模的3D CT數(shù)據(jù)集。在這些數(shù)據(jù)集里面,NCP代表新冠肺炎,CP代表普通的肺炎,Normal代表正常的影像。但是由于大家使用的數(shù)據(jù)集都不太一樣,很難去對一個具體的深度學(xué)習(xí)方法做出一個公平又公正的判斷。
因此我們首先選取了三個比較大型的CT數(shù)據(jù)集作為我們的研究基礎(chǔ),而且我們在這三個公開數(shù)據(jù)集上做了一些benchmark工作。第一個數(shù)據(jù)集是來自伊朗的Covid-CTset,這個數(shù)據(jù)集大概有526個樣本。第二個數(shù)據(jù)集是來自俄羅斯的MosMedData ,有1110個樣本。而第三個數(shù)據(jù)集是來自我們中國的CC-CCII數(shù)據(jù),有4300多個CT樣本,是目前最大的一個公開數(shù)據(jù)集。
由于原始的數(shù)據(jù)集有不同的數(shù)據(jù)格式,也有不少的噪音和錯誤的數(shù)據(jù)。因此我們對數(shù)據(jù)集做了統(tǒng)一的預(yù)處理,并人工對數(shù)據(jù)做了一些清理工作,提高了數(shù)據(jù)質(zhì)量。我們進一步以病人為單位,把數(shù)據(jù)集分割為訓(xùn)練集和測試集。
我們這項工作的研究動機有三點。首先傳統(tǒng)的檢測方法比較耗時,因此我們希望利用深度學(xué)習(xí)技術(shù)來實現(xiàn)快速的新冠診斷。第二,已有的深度學(xué)習(xí)方法大部分都是基于二維的X-ray或者CT影像,無法充分利用3D CT影像信息,所以在性能上還有提升空間。第三,針對新冠檢測的3D卷積模型還比較少,因此我們希望利用自動機器學(xué)習(xí)技術(shù)來自動發(fā)現(xiàn)一些比較好的3D模型。為了驗證自動機器學(xué)習(xí)的性能,我們需要選取一些傳統(tǒng)的方法作為比對基準。
上圖是一個3D的深度神經(jīng)網(wǎng)絡(luò)的工作流程,輸入是一個3D的CT數(shù)據(jù)集,包括N個CT scan。每一個scan都包含若干張二維CT影像。所以我們要先對每個scan進行采樣,保證每個scan的圖像數(shù)量是一樣的,然后進行數(shù)據(jù)預(yù)處理,得到一些批量的3D數(shù)據(jù)影像。再送到設(shè)計好的3D卷積網(wǎng)絡(luò)里面進行訓(xùn)練。我們選了三個流行的3D卷積網(wǎng)絡(luò)作為我們的Baseline,包括ResNet3D101,DenseNet3D121以及MC3_18。
要使用AutoML,首先要清楚自己的目標和任務(wù)特征。比如我們做CT影像的分類任務(wù),就需要我們的網(wǎng)絡(luò)具備3D空間數(shù)據(jù)的特征提取能力。同時考慮到新冠檢測對速度的要求,我們希望這個模型不要太龐大,訓(xùn)練和推理的時間都要比較合理。
我們使用了supernet的設(shè)計來共享權(quán)重。我們的模型包括兩個部分,上圖中藍色部分是不需要搜索的,包括Stem層、全局平均池化層和最后的全連接層。中間有N個cells,即N個單元,這些是需要進行搜索的。每一個單元又包含若干個塊(blocks),每個block是依靠經(jīng)驗設(shè)計出來的一組候選操作集,我們需要從中搜索不同的操作組合。
目前我們這個AutoML的方法涉及到一些額外的超參數(shù),包括整個單元的數(shù)量N以及每個單元里block的數(shù)量Bi。這些參數(shù)都是依靠人工經(jīng)驗進行設(shè)置的,希望以后有機會也能夠把這些參數(shù)自動化。通過控制每個block的candidate的數(shù)量,我們可以控制整個網(wǎng)絡(luò)參數(shù)的參數(shù)集的大小。
supernet設(shè)計里最重要的一個環(huán)節(jié)就是塊算子的設(shè)計對于網(wǎng)絡(luò)輕量化的追求。我們參考了2018年CVPR的文章《Mobilenetv2:Inverted residuals and linear bottlenecks》以mobile bottleneck convolution為核心框架,這個卷積MBConv屬于一種可分離的卷積設(shè)計,其特點就是計算量比較小。它分為三組操作。第一組是一個主點的1*1*1的卷積,外接一個3D BN操作,再加上一個ReLU6。第二組,最重要的就是一個3D的K*K*K的深度卷積。同樣后面要跟一個3D的BN操作和一個ReLU6操作。第三組又是一個主點的卷積,再接一個3D BN操作。最后這個模塊也包含一個跳連接的操作。
最終我們選取了8種不同的塊算子作為候選的運算集。這些candidate的大小從3*3*3到7*7*7,最后的3、4、6代表了從第一個卷積到第二個卷積之間一個擴散因子。整個搜索空間的大小還是非常大的。比如說我們有6個單元,一共有21個blocks,每個block有8個候選設(shè)計,那搜索空間的大小就是8的21次方。如果用傳統(tǒng)暴力訓(xùn)練的方法是不太可能的。因此我們這個工作就采用了基于梯度的可微分搜索的策略。
下面簡單介紹一下可微分搜索的思路。我們搜索的目標是一個包含若干塊的單元,每個塊都要從事先制定好的操作里面選擇一種操作。這里我們用節(jié)點i和節(jié)點i+1代表兩個特征張量,它們對應(yīng)著公式里的輸入X, i和i+1這兩個張量之間有若干條邊,每條邊對應(yīng)了一個可能的操作。每條邊又有一個權(quán)重值Pk,通過SOFTMAX函數(shù)計算而來。因此這三個權(quán)重的和為一。最后張量i+1的操作,它的值是這三個操作的加權(quán)平均。
前面介紹的可微分搜索策略在訓(xùn)練過程中的每次的前向和后向,都需要對所有的算子進行操作。因此它的復(fù)雜度隨著算子候選集的增大而增加。為了降低計算壓力,我們采用了一種采樣的思路,每次前向運算并不需要對所有的候選運算進行操作。而是從其中按照概率分布來選取一種算子進行操作。這里就用到了深度學(xué)習(xí)近年來一個非常流行的重參數(shù)的技巧叫做GUMBEL SOFTMAX,它使用了GUMBEL SOFTMAX函數(shù)來近似一個離散的GUMBEL MAX函數(shù),使得一個離散的采樣技術(shù)和梯度下降算法能夠得以結(jié)合。
介紹完搜索策略,接下來介紹一下整體的訓(xùn)練策略。我們把NAS定義為一個雙層優(yōu)化問題,它有兩套未知的參數(shù):第一個是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),用α來表示。第二個是一個具體網(wǎng)絡(luò)α自身的網(wǎng)絡(luò)參數(shù),用Wα來表示。我們的優(yōu)化目標就是希望最小化在一個給定的驗證集上的損失函數(shù)值,而其約束條件是這個參數(shù)Wα﹡,它是能夠最小化這個網(wǎng)絡(luò)α在給定的訓(xùn)練集上的一個損失函數(shù)。
通常這種雙層的優(yōu)化問題是使用一個交叉迭代的方法去解的。我們先固定一個網(wǎng)絡(luò)結(jié)構(gòu)α,然后用訓(xùn)練集來求解Wα﹡。我們又固定了這個Wα,通過驗證集來對網(wǎng)絡(luò)結(jié)構(gòu)α進行調(diào)優(yōu)。一直迭代下去,直到收斂。
在此,我們對整體的搜索和訓(xùn)練過程再做一個總結(jié)。在搜索階段我們從搜索空間進行采樣,得到一個模型,然后訓(xùn)練一個epoch記錄該模型以及它的性能。重復(fù)N次,最終得到N個不同的模型。進入到評估階段后,我們從N個模型中選出表現(xiàn)最好的K個模型,對這K個模型重新進行一個比較短期的訓(xùn)練,再從中選取表現(xiàn)最好的一個,最后對我們選出來的模型進行一次完整的訓(xùn)練。
我們在三個數(shù)據(jù)集上進行了測試。每個數(shù)據(jù)集我們得到了兩種不同大小的3D卷積網(wǎng)絡(luò),分別稱之為3D-S和3D-L。每一組AutoML的實驗,我們大概需要花8個GPU hours,實際上我們是用了四張Nvidia V100的卡進行搜索,兩個小時就能完成一個搜索任務(wù)。
從上圖的實驗結(jié)果看,AutoML搜索到的模型,在Accuracy這個指標上是全面超過了三個手工設(shè)計的baseline了。另外我們發(fā)現(xiàn)我們輕量化的模型CovidNet3D-S,它的模型大小大概只有10MB左右,性能表現(xiàn)也非常不錯。
接下來我們再簡單介紹另外一種基于進化算法的AutoML技術(shù)。這個工作的創(chuàng)新點是結(jié)合了多目標優(yōu)化來緩解在AutoML中的穩(wěn)定性問題。
近期很多學(xué)者發(fā)現(xiàn)權(quán)重共享雖然能夠降低AutoML對計算資源的需求,但是它本身犧牲了模型性能評估的準確度。由于一個supernet的權(quán)重被其所覆蓋的所有subnets所共享,因此很多subnets之間如果有一些共享的邊,這些subnet之間就會互相影響。比如說你想優(yōu)化這個subnet,那么就調(diào)整了它的參數(shù),這樣就會對跟它有重疊的subnet帶來一些參數(shù)的變化。這些對subnets的影響是未知的。因此,我們會觀察到同一個subnet在訓(xùn)練過程中的性能是不穩(wěn)定的。比如它的loss值,有時上升有時下降,這樣可能會導(dǎo)致一些比較好的模型在早期就被淘汰掉。為了解決這個問題,我們引入了一個新的優(yōu)化目標,叫做potential,希望這個優(yōu)化目標能夠幫助去保持一些比較好的模型。
我們在搜索空間上的設(shè)計并沒有太多變化,主要還是基于MobileNetV2的結(jié)構(gòu)。由于我們這回使用了進化算法,我們需要把網(wǎng)絡(luò)結(jié)構(gòu)進行編碼。這個例子里面每個塊有五個不同的候選操作,因此每個塊的編碼就是一個五維的one-hot編碼,而整個網(wǎng)絡(luò)的二進制編碼就由這些五維的向量拼接而成。例如你有N個layer,那每個layer都是一個很短的code,N個layer就是由N個這樣的code拼接而成。
基于進化算法的神經(jīng)結(jié)構(gòu)搜索,主要包含以下幾個步驟:
首先我們有一個預(yù)熱的訓(xùn)練階段,從中選取一組最好的初始模型來構(gòu)建一個群體population,然后才可以進入進化的迭代。在每一次的進化周期,我們先從整個群體里面按照帕累托最優(yōu)來選取一組模型subset,這個是作為我們的種子。然后再從中隨機選取一些模型隊進行交叉Crossover。希望這樣能夠引入一些新的進化,同時會對隨機選取的一些模型進行變異操作。
整體而言,我們進化算法是要在探索新的模型(exploration)跟充分利用已有模型(exploitation)之間取得一定的平衡。和已有的AutoML算法不同,我們采用了一個多目標的優(yōu)化設(shè)計。已有的AutoML算法一般都是用subnet的性能來作為選擇條件。但是由于在漫長的訓(xùn)練過程中,一個subnet的性能時好時壞,因此具有一定的隨機性和不穩(wěn)定性。我們就把訓(xùn)練過程中的每一個子網(wǎng)的性能都做一個記錄,記在F 向量里面。而E向量,就是他們對應(yīng)的訓(xùn)練的索引。
最后我們對收斂的曲線做了一個擬合,把它的線性擬合的斜率定義為它的potential。斜率比較高的時候,就代表它的收斂潛力比較大。所以我們就在我們的多目標設(shè)計里面,除了考慮一個模型在某一時刻的accuracy,同時也考慮它的歷史發(fā)展軌跡。
我們的實驗結(jié)果表明,經(jīng)過多目標優(yōu)化和進化算法結(jié)合以后,它能夠大幅提升搜索效率,尤其是和我們之前的CovidNet3D比較,在三個數(shù)據(jù)集上都有了較大的提升。
最后我們再介紹一下,近期我們?nèi)绾伟炎詣訑?shù)據(jù)增強Data augmentation和神經(jīng)結(jié)構(gòu)搜索結(jié)合起來。在3D醫(yī)療影像的分類問題上有兩個常見的挑戰(zhàn),包括模型設(shè)計的復(fù)雜性以及一般數(shù)據(jù)集比較小的問題。
我們知道醫(yī)療領(lǐng)域如果要對數(shù)據(jù)做高質(zhì)量的標注,成本是非常高的。解決小數(shù)據(jù)集的問題,首選手段就是數(shù)據(jù)增強Data augmentation。但研究表明最優(yōu)的數(shù)據(jù)增強策略往往依賴于數(shù)據(jù)集本身。所以近年來如何做自動的數(shù)據(jù)增強,也吸引了很多學(xué)者的注意。它的目的主要是對一個給定的數(shù)據(jù)集和學(xué)習(xí)任務(wù)來自動去尋找一個合適的數(shù)據(jù)增強策略。
我們提出了一個MEDPIPE(聯(lián)合流水線)的方案。我們利用自動機器學(xué)習(xí)的思路,把自動數(shù)據(jù)增強策略和自動的網(wǎng)絡(luò)結(jié)構(gòu)搜索統(tǒng)一起來,主要是構(gòu)建了一個統(tǒng)一的流水線。我們把數(shù)據(jù)增強策略DAP和NA做一個統(tǒng)一的網(wǎng)絡(luò)編碼,這樣就可以在同一個搜索空間下面對DAP和NA同時進行優(yōu)化。
上面是MEDPIPE的一個概覽圖。
我們把數(shù)據(jù)增強策略,也用一個DAG圖來描述,這樣它就成為了整個網(wǎng)絡(luò)結(jié)構(gòu)的一部分。后面跟前面介紹的一樣,后面網(wǎng)絡(luò)搜索的DAG圖是沒有變化的。
上圖是我們具體的一個設(shè)計,對數(shù)據(jù)增強策略,考慮到了不同的操作,包括Invert、V-Flip、H-Flip、Blur,還有Erase、Affine等。
上圖是我們對神經(jīng)結(jié)構(gòu)的一個搜索空間的設(shè)計,主要還是沿用了我們之前MBConv的一個設(shè)計。
有了搜索空間以后,我們要解決的搜索問題,被定義為一個雙層優(yōu)化問題,在此不再贅述了。但是由于層數(shù)比較多,引入了數(shù)據(jù)增強以后,它的搜索空間大小變得更加復(fù)雜。因此我們有必要對這個訓(xùn)練做進一步的優(yōu)化。
我們采用的還是采樣的思路,叫單路徑采樣。從一個比較大的DAG圖里面,在前項和后項運算時,我們并不需要嘗試所有的運算。我們通過Gumbel Softmax來進行一個采樣的操作,通過Gumbel Softmax來把它的操作變成是可微分的。
上圖是我們實驗結(jié)果。我們看到在三種不同的數(shù)據(jù)集上,我們搜索到的數(shù)據(jù)增強的策略是非常不一樣的。這說明在不同的數(shù)據(jù)集上,的確需要設(shè)計不同的數(shù)據(jù)增強的方法。
上圖是我們結(jié)合數(shù)據(jù)增強和神經(jīng)結(jié)構(gòu)搜索得到的一些網(wǎng)絡(luò)模型,我們就稱之為MEDPIPE模型。和之前的沒有采用自動數(shù)據(jù)增強的網(wǎng)絡(luò)搜索方法相比,性能都有一個非常大的提升。
最后,我對今天的報告做一個總結(jié),通過我們近兩年的研究表明,AutoML是一種非常有效的手段,可以在任意給定的數(shù)據(jù)集上搜索出比較高效的神經(jīng)網(wǎng)絡(luò)模型。而以可微搜索算法為代表的權(quán)重共享等技術(shù)可以大幅降低AutoML對算力的需求?;谶M化的搜索方法,可以幫我們搜索到一些更好的網(wǎng)絡(luò)結(jié)構(gòu)。最后數(shù)據(jù)增強和網(wǎng)絡(luò)結(jié)構(gòu)搜索相結(jié)合,可以進一步提高AutoML的效能。
然而,目前AutoML技術(shù)還依賴于一定的人工設(shè)計經(jīng)驗,如何突破人工設(shè)計的約束來創(chuàng)造出有效的網(wǎng)絡(luò)結(jié)構(gòu),將是一個非常重要的發(fā)展方向。另外,如何快速而準確的評估一個網(wǎng)絡(luò)結(jié)構(gòu)的性能,還需要更深入的研究。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章