《Global2Local》算法論文詳解

《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可選擇的集合定義為D=\{d_1,d_2,...,d_N\},所有層感受野的組合為C={c_1, ...,c_l,...,c_L},其中l\in [1,L]為空洞卷積的層號索引,且c_l\in D。所以這里可以有|D|^L個(gè)感受野組合。對于MS-TCN來說就有1024^{40}個(gè)感受野組合。(詳情請看MS-TCN)直接對這些感受野組合進(jìn)行搜索是不太實(shí)際的所以文章使用global-to-local的方法來提出一種可行的搜索方式。

1.1 Global Search

首先是降低感受野的搜索空間,global search的搜索空間定義如下:

D_g = \{d_i = k^i,i\in[0,1,...,T]\}

其中k是表示搜索空間稀疏程度的控制因子,T表示搜索空間的最大值。在相同最大值的情況下,可以看出|D_g|\ll|D|,即global search的搜索空間遠(yuǎn)小于原始的搜索空間。比如在k=2的情況下,MS-TCN最大的感受野為1024,搜索空間從1024^{40}降低到11^{40}

即使做了這樣的一個(gè)降低搜索空間的操作,但可以看出搜索空間仍然很大,暴力搜索還是很困難的。文章提出一種基于遺傳算法的方法來尋找由于人工設(shè)計(jì)感受野組合的coarse combinations?;谶z傳算法的global search方法如下圖所示:

1.png

下面來分別介紹圖中的selection、crossover、mutation操作。

1.1.1 selection

感受野組合的候選(即候選的網(wǎng)絡(luò)結(jié)構(gòu))用公式表示如下:

P=\{C_i, i\in [1, M]\}\quad (1)

其中,C_i表示一個(gè)global search的一個(gè)候選結(jié)構(gòu),M表示總的候選結(jié)構(gòu)數(shù)量。

selection操作則是在P這個(gè)候選空間中選擇需要的組合出來,選擇方式則是通過acc的評價(jià)結(jié)果來選擇的:

E(C_i)=f(V|C_i, \theta_n)\quad (2)

其中E(C_i)表示結(jié)構(gòu)C_i的評價(jià)結(jié)果,f(\cdot)表示評價(jià)指標(biāo)(這里使用的是每一幀是否分割正確的一個(gè)acc指標(biāo)),V表示在驗(yàn)證集,\theta_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è)是怎么選擇出來的,是按照下式選擇的:

p(C_i)=\frac{E(C_i)}{\sum^M_iE(C_i)}\quad (3)

即根據(jù)計(jì)算出來的p(C_i)隨機(jī)的選擇兩兩配對的感受野組合。(詳情請查看代碼中的select函數(shù))

crossover操作請查看代碼中的cross函數(shù)。

1.1.3 mutation

這個(gè)步驟是為了避免算法走到局部最優(yōu)解,所以引入mutation。

mutation會通過一個(gè)預(yù)設(shè)的概率p_m來定義有多大的幾率需要進(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ū)間[D_l-\Delta D_l, D_l+\Delta D_l]采樣出S個(gè)值進(jìn)行學(xué)習(xí)。采樣出來的dilation rate集合定義為T_l=\{d_i|i\in[1,S]\}其中d_i=D_l-\Delta D_l+(i-1)\cdot2\Delta D_l/(S-1)\Delta D_l為控制搜索精度的值。公式其實(shí)就是想表達(dá)在區(qū)間[D_l-\Delta D_l, D_l+\Delta D_l]進(jìn)行均勻采樣,比如文章\Delta D_l=0.1,S=3(即在區(qū)間中采樣3個(gè)點(diǎn))那么T_l=\{D_l-\Delta D_l, D_l, D_l+\Delta D_l\}

可以理解為一個(gè)卷積現(xiàn)在分成了S個(gè)卷積,這S個(gè)卷積的權(quán)重共享,只是dilation rate不一樣。S個(gè)dilation rate都要學(xué)習(xí)它們對應(yīng)的權(quán)重,權(quán)重定義為W=\{w_1, w_2,...,w_i,i\in [1,S]\},通過這些權(quán)重來反應(yīng)這些dilation rate的重要性。由于W的值是沒有界的,所以將它們歸一化,歸一化后其實(shí)就是上面提到的近似的概率質(zhì)量函數(shù)PMF(d_i):

PMF(d_i)=\alpha_i=\frac{|w_i|}{\sum^S_i |w_i|} (4)

得到這個(gè)概率質(zhì)量函數(shù)后,我們可以計(jì)算期望來表示一個(gè)新的dilation rate D'_l

D'_l=\lfloor \sum_{d_i\in T_l} PMF(d_i)\cdot d_i\rfloor (5)

上述計(jì)算如下圖所示:

2.png

訓(xùn)練網(wǎng)絡(luò)時(shí)對于輸入x來說,輸出y可以表示為:

y=\sum^S_i\alpha_i\psi(x,d_i,\theta) (6)

其中\psi(x,d_i,\theta)表示一個(gè)權(quán)重為\theta,dilation rate為d_i的卷積操作。

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é)果請查看原文。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容