《Global2Local》算法論文詳解
文章地址:《Global2Local: Effificient Structure Search for Video Action Segmentation》
代碼地址:https://github.com/ShangHua-Gao/G2L-search
文章來自于南開大學(xué)程明明團(tuán)隊(duì)和騰訊、中科院,文章發(fā)表在CVPR2021。
文章認(rèn)為當(dāng)前的視頻動作分割算法中,網(wǎng)絡(luò)的感受野是很重要的,大的感受野有利于觀察long-term relations,而小的感受野有利于提取局部特征?,F(xiàn)有的網(wǎng)絡(luò)都是人工設(shè)計(jì)的感受野,文章提出一種依靠搜索的方法來找到合適的感受野,從而提高網(wǎng)絡(luò)的性能。文章提出global-to-local search方法,先采用global search找到一種較合適的感受野組合,再采用local search找到一個(gè)精度更高的感受野組合。
為了便于理解,這里需要強(qiáng)調(diào)一下一個(gè)感受野組合就代表一個(gè)網(wǎng)絡(luò)結(jié)構(gòu)
一、網(wǎng)絡(luò)結(jié)構(gòu)
假設(shè)一個(gè)TCN網(wǎng)絡(luò)有L層卷積,每層卷積的dilation-rates/receptive-fields可選擇的集合定義為,所有層感受野的組合為
,其中
為空洞卷積的層號索引,且
。所以這里可以有
個(gè)感受野組合。對于MS-TCN來說就有
個(gè)感受野組合。(詳情請看MS-TCN)直接對這些感受野組合進(jìn)行搜索是不太實(shí)際的所以文章使用global-to-local的方法來提出一種可行的搜索方式。
1.1 Global Search
首先是降低感受野的搜索空間,global search的搜索空間定義如下:
其中k是表示搜索空間稀疏程度的控制因子,T表示搜索空間的最大值。在相同最大值的情況下,可以看出,即global search的搜索空間遠(yuǎn)小于原始的搜索空間。比如在k=2的情況下,MS-TCN最大的感受野為1024,搜索空間從
降低到
。
即使做了這樣的一個(gè)降低搜索空間的操作,但可以看出搜索空間仍然很大,暴力搜索還是很困難的。文章提出一種基于遺傳算法的方法來尋找由于人工設(shè)計(jì)感受野組合的coarse combinations?;谶z傳算法的global search方法如下圖所示:

