以小見大——Hypermorph,更好地在配準(zhǔn)任務(wù)中攤銷損失超參數(shù)搜索上的成本
Hypermorph是一篇2021年提出的醫(yī)學(xué)圖像配準(zhǔn)工作,相關(guān)的論文有兩篇。一篇是《HyperMorph: Amortized Hyperparameter Learning for Image Registration》;另一篇是《Learning the Effect of Registration Hyperparameters with HyperMorph》,講的內(nèi)容基本都一樣。不過,盡管這兩篇論文已經(jīng)提出有一段時(shí)間了,但是中文網(wǎng)站上幾乎沒有對其內(nèi)容的講解。正好我去年在川師學(xué)報(bào)上,受其靈感投了一篇關(guān)于如何平衡搜索損失超參數(shù)成本的論文。一來二來,就仔細(xì)講解這篇論文的思路。

我不打算直接機(jī)翻這篇論文那樣,草草了事,而是從這篇論文構(gòu)思開始入手。

引言:配準(zhǔn)任務(wù)中的損失函數(shù)
這個(gè)公式不解釋,相信只要對配準(zhǔn)有初步了解的,都知道。
但是,有沒有好奇這里的平滑項(xiàng)權(quán)重到底是多少才是最好的?
一個(gè)最自然而然的辦法是采用網(wǎng)格搜索的辦法,去一個(gè)一個(gè)試。例如Voxelmorph在相似度量函數(shù)選擇MSE和CC時(shí),得到在腦部MRI圖像配準(zhǔn)上的各自的最優(yōu)超參數(shù)值0.02和1。

從圖中可以發(fā)現(xiàn),配準(zhǔn)性能對超參數(shù)選擇異常敏感,最優(yōu)和最差性能相差5%。
如果我是一個(gè)研究腦部MRI圖像配準(zhǔn)方向的,那么先前的研究已經(jīng)積累了大量的經(jīng)驗(yàn)設(shè)置,我無需再一一調(diào)整,只需one value fits all,拿來主義就行。這也是大多數(shù)學(xué)者的辦法,不對這方面進(jìn)行深思。
但如果我是一個(gè)研究肺部CT圖像配準(zhǔn)方向的,或者其他什么奇奇怪怪的圖像配準(zhǔn)方向的。當(dāng)我使用Voxelmorph作為配準(zhǔn)模型時(shí),我能不能不假思索地得到應(yīng)用于肺部CT圖像的最優(yōu)損失超參數(shù)和腦部MRI圖像一樣?
相信你已經(jīng)有心里的答案了。

這也就引出搜索最優(yōu)超參數(shù)的重要性。但是這一搜索過程是異常耗費(fèi)時(shí)間和算力的。

如圖所示,典型的網(wǎng)格搜索過程包含四個(gè)步驟。
一、用不同的超參數(shù)去訓(xùn)練相同結(jié)構(gòu)的模型;
二、在驗(yàn)證集上測試性能;
三、繪制折線圖,選擇最優(yōu)的超參數(shù)的大致出現(xiàn)的范圍;
四、進(jìn)一步細(xì)化超參數(shù)的范圍,繼續(xù)訓(xùn)練。
顯而易見,這種策略有兩種缺陷:
其一、訓(xùn)練成本隨超參數(shù)的數(shù)量而呈現(xiàn)指數(shù)增長,當(dāng)需要找一個(gè)超參數(shù)時(shí),尚可接受,但如果是多個(gè)呢?
其二、測試的性能受采樣超參數(shù)步長和隨機(jī)因子干擾大,容易將最佳采樣點(diǎn)遺漏。
相信你已經(jīng)在思考能不能找到一種辦法,極大地減少模型重復(fù)訓(xùn)練時(shí)的成本?
這就引出Hypermorph的創(chuàng)新點(diǎn)。

引言:超網(wǎng)絡(luò)和超卷積
超網(wǎng)絡(luò)這個(gè)概念不是一個(gè)新鮮詞,首次在2016年提出,不做過多闡述。簡言之,這是一種給另一個(gè)大網(wǎng)絡(luò)生成權(quán)重的小網(wǎng)絡(luò)的網(wǎng)絡(luò)架構(gòu)。
而超卷積這一概念由論文《Hyper-Convolution Networks for Biomedical Image Segmentation》首次提出,使用兩個(gè)全連接層(小網(wǎng)絡(luò))去生成常規(guī)卷積(大網(wǎng)絡(luò))的權(quán)重和偏置。換句話說,超卷積的參數(shù)不是訓(xùn)練得到的;而是被這兩個(gè)全連接層間接操控,而這兩個(gè)全連接層的參數(shù)才是訓(xùn)練得到的。
需要特別注意的是,全連接層的輸出是一維向量,我們需要重塑變成一個(gè)常規(guī)卷積的權(quán)重和偏置尺寸大小才可以實(shí)現(xiàn)傳統(tǒng)意義上的卷積運(yùn)算操作。

