国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢(xún) 在線咨詢(xún)
15158846557 在線咨詢(xún)
所在位置: 首頁(yè) > 營(yíng)銷(xiāo)資訊 > 網(wǎng)站運(yùn)營(yíng) > 研習(xí)U-Net

研習(xí)U-Net

時(shí)間:2022-08-12 15:33:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2022-08-12 15:33:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)




參考材料

[1] Awesome Semantic Segmentation.
[2] Semantic Segmentation
[3] Mike Liao. "Deep Layer Aggregation?—?Combining Layers in NN Architectures."(2018)


0. 說(shuō)在前面

大家好,我叫周縱葦,現(xiàn)在是一個(gè)在讀二年級(jí)的博士,目前在亞利桑那州立大學(xué)念生物信息學(xué)。主要的側(cè)重點(diǎn)是計(jì)算機(jī)視覺(jué),應(yīng)用的領(lǐng)域大多在醫(yī)學(xué)影像,當(dāng)然我也是每年有在關(guān)注CVPR這樣的頂會(huì)。另外,我們也會(huì)關(guān)注醫(yī)學(xué)圖像方面的頂會(huì)MICCAI,今天分享題目中的U-Net最早就是出自2015年的MICCAI。今年的MICCAI正在西班牙召開(kāi),我由于簽證的關(guān)系沒(méi)有參加,不過(guò)英文版的20分鐘發(fā)言會(huì)更新YouTube和我的微博上,當(dāng)然,我更習(xí)慣用中文的,所以非常感謝雷鋒網(wǎng)的邀請(qǐng),我可以就借次機(jī)會(huì)用中文講一講我們剛剛發(fā)表的工作。







因?yàn)檫@個(gè)是一個(gè)可以回看的直播,所以中途我會(huì)在很多地方給出一些的問(wèn)題,建議大家在回看的時(shí)候可以時(shí)不時(shí)的暫停一下,想一想如果問(wèn)題給你,你會(huì)怎么去回答。對(duì)于在線的同學(xué)們,十分感謝你能抽時(shí)間來(lái)聽(tīng)我絮絮念,希望我們可以順著思路和邏輯一步一步遞進(jìn),也歡迎在留言中和我交流。


1. 鋪墊

在計(jì)算機(jī)視覺(jué)領(lǐng)域,全卷積網(wǎng)絡(luò)(FCN)是比較有名的圖像分割網(wǎng)絡(luò),醫(yī)學(xué)圖像處理方向,U-Net可以說(shuō)是一個(gè)更加炙手可熱的網(wǎng)絡(luò),基本上所有的分割問(wèn)題,我們都會(huì)拿U-Net先看一下基本的結(jié)果,然后進(jìn)行“魔改”。







U-Net和FCN非常的相似,U-Net比FCN稍晚提出來(lái),但都發(fā)表在2015年,和FCN相比,U-Net的第一個(gè)特點(diǎn)是完全對(duì)稱(chēng),也就是左邊和右邊是很類(lèi)似的,而FCN的decoder相對(duì)簡(jiǎn)單,只用了一個(gè)deconvolution的操作,之后并沒(méi)有跟上卷積結(jié)構(gòu)。第二個(gè)區(qū)別就是skip connection,F(xiàn)CN用的是加操作(summation),U-Net用的是疊操作(concatenation)。這些都是細(xì)節(jié),重點(diǎn)是它們的結(jié)構(gòu)用了一個(gè)比較經(jīng)典的思路,也就是編碼和解碼(encoder-decoder),早在2006年就被Hinton大神提出來(lái)發(fā)表在了nature上.

當(dāng)時(shí)這個(gè)結(jié)構(gòu)提出的主要作用并不是分割,而是壓縮圖像和去噪聲。輸入是一幅圖,經(jīng)過(guò)下采樣的編碼,得到一串比原先圖像更小的特征,相當(dāng)于壓縮,然后再經(jīng)過(guò)一個(gè)解碼,理想狀況就是能還原到原來(lái)的圖像。這樣的話我們存一幅圖的時(shí)候就只需要存一個(gè)特征和一個(gè)解碼器即可。這個(gè)想法我個(gè)人認(rèn)為是很漂亮了。同理,這個(gè)思路也可以用在原圖像去噪,做法就是在訓(xùn)練的階段在原圖人為的加上噪聲,然后放到這個(gè)編碼解碼器中,目標(biāo)是可以還原得到原圖。