下面來分別介紹圖中的selection、crossover、mutation操作。
1.1.1 selection
感受野組合的候選(即候選的網(wǎng)絡(luò)結(jié)構(gòu))用公式表示如下:
其中,表示一個(gè)global search的一個(gè)候選結(jié)構(gòu),M表示總的候選結(jié)構(gòu)數(shù)量。
selection操作則是在P這個(gè)候選空間中選擇需要的組合出來,選擇方式則是通過acc的評價(jià)結(jié)果來選擇的:
其中表示結(jié)構(gòu)
的評價(jià)結(jié)果,
表示評價(jià)指標(biāo)(這里使用的是每一幀是否分割正確的一個(gè)acc指標(biāo)),V表示在驗(yàn)證集,
表示訓(xùn)練了n個(gè)epochs的模型。
注意:selection操作在代碼中為filter函數(shù)而不是select函數(shù),選擇出較好的配置結(jié)構(gòu)
1.1.2 crossover
這個(gè)步驟目的是為了產(chǎn)生一些新的感受野組合結(jié)構(gòu)。將已有的候選每兩個(gè)進(jìn)行組合,然后將這兩個(gè)候選網(wǎng)絡(luò)中隨機(jī)取一段,進(jìn)行感受野互換,從而獲取到新的感受野組合。
上述說過的每兩個(gè)是怎么選擇出來的,是按照下式選擇的:
即根據(jù)計(jì)算出來的隨機(jī)的選擇兩兩配對的感受野組合。(詳情請查看代碼中的select函數(shù))
crossover操作請查看代碼中的cross函數(shù)。
1.1.3 mutation
這個(gè)步驟是為了避免算法走到局部最優(yōu)解,所以引入mutation。
mutation會通過一個(gè)預(yù)設(shè)的概率來定義有多大的幾率需要進(jìn)行mutation操作,并且隨機(jī)的將要變異的一個(gè)感受野組合中的一定量的感受野(這個(gè)一定量文章設(shè)置的是0.2)進(jìn)行改變,改變的值也是隨機(jī)的。
1.1.4 global search的偽代碼
Global search
輸入:search算法總共迭代N次,每個(gè)結(jié)構(gòu)訓(xùn)練n個(gè)epoch,隨機(jī)初始化P,變異概率為pm,P的總個(gè)數(shù)為M;
for iter in [i, N] do
1.利用公式(3)選擇出一些感受野組合出來,并且每兩個(gè)間進(jìn)行cross操作
2.根據(jù)概率p_m來變異出新的感受野組合
3.每個(gè)組合訓(xùn)練n個(gè)epochs
4.利用公式(2)選擇出M個(gè)感受野組合出來,如果不夠那么隨機(jī)生產(chǎn)一些補(bǔ)上,作為新的感受野組合的集合
end for
return P
1.2 Local Search
該部分全稱為基于期望指導(dǎo)的local search(Expectation Guided Iterative Local Search)。
我們希望在當(dāng)前數(shù)據(jù)集上獲得dilation rates的概率質(zhì)量分布(probability mass distribution),那么就可以獲得這個(gè)數(shù)據(jù)集上一個(gè)dilation rate的期望來更好的適應(yīng)當(dāng)前數(shù)據(jù)集。但是數(shù)據(jù)集上dilation rates的概率質(zhì)量分布是不可以獲得的。因此,文章采用共享卷積參數(shù)改變dilation rate來學(xué)習(xí)得到近似的概率質(zhì)量函數(shù)。
為了得到方便搜索,我們定義待學(xué)習(xí)的dilation rate是從區(qū)間采樣出S個(gè)值進(jìn)行學(xué)習(xí)。采樣出來的dilation rate集合定義為
其中
,
為控制搜索精度的值。公式其實(shí)就是想表達(dá)在區(qū)間
進(jìn)行均勻采樣,比如文章
,S=3(即在區(qū)間中采樣3個(gè)點(diǎn))那么
可以理解為一個(gè)卷積現(xiàn)在分成了S個(gè)卷積,這S個(gè)卷積的權(quán)重共享,只是dilation rate不一樣。S個(gè)dilation rate都要學(xué)習(xí)它們對應(yīng)的權(quán)重,權(quán)重定義為,通過這些權(quán)重來反應(yīng)這些dilation rate的重要性。由于W的值是沒有界的,所以將它們歸一化,歸一化后其實(shí)就是上面提到的近似的概率質(zhì)量函數(shù)
:
得到這個(gè)概率質(zhì)量函數(shù)后,我們可以計(jì)算期望來表示一個(gè)新的dilation rate
上述計(jì)算如下圖所示:

訓(xùn)練網(wǎng)絡(luò)時(shí)對于輸入x來說,輸出y可以表示為:
其中表示一個(gè)權(quán)重為
,dilation rate為
的卷積操作。
1.2.1 local search的偽代碼
Expectation Guided Iterative Local Search
輸入:迭代N,初始化感受野D;使用D初始化模型;
for iter in [1,N] do
對每一層在D的基礎(chǔ)上構(gòu)建Tl
訓(xùn)練模型并根據(jù)公式(4)獲得PMF
根據(jù)公式(5)計(jì)算出新的dilation rate
更新D
end for
return local-searched D
算法核心就這些,具體實(shí)驗(yàn)流程和實(shí)驗(yàn)結(jié)果請查看原文。