如圖所示,其中Dense是tensorflow的稠密層,等同于深度學(xué)習(xí)中的全連接層概念。表示輸入的圖像;
表示卷積后的圖像特征;
表示來自超卷積的另一個(gè)輸入(不同于圖像);
和
表示卷積的權(quán)重和偏置。
這幾乎已經(jīng)呼之欲出了,操控卷積的參數(shù),不同值的
就生成不同值的卷積參數(shù)。只要我們把
的取值一一列出,那么這里面總有一個(gè)對應(yīng)最好的提取特征能力強(qiáng)的卷積參數(shù),只要一一在驗(yàn)證集測試一下,我們就完成了挑選最優(yōu)提取特征強(qiáng)的卷積參數(shù)的步驟。

但是,這跟損失超參數(shù)有什么聯(lián)系呢?莫非這個(gè)
就是超參數(shù)
?
這就是Hyermorph的精華亮點(diǎn)所在。


如圖所示,Hypermorph包含兩個(gè)步驟,
一、僅訓(xùn)練一個(gè)模型,這個(gè)模型具有三個(gè)輸入(移動圖像、固定圖像和損失超參數(shù));
二、調(diào)控?fù)p失超參數(shù)在驗(yàn)證集上測試。
Hyeprmorph的網(wǎng)絡(luò)結(jié)構(gòu)與Voxelmorph基本一樣,最大不同在于,其中的卷積全部替換為了超卷積。這使得損失超參數(shù)可以控制網(wǎng)絡(luò)中的每個(gè)卷積參數(shù)。
需要注意的是,損失超參數(shù)不僅用于網(wǎng)絡(luò)的輸入,也同樣在損失函數(shù)中使用。
為了使得總損失函數(shù)更符合訓(xùn)練流程,可以對如上公式進(jìn)行簡單改進(jìn),將損失超參數(shù)范圍映射到0-1之間:
對應(yīng)代碼可以這樣描述:


如圖所示,使用Hypermorph(藍(lán)色曲線)預(yù)測的曲線與使用Vxoelmorph(灰色折線)通過網(wǎng)格搜索得到超參數(shù)值非常接近。

如圖所示,使用如下?lián)p失函數(shù):
其中,和
表示固定圖像和移動圖像所對應(yīng)的分割圖。換言之,這是在搜索兩個(gè)損失項(xiàng)的最優(yōu)超參數(shù)。
在這種情況下,Hypermorph仍然發(fā)揮優(yōu)秀,能夠找到最優(yōu)的超參數(shù)值。


如gif所示,超參數(shù)被設(shè)置不同值所對應(yīng)的配準(zhǔn)結(jié)果。形象地展現(xiàn)配準(zhǔn)結(jié)果對超參數(shù)的敏感性。

最后,根據(jù)我個(gè)人實(shí)驗(yàn)結(jié)果和個(gè)人的分析,
總結(jié)Hypermorph的優(yōu)點(diǎn):
一、準(zhǔn)確并快速地搜索最優(yōu)損失超參數(shù)的值;
二、即插即用,不限于Voxelmorph,可以構(gòu)建結(jié)合超網(wǎng)絡(luò)的任意配準(zhǔn)模型架構(gòu);
三、與網(wǎng)格搜索策略相比,極大攤銷了搜索成本,并且隨著搜索損失項(xiàng)的數(shù)目增加,潛力也越大。
Hypermorph的缺點(diǎn):
一、性能強(qiáng)烈依賴于原模型Voxelmorph的性能,即使仔細(xì)地調(diào)整,一般性能與原模型持平或者略高一點(diǎn),難以大幅度提升性能。
二、針對兩個(gè)數(shù)量級相差較大的損失超參數(shù)需要額外設(shè)置縮放因子,以免對其搜索不夠充分。

最后的最后,發(fā)下我的畢業(yè)證書,恭喜我畢業(yè)了!