后來(lái)把這個(gè)思路被用在了圖像分割的問(wèn)題上,也就是現(xiàn)在我們看到的U-Net結(jié)構(gòu),在它被提出的三年中,有很多很多的論文去講如何改進(jìn)U-Net或者FCN,不過(guò)這個(gè)分割網(wǎng)絡(luò)的本質(zhì)的拓?fù)浣Y(jié)構(gòu)是沒(méi)有改動(dòng)的。舉例來(lái)說(shuō),去年ICCV上凱明大神提出的Mask RCNN. 相當(dāng)于一個(gè)檢測(cè),分類(lèi),分割的集大成者,我們仔細(xì)去看它的分割部分,其實(shí)使用的也就是這個(gè)簡(jiǎn)單的FCN結(jié)構(gòu)。說(shuō)明了這種“U形”的編碼解碼結(jié)構(gòu)確實(shí)非常的簡(jiǎn)潔,并且最關(guān)鍵的一點(diǎn)是好用。

簡(jiǎn)單的過(guò)一下這個(gè)網(wǎng)紅結(jié)構(gòu),我們先提取出它的拓?fù)浣Y(jié)構(gòu),這樣會(huì)比較容易分析它的實(shí)質(zhì),排除很多細(xì)節(jié)的干擾。

輸入是一幅圖,輸出是目標(biāo)的分割結(jié)果。繼續(xù)簡(jiǎn)化就是,一幅圖,編碼,或者說(shuō)降采樣,然后解碼,也就是升采樣,然后輸出一個(gè)分割結(jié)果。根據(jù)結(jié)果和真實(shí)分割的差異,反向傳播來(lái)訓(xùn)練這個(gè)分割網(wǎng)絡(luò)。我們可以說(shuō),U-Net里面最精彩的部分就是這三部分:

這就是在我眼中的大部分分割網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。





2. 展開(kāi)

基本的鋪墊都已經(jīng)完成了,看著這個(gè)拓?fù)浣Y(jié)構(gòu),一個(gè)非常廣義的問(wèn)題就是:

這個(gè)三年不動(dòng)的拓?fù)浣Y(jié)構(gòu)真的一點(diǎn)兒毛病都沒(méi)有嗎?

在這三年中,U-Net得到的超過(guò)2500次的引用,F(xiàn)CN接近6000次的引用,大家都在做什么樣的改進(jìn)呢?如果讓你在這個(gè)經(jīng)典的結(jié)構(gòu)基礎(chǔ)上改進(jìn),你會(huì)去關(guān)注哪些點(diǎn)呢?

首先一個(gè)問(wèn)題是:要多深合適?

這里我想強(qiáng)調(diào)的一點(diǎn)是,很多論文給出了他們建議的網(wǎng)絡(luò)結(jié)構(gòu),其中包括非常多的細(xì)節(jié),比如用什么卷積,用幾層,怎么降采樣,學(xué)習(xí)率多少,優(yōu)化器用什么,這些都是比較直觀的參數(shù),其實(shí)這些在論文中給出參數(shù)并不見(jiàn)得是最好的,所以關(guān)注這些的意義不大,一個(gè)網(wǎng)絡(luò)結(jié)構(gòu),我們真正值得關(guān)注的是它的設(shè)計(jì)傳達(dá)了什么信息。就拿U-Net來(lái)說(shuō),原論文給出的結(jié)構(gòu)是原圖經(jīng)過(guò)四次降采樣,四次上采樣,得到分割結(jié)果,實(shí)際呢,為什么四次?就是作者喜歡唄,或者說(shuō)當(dāng)時(shí)作者使用的數(shù)據(jù)集,四次降采樣的效果好,我們也可以更再專(zhuān)業(yè)一點(diǎn),四次降采樣的接受域或者感受野大小正合適處理圖像?;蛘咚拇谓挡蓸颖容^適合輸入圖像的尺寸等等,理由一堆,但是你們真的相信嗎?不見(jiàn)得吧。

我先給一個(gè)2017年在CVPR上發(fā)表的一個(gè)名叫PSPNet的分割網(wǎng)絡(luò),你會(huì)發(fā)現(xiàn),好像整體的架構(gòu)和U-Net還是像的,只是降采樣的數(shù)目減小了,當(dāng)然,他們也針對(duì)性的增強(qiáng)了中間的特征抓取環(huán)節(jié)的復(fù)雜性。







要是你覺(jué)得這個(gè)工作還不夠說(shuō)明4次降采樣不是必須的話,我們?cè)賮?lái)看看Yoshua Bengio組最近的關(guān)于圖像分割的論文,這是他們提出的結(jié)構(gòu),名叫提拉米蘇。







也是U形結(jié)構(gòu),但你會(huì)發(fā)現(xiàn),他們就只用了三次降采樣。所以到底要多深,是不是越深越好?還是一個(gè)open quesion。

我想分享的第一個(gè)信息就是:關(guān)注論文所傳遞的大方向,不要被論文中的細(xì)節(jié)局限了創(chuàng)造力。像這種細(xì)節(jié)參數(shù)的調(diào)整是屬于比較樸素的深度學(xué)習(xí)方法論,很容易花費(fèi)你很多時(shí)間,而最終并沒(méi)有自身科研水平的提升。

好,我們回來(lái)繼續(xù)討論到底需要多深的問(wèn)題。其實(shí)這個(gè)是非常靈活的,涉及到的一個(gè)點(diǎn)就是特征提取器,U-Net和FCN為什么成功,因?yàn)樗喈?dāng)于給了一個(gè)網(wǎng)絡(luò)的框架,具體用什么特征提取器,隨便。這個(gè)時(shí)候,高引就出現(xiàn)了,各種在encoder上的微創(chuàng)新絡(luò)繹不絕,最直接的就是用ImageNet里面的明星結(jié)構(gòu)來(lái)套嘛,前幾年的BottleNeck,Residual,還有去年的DenseNet,就比誰(shuí)出文章快。這一類(lèi)的論文就相當(dāng)于從1到10的遞進(jìn),而U-Net這個(gè)低層結(jié)構(gòu)的提出卻是從0到1。說(shuō)句題外話,像這種從1到10的論文,引用往往不會(huì)比從0到1的論文高,因?yàn)樗蛔杂X(jué)的局限了自己的擴(kuò)展空間,比如我說(shuō),我寫(xiě)一篇論文,說(shuō)特征提取器就必須是dense block,或者必須是residual block效果好,然后名字也就是DenseUNet或者ResUNet,就這樣結(jié)束了。所以關(guān)于backbone到底用什么的問(wèn)題,并不是我這次要講的重點(diǎn)。







關(guān)于到底要多深這個(gè)問(wèn)題,還有一個(gè)引申的問(wèn)題就是,降采樣對(duì)于分割網(wǎng)絡(luò)到底是不是必須的?問(wèn)這個(gè)問(wèn)題的原因就是,既然輸入和輸出都是相同大小的圖,為什么要折騰去降采樣一下再升采樣呢?

比較直接的回答當(dāng)然是降采樣的理論意義,我簡(jiǎn)單朗讀一下,它可以增加對(duì)輸入圖像的一些小擾動(dòng)的魯棒性,比如圖像平移,旋轉(zhuǎn)等,減少過(guò)擬合的風(fēng)險(xiǎn),降低運(yùn)算量,和增加感受野的大小。升采樣的最大的作用其實(shí)就是把抽象的特征再還原解碼到原圖的尺寸,最終得到分割結(jié)果。













這些理論的解釋都是有道理的,在我的理解中,對(duì)于特征提取階段,淺層結(jié)構(gòu)可以抓取圖像的一些簡(jiǎn)單的特征,比如邊界,顏色,而深層結(jié)構(gòu)因?yàn)楦惺芤按罅?,而且?jīng)過(guò)的卷積操作多了,能抓取到圖像的一些說(shuō)不清道不明的抽象特征,講的越來(lái)越玄學(xué)了,總之,淺有淺的側(cè)重,深有深的優(yōu)勢(shì)。那我就要問(wèn)一個(gè)比較犀利的問(wèn)題了,既然淺層特征和深層特征都很重要,U-Net為什么只在4層以后才返回去,也就是只去抓深層特征。我不知道有沒(méi)有說(shuō)明白這個(gè)問(wèn)題本身。問(wèn)題實(shí)際是這樣的,看這個(gè)圖,既然 , , , 所抓取的特征都很重要,為什么我非要降到 層了才開(kāi)始上采樣回去呢?








3. 主體

沿著這個(gè)邏輯往下捋,不知道大家能否猜到我的下一頁(yè)會(huì)放什么?此處可以摁個(gè)暫停。有沒(méi)有呼之欲出了?如果排除一切其他干擾,既然我們不知道需要多深,是不是會(huì)衍生出一系列像這樣子的U-Net,它們的深度不一。這個(gè)不難理解吧。為了搞清楚是不是越深越好,我們應(yīng)該對(duì)它們做一下實(shí)驗(yàn),看看它們各自的分割表現(xiàn):







先不要看后兩個(gè)UNet++,就看這個(gè)不同深度的U-Net的表現(xiàn),我們可以看出,不是越深越好吧,它背后的傳達(dá)的信息就是,不同層次特征的重要性對(duì)于不同的數(shù)據(jù)集是不一樣的,并不是說(shuō)我設(shè)計(jì)一個(gè)4層的U-Net,就像原論文給出的那個(gè)結(jié)構(gòu),就一定對(duì)所有數(shù)據(jù)集的分割問(wèn)題都最優(yōu)。

那么接下來(lái)是關(guān)鍵,我們心中的目標(biāo)很明確了,就是使用淺層和深層的特征!但是總不能訓(xùn)練這些個(gè)U-Net吧,未免也太多了。好,這里可以暫停一下,想一想,要你來(lái),你怎么來(lái)利用這些不同深度的,各自能抓取不同層次的特征的U-Net。







我把圖打出來(lái)就很簡(jiǎn)單了。







我們來(lái)看一看,這樣是不是把1~4層的U-Net全給連一起了。我們來(lái)看它們的子集,包含1層U-Net,2層U-Net,以此類(lèi)推。這個(gè)結(jié)構(gòu)的好處就是我不管你哪個(gè)深度的特征有效,我干脆都給你用上,讓網(wǎng)絡(luò)自己去學(xué)習(xí)不同深度的特征的重要性。第二個(gè)好處是它共享了一個(gè)特征提取器,也就是你不需要訓(xùn)練一堆U-Net,而是只訓(xùn)練一個(gè)encoder,它的不同層次的特征由不同的decoder路徑來(lái)還原。這個(gè)encoder依舊可以靈活的用各種不同的backbone來(lái)代替。

可惜的是,這個(gè)網(wǎng)絡(luò)結(jié)構(gòu)是不能被訓(xùn)練的,原因在于,不會(huì)由任何梯度會(huì)經(jīng)過(guò)這個(gè)紅色區(qū)域,因?yàn)樗退鉲oss function的地方是在反向傳播時(shí)是斷開(kāi)的。我停頓一下,大家想一想是不是這么回事。







請(qǐng)問(wèn),如果是你,如何去解決這個(gè)問(wèn)題?

其實(shí)既然已經(jīng)把結(jié)構(gòu)盤(pán)成這樣了,還是很自然能想到的吧,我這里提供有兩個(gè)候選的解決方案。







如果沒(méi)有我上面說(shuō)的那一堆話來(lái)盤(pán)邏輯,這個(gè)結(jié)構(gòu)可能不那么容易想到,但是如果順著思路一步一步的走,這個(gè)結(jié)構(gòu)雖然不能說(shuō)是顯而易見(jiàn),也算是順理成章的。我的故事還沒(méi)有講完,但是我提一句,這個(gè)結(jié)構(gòu)由UC Berkeley的團(tuán)隊(duì)提出,發(fā)表在今年的CVPR上,是一個(gè)oral的論文,題目是"Deep Layer Aggregation"。

可能就有小伙伴驚呆了,就這樣嗎,就發(fā)了CVPR???是,也不是。。。這只是他們?cè)谡撐闹薪o出的關(guān)于分割網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),他們還做了其他的工作,包括分類(lèi),和邊緣檢測(cè)。但是主要的思路就是剛剛盤(pán)的那些,目標(biāo)就是取整合各個(gè)不同層次的特征。

這只是一個(gè)題外話哦,我們繼續(xù)來(lái)看這個(gè)結(jié)構(gòu),請(qǐng)問(wèn),你覺(jué)得有什么問(wèn)題?

為了回答這個(gè)問(wèn)題,現(xiàn)在我們和上面那個(gè)結(jié)構(gòu)對(duì)比一下,不難發(fā)現(xiàn)這個(gè)結(jié)構(gòu)強(qiáng)行去掉了U-Net本身自帶的長(zhǎng)連接。取而代之的是一系列的短連接。那么我們來(lái)看看U-Net引以為傲的長(zhǎng)連接到底有什么優(yōu)點(diǎn)。







我們認(rèn)為,U-Net中的長(zhǎng)連接是有必要的,它聯(lián)系了輸入圖像的很多信息,有助于還原降采樣所帶來(lái)的信息損失,在一定程度上,我覺(jué)得它和殘差的操作非常類(lèi)似,也就是residual操作,x+f(x)。我不知道大家是否同意這一個(gè)觀點(diǎn)。因此,我的建議是最好給出一個(gè)綜合長(zhǎng)連接和短連接的方案。請(qǐng)問(wèn),這個(gè)方案在你的腦海中是什么樣的呢?此處可暫停。







基本上就是這樣一個(gè)結(jié)構(gòu)沒(méi)跑了是么。我們來(lái)對(duì)比一下一開(kāi)始的U-Net,它其實(shí)是這個(gè)結(jié)構(gòu)的一個(gè)子集。這個(gè)結(jié)構(gòu),就是我們?cè)贛ICCAI中發(fā)表的UNet++。熱心的網(wǎng)友可能會(huì)問(wèn)哦,你的UNet++和剛剛說(shuō)的那個(gè)CVPR的論文結(jié)構(gòu)也太像了吧,我說(shuō)一下這個(gè)工作和UC Berkeley的研究是完全兩個(gè)獨(dú)立的工作,也算是一個(gè)美麗的巧合。UNet++在今年年初時(shí)思路就已經(jīng)成型了,CVPR那篇是我們今年七月份開(kāi)會(huì)的時(shí)候看到的,當(dāng)時(shí)UNet++已經(jīng)被錄用了,所以相當(dāng)于同時(shí)提出。另外,和CVPR的那篇論文相比,我還有一個(gè)更精彩的點(diǎn)埋在后面說(shuō),剛剛也留了一個(gè)伏筆。

好,當(dāng)你現(xiàn)在盯著UNet++的時(shí)候,不知道會(huì)不會(huì)冷不丁會(huì)冒出來(lái)一個(gè)問(wèn)題:

這個(gè)網(wǎng)絡(luò)比U-Net效果好,但是這個(gè)網(wǎng)絡(luò)增加了多少的參數(shù),加粗的參數(shù)可都是比U-Net多出來(lái)的???

這個(gè)問(wèn)題非常的尖銳,實(shí)際上是需要設(shè)計(jì)實(shí)驗(yàn)來(lái)回答的,如何設(shè)計(jì)這個(gè)實(shí)驗(yàn)?zāi)??我們的做法是?qiáng)行增加U-Net里面的參數(shù)量,讓它變寬,也就是增加它每個(gè)層的卷積核個(gè)數(shù)。由此,我們?cè)O(shè)計(jì)了一個(gè)叫wide U-Net的參考結(jié)構(gòu),先來(lái)看看UNet++的參數(shù)數(shù)量是9.04M,而U-Net是7.76M,多了差不多16%的參數(shù),所以wide U-Net我們?cè)谠O(shè)計(jì)時(shí)就讓它的參數(shù)比UNet++差不多,并且還稍微多一點(diǎn)點(diǎn),來(lái)證明并不是無(wú)腦增加參數(shù)量,模型效果就會(huì)好。







我本人是認(rèn)為這個(gè)回?fù)袅Χ炔⒉淮?,因?yàn)檫@樣增加參數(shù)說(shuō)心里話有點(diǎn)敷衍,應(yīng)該能找到更好的對(duì)比方法。盡管有不足,我們先來(lái)看看結(jié)果。







根據(jù)現(xiàn)有的結(jié)果,我的總結(jié)是,單純的把網(wǎng)絡(luò)變寬,把參數(shù)提上去對(duì)效果的提升并不大,如何能把參數(shù)用在刀刃上是很重要的。那么UNet++這種設(shè)計(jì)就是將參數(shù)用在刀刃上的一個(gè)方案。







我們?cè)诨貋?lái)看這個(gè)UNet++,對(duì)于這個(gè)主體結(jié)構(gòu),我們?cè)谡撐闹薪o出了一些點(diǎn)評(píng),說(shuō)白了就是把原來(lái)空心的U-Net填滿了,優(yōu)勢(shì)是可以抓取不同層次的特征,將它們通過(guò)特征疊加的方式整合,不同層次的特征,或者說(shuō)不同大小的感受野,對(duì)于大小不一的目標(biāo)對(duì)象的敏感度是不同的,比如,感受野大的特征,可以很容易的識(shí)別出大物體的,但是在實(shí)際分割中,大物體邊緣信息和小物體本身是很容易被深層網(wǎng)絡(luò)一次次的降采樣和一次次升采樣給弄丟的,這個(gè)時(shí)候就可能需要感受野小的特征來(lái)幫助。另一個(gè)解讀就是如果你橫著看其中一層的特征疊加過(guò)程,就像一個(gè)去年很火的DenseNet的結(jié)構(gòu),非常的巧合,原先的U-Net,橫著看就很像是Residual的結(jié)構(gòu),這個(gè)就很有意思了,UNet++對(duì)于U-Net分割效果提升可能和DenseNet對(duì)于ResNet分類(lèi)效果的提升,原因如出一轍,因此,在解讀中我們也參考了Dense Connection的一些優(yōu)勢(shì),比方說(shuō)特征的再利用等等。

這些解讀都是很直觀的認(rèn)識(shí),其實(shí)在深度學(xué)習(xí)里面,某某結(jié)構(gòu)效果優(yōu)于某某結(jié)構(gòu)的理由,或者你加這個(gè)操作比不加操作要好,很多時(shí)候是有玄學(xué)的味道在里頭,也有大量的工作也在探索深度網(wǎng)絡(luò)的可解釋性。關(guān)于UNet++的主體結(jié)構(gòu),我不想花時(shí)間贅述了。


4. 高潮

接下來(lái)我要說(shuō)的這部分,非常的有意思,如果這次分享就給我三分鐘,我可能就會(huì)花兩分半鐘在這里。剛剛在講這里的時(shí)候留了一個(gè)伏筆,說(shuō)這個(gè)結(jié)構(gòu)在反向傳播的時(shí)候中間部分會(huì)收不到過(guò)來(lái)的梯度,如果只用最右邊的一個(gè)loss來(lái)做的話。

剛才說(shuō)了,一個(gè)非常直接的解決方案就是深監(jiān)督,也就是deep supervision。這個(gè)概念不是新的,有很多對(duì)U-Net對(duì)改進(jìn)論文中也有用到,具體的實(shí)現(xiàn)操作就是在圖中 , , , 后面加一個(gè)1x1的卷積核,相當(dāng)于去監(jiān)督每個(gè)level,或者每個(gè)分支的U-Net的輸出。

我給大家提供三個(gè)用Deep Supervision的結(jié)構(gòu)來(lái)比較,一個(gè)就是這個(gè),第二個(gè)是加在UC Berkeley提出的結(jié)構(gòu)上,最后一個(gè)是加在UNet++上,請(qǐng)問(wèn)是你認(rèn)為哪個(gè)會(huì)更棒?這是一個(gè)開(kāi)放問(wèn)題,我這里不做展開(kāi)討論,我們論文中使用的是最后一個(gè)。

因?yàn)閐eep supervision具體應(yīng)該套在哪個(gè)結(jié)構(gòu)上面不是我想說(shuō)的重點(diǎn),deep supervision的優(yōu)點(diǎn)也在很多論文中有講解,我這里想著重討論的是當(dāng)它配合上這樣一個(gè)填滿的U-Net結(jié)構(gòu)時(shí),帶來(lái)其中一個(gè)非常棒的優(yōu)勢(shì)。此處強(qiáng)烈建議暫停,想一想,如果我在訓(xùn)練過(guò)程中在各個(gè)level的子網(wǎng)絡(luò)中加了這種深監(jiān)督,可以帶來(lái)怎樣的好處呢?







兩個(gè)字:剪枝。

同時(shí)引出三個(gè)問(wèn)題:







我們來(lái)看看為什么可以剪枝,這張圖特別的精彩。關(guān)注被剪掉的這部分,你會(huì)發(fā)現(xiàn),在測(cè)試的階段,由于輸入的圖像只會(huì)前向傳播,扔掉這部分對(duì)前面的輸出完全沒(méi)有影響的,而在訓(xùn)練階段,因?yàn)榧扔星跋?,又有反向傳播,被剪掉的部分是?huì)幫助其他部分做權(quán)重更新的。這兩句話同樣重要,我再重復(fù)一遍,測(cè)試時(shí),剪掉部分對(duì)剩余結(jié)構(gòu)不做影響,訓(xùn)練時(shí),剪掉部分對(duì)剩余部分有影響。這意味什么?

因?yàn)樵谏畋O(jiān)督的過(guò)程中,每個(gè)子網(wǎng)絡(luò)的輸出都其實(shí)已經(jīng)是圖像的分割結(jié)果了,所以如果小的子網(wǎng)絡(luò)的輸出結(jié)果已經(jīng)足夠好了,我們可以隨意的剪掉那些多余的部分了。

來(lái)看一下這個(gè)動(dòng)圖,為了定義的方便起見(jiàn),我們把每個(gè)剪完剩下的子網(wǎng)絡(luò)根據(jù)它們的深度命名為UNet++ L1,L2,L3,L4,后面會(huì)簡(jiǎn)稱(chēng)為L(zhǎng)1~L4。最理想的狀態(tài)是什么?當(dāng)然是L1嘍,如果L1的輸出結(jié)果足夠好,剪完以后的分割網(wǎng)絡(luò)會(huì)變得非常的小。

這里我想問(wèn)兩個(gè)問(wèn)題:

對(duì)于為什么要在測(cè)試的時(shí)候剪枝,而不是直接拿剪完的L1,L2,L3訓(xùn)練,我們的解釋其實(shí)上一頁(yè)ppt上面寫(xiě)了,剪掉的部分在訓(xùn)練時(shí)的反向傳播中是有貢獻(xiàn)的,如果直接拿L1,L2,L3訓(xùn)練,就相當(dāng)于只訓(xùn)練了不同深度的U-Net,最后的結(jié)果會(huì)很差。

第二個(gè)問(wèn)題,如何去決定剪多少,還是比較好回答的。因?yàn)樵谟?xùn)練模型的時(shí)候會(huì)把數(shù)據(jù)分為訓(xùn)練集,驗(yàn)證集和測(cè)試集,訓(xùn)練集上是一定擬合的很好的,測(cè)試集是我們不能碰的,所以我們會(huì)根據(jù)子網(wǎng)絡(luò)在驗(yàn)證集的結(jié)果來(lái)決定剪多少。所謂的驗(yàn)證集就是一開(kāi)始從訓(xùn)練集中分出來(lái)的數(shù)據(jù),用來(lái)監(jiān)測(cè)訓(xùn)練過(guò)程用的。

好,講完了思路,我們來(lái)看結(jié)果。







先看看L1~L4的網(wǎng)絡(luò)參數(shù)量,差了好多,L1只有0.1M,而L4有9M,也就是理論上如果L1的結(jié)果我是滿意的,那么模型可以被剪掉的參數(shù)達(dá)到98.8%。不過(guò)根據(jù)我們的四個(gè)數(shù)據(jù)集,L1的效果并不會(huì)那么好,因?yàn)樘珳\了嘛。但是其中有三個(gè)數(shù)據(jù)集顯示L2的結(jié)果和L4已經(jīng)非常接近了,也就是說(shuō)對(duì)于這三個(gè)數(shù)據(jù)集,在測(cè)試階段,我們不需要用9M的網(wǎng)絡(luò),用半M的網(wǎng)絡(luò)足夠了。

回想一下一開(kāi)始我提出的問(wèn)題,網(wǎng)絡(luò)需要多深合適,這幅圖是不是就一目了然。網(wǎng)絡(luò)的深度和數(shù)據(jù)集的難度是有關(guān)系的,這四個(gè)數(shù)據(jù)集當(dāng)中,第二個(gè),也就是息肉分割是最難的,大家可以看到縱坐標(biāo),它代表分割的評(píng)價(jià)指標(biāo),越大越好,其他都能達(dá)到挺高的,但是唯獨(dú)息肉分割只有在30左右,對(duì)于比較難的數(shù)據(jù)集,可以看到網(wǎng)絡(luò)越深,它的分割結(jié)果是在不斷上升的。對(duì)于大多數(shù)比較簡(jiǎn)單的分割問(wèn)題,其實(shí)并不需要非常深,非常大的網(wǎng)絡(luò)就可以達(dá)到很不錯(cuò)的精度了。

橫坐標(biāo)代表的是在測(cè)試階段,單顯卡12G的TITAN X (Pascal)下,分割一萬(wàn)張圖需要的時(shí)間。我們可以看到不同的模型大小,測(cè)試的時(shí)間差好多。如果比較L2和L4的話,就差了三倍之多。







對(duì)于測(cè)試的速度,用這一幅圖會(huì)更清晰。我們統(tǒng)計(jì)了用不同的模型,1秒鐘可以分割多少的圖。如果用L2來(lái)代替L4的話,速度確實(shí)能提升三倍。

剪枝應(yīng)用最多的就是在移動(dòng)手機(jī)端了,根據(jù)模型的參數(shù)量,如果L2得到的效果和L4相近,模型的內(nèi)存可以省18倍。還是非??捎^的數(shù)目。

關(guān)于剪枝的這部分我認(rèn)為是對(duì)原先的U-Net的一個(gè)很大的改觀,原來(lái)的結(jié)構(gòu)過(guò)于刻板,并且沒(méi)有很好的利用不用層級(jí)的特征。

簡(jiǎn)單的總結(jié)一下,UNet++的第一個(gè)優(yōu)勢(shì)就是精度的提升,這個(gè)應(yīng)該它整合了不同層次的特征所帶來(lái)的,第二個(gè)是靈活的網(wǎng)絡(luò)結(jié)構(gòu)配合深監(jiān)督,讓參數(shù)量巨大的深度網(wǎng)絡(luò)在可接受的精度范圍內(nèi)大幅度的縮減參數(shù)量。


5. 說(shuō)在后面

再次放上我們的UNet++結(jié)構(gòu)







回顧一下這次分享,我問(wèn)了好多問(wèn)題,也提供了其中一些我個(gè)人給出的解釋。

一頓聽(tīng)下來(lái),熱心的網(wǎng)友可能會(huì)懵了,就這么個(gè)分割網(wǎng)絡(luò),都能說(shuō)這么久,要我說(shuō)就放個(gè)結(jié)構(gòu)圖,說(shuō)這個(gè)網(wǎng)絡(luò)很牛逼,再告知一下代碼在哪兒,謝謝大家就完事兒了。

其實(shí)搞學(xué)術(shù)做研究不是這樣子的,UNet++肯定馬上就會(huì)被更強(qiáng)的結(jié)構(gòu)所代替,但是要設(shè)計(jì)出更強(qiáng)的結(jié)構(gòu),你得首先明白這個(gè)結(jié)構(gòu),甚至它的原型U-Net設(shè)計(jì)背后的心路歷程。與其和大家分享一個(gè)蒼白的分割網(wǎng)絡(luò),我更愿意分享的是這個(gè)項(xiàng)目背后從開(kāi)始認(rèn)識(shí)U-Net,到分析它的組成,到批判性的解讀,再到改進(jìn)思路的形成,實(shí)驗(yàn)設(shè)計(jì),像剛剛分享過(guò)程中一次次尷尬的自問(wèn)自答,中間那些非常飽滿的心路歷程。這也是我在博士的兩年中學(xué)到的做研究的范式。

說(shuō)句題外話,就跟玩狼人殺一樣,你一上來(lái)就說(shuō)自己預(yù)言家,驗(yàn)了誰(shuí)誰(shuí)誰(shuí),那沒(méi)人信的呀,你得說(shuō)清楚為什么要驗(yàn)他,警徽怎么留,把這些心路歷程都盤(pán)盤(pán)清楚,身份才能做實(shí)。

我在微博上也看到有人說(shuō),也想到了非常類(lèi)似的結(jié)構(gòu),實(shí)驗(yàn)也快做完了,看到了我這篇論文心就涼了。其實(shí)網(wǎng)絡(luò)結(jié)構(gòu)怎么樣真的不重要,重要的是你怎么能把故事給講清楚,要是講完以后還能夠引起更多的思考和討論那就更好了。我在分享中提到了很多我們論文中的不足之處,也非常歡迎大家可以批評(píng)指正。

關(guān)鍵詞:

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