1
本文作者: camel | 2018-05-27 22:20 | 專題:CVPR 2018 |
雷鋒網(wǎng) AI 科技評(píng)論按:本文為 2018 年 5 月 11 日在微軟亞洲研究院進(jìn)行的 CVPR 2018 中國(guó)論文宣講研討會(huì)中「Deep Learning」環(huán)節(jié)的四場(chǎng)論文報(bào)告,分別針對(duì)Deep Learning的冗余性、可解釋性、遷移學(xué)習(xí)和全局池化做了深入分享。
這些工作多出自大牛組,例如第一個(gè)報(bào)告的工作來(lái)自微軟王井東的團(tuán)隊(duì),第二個(gè)報(bào)告來(lái)自張鈸、朱軍團(tuán)隊(duì),第三個(gè)報(bào)告有Michael I. Jordan的參與,第四個(gè)報(bào)告由來(lái)自大連理工大學(xué)的李培華教授主導(dǎo)。
在第一個(gè)報(bào)告中,微軟亞洲研究院的張婷介紹他們通過(guò)交錯(cuò)組卷積來(lái)解決神經(jīng)網(wǎng)絡(luò)基本卷積單元中的冗余問(wèn)題,在無(wú)損性能的前提下縮減模型、提升計(jì)算速度的工作,該工作是去年 IGCV1 的延續(xù)。(系列工作)
第二個(gè)報(bào)告由來(lái)自清華大學(xué)的蘇航介紹了他們?cè)诳山忉屝苑矫娴墓ぷ?。他們通過(guò)在網(wǎng)絡(luò)層之間加入 control gate (即權(quán)值)來(lái)顯式化每個(gè)神經(jīng)元在模型預(yù)測(cè)中所起到的作用。
隨后是由清華大學(xué)龍明盛介紹了在遷移學(xué)習(xí)過(guò)程中遇到 source domain 的 label space 大于 target domain 的情況下,如何通過(guò)選擇部分 label space 進(jìn)行遷移學(xué)習(xí),也即部分遷移學(xué)習(xí)。
最后由來(lái)自大連理工大學(xué)的李培華教授介紹他們?cè)谥匦聵?gòu)造深度學(xué)習(xí)網(wǎng)絡(luò)末端全局池化的一系列工作,他們提出使用二階的全局協(xié)方差池化替換目前普遍使用的一階的全局均值方法,這樣能夠有效地利用各通道之間的相關(guān)信息,而不是舍棄它們。(系列工作)
雷鋒網(wǎng)注:
[1] CVPR 2018 中國(guó)論文宣講研討會(huì)由微軟亞洲研究院、清華大學(xué)媒體與網(wǎng)絡(luò)技術(shù)教育部-微軟重點(diǎn)實(shí)驗(yàn)室、商湯科技、中國(guó)計(jì)算機(jī)學(xué)會(huì)計(jì)算機(jī)視覺(jué)專委會(huì)、中國(guó)圖象圖形學(xué)會(huì)視覺(jué)大數(shù)據(jù)專委會(huì)合作舉辦,數(shù)十位 CVPR 2018 收錄論文的作者在此論壇中分享其最新研究和技術(shù)觀點(diǎn)。研討會(huì)共包含了 6 個(gè) session(共 22 個(gè)報(bào)告),1 個(gè)論壇,以及 20 多個(gè) posters,AI 科技評(píng)論將為您詳細(xì)報(bào)道。
[2] CVPR 2018 將于 6 月 18 - 22 日在美國(guó)鹽湖城召開(kāi)。據(jù) CVPR 官網(wǎng)顯示,今年大會(huì)有超過(guò) 3300 篇論文投稿,其中錄取 979 篇;相比去年 783 篇論文,今年增長(zhǎng)了近 25%。
更多報(bào)道請(qǐng)參看:
Session 3: Person Re-Identification and Tracking
Session 4: Vision and Language
報(bào)告題目:Interleaved Structured Sparse Convolutional Neural Networks
報(bào)告人:張婷 - 微軟亞洲研究院
論文下載地址:
IGCV 1:Interleaved Group Convolutions for Deep Neural Networks
IGCV 2:Interleaved Structured Sparse Convolutional Neural Networks
代碼 1:https://github.com/zlmzju/fusenet(Deep Merge-and-Run Net)
代碼 2:https://github.com/hellozting/InterleavedGroupConvolutions(IGC)
雷鋒網(wǎng)注:IGC = Interleaved Group Convolutions,交錯(cuò)組卷積
這是一個(gè)系列工作,分別為 IGCV 1、IGCV 2、IGCV 3。
神經(jīng)網(wǎng)絡(luò)從 2012 年引起人們的廣泛關(guān)注后,主要沿著兩個(gè)方向發(fā)展。其一是讓網(wǎng)絡(luò)變得更深以提高精度,但隨著而來(lái)的是對(duì) memory 和計(jì)算量的需求變得越來(lái)越大;考慮到在實(shí)際應(yīng)用中,更多的應(yīng)該是用一個(gè)小 model 來(lái)達(dá)到同樣的精度,因此第二個(gè)研究方向就是減少網(wǎng)絡(luò)中的冗余性,這主要通過(guò)修改神經(jīng)網(wǎng)絡(luò)中的卷積(所謂卷積,實(shí)際上就是矩陣相乘)來(lái)實(shí)現(xiàn)。
減少冗余性三種方式。第一種是使用低精度的 kernel,將 kernel 整數(shù)化、分層化或者二值化等;第二種是 low-rank kernel,即消除掉 kernel 的部分行或列,例如 filter pruning(減少矩陣的行數(shù))、channel pruning(減少矩陣的列數(shù))等;第三種是采用稀疏 kernel,即選擇性地將某些參數(shù)置零,可以是非結(jié)構(gòu)性的 sparse 或者結(jié)構(gòu)性的 sparse,現(xiàn)在比較熱的 group convolution 事實(shí)上可以看做是一中結(jié)構(gòu)性的 sparse。
據(jù)張婷介紹,他們的這項(xiàng)工作正是基于 group convolution 而發(fā)展起來(lái)的,目前有 IGCV1 和 IGCV2 兩個(gè)版本,分別發(fā)表在 ICCV 2017 和 CVPR 2018 上。
考慮一個(gè)傳統(tǒng)的卷積,給定輸入和輸出通道都為 6 個(gè),kernel 為 5×5,那么其 complexity 將為 6×5×5×6。而對(duì)于一個(gè)分為兩組的組卷積,每組有 3 個(gè)通道,分別對(duì)兩組單獨(dú)做卷積運(yùn)算,其 complexity 將為 2×(3×5×5×3)。可以看出這樣的好處是復(fù)雜度降低。
IGCV 1
但是由于兩組卷積之間不存在交互,不同卷積之間的 features 并不能相互融合起來(lái)。為了實(shí)現(xiàn)這些 features 之間的融合,張婷團(tuán)隊(duì)引入了第二次組卷積,即第二次組卷積過(guò)程中,每組的輸入通道均來(lái)自于第一次組卷積過(guò)程不同的組,達(dá)到交錯(cuò)互補(bǔ)的目的。其結(jié)果在準(zhǔn)確率、參數(shù)、復(fù)雜度上的表現(xiàn)均有提升。
Xception 只是交錯(cuò)組卷積的一種極端特例
張婷隨后提到,谷歌的 Xception 事實(shí)上可以看做是交錯(cuò)組卷積的一個(gè)極端情況,即第一次組卷積中每組只有一個(gè)通道,第二次組卷積為 3×3 的卷積。一個(gè)立刻想到的問(wèn)題就是:在怎樣的組卷積分配模式下才能夠得到最佳的結(jié)果呢?張婷團(tuán)隊(duì)針對(duì)這個(gè)問(wèn)題也進(jìn)行了相關(guān)的實(shí)驗(yàn),結(jié)果發(fā)現(xiàn)在第一次組卷積中每組分配兩個(gè)通道的情況會(huì)得到最佳的精度。
在 IGCV 1 的工作,張婷團(tuán)隊(duì)驗(yàn)證了兩件事情:第一,組卷積能夠在保證性能的情況下降低復(fù)雜度,減少計(jì)算量;第二,組卷積中每組分配兩個(gè)通道能夠達(dá)到最佳性能。但是我們看到,在 IGCV 1 的模型中第一次組卷積是只是將所有通道均分成兩組,而每一組仍然是一個(gè)非常 dense、非常耗時(shí)的操作。于是他們用交錯(cuò)組卷積的方式將這部分也進(jìn)行替換,得到了 IGCV 2。
IGCV 2(這里為了分配,選用了8通道,同時(shí)將IGCV 1中的第一次組卷積放到了后面)
將上面這種表示重新整理,可以得到如下的三層交錯(cuò)組卷積的圖,其結(jié)果仍然能夠保證 kernel 矩陣是 dense 的。
IGCV 2
相比 IGCV 1,其結(jié)果有比較明顯的提高。
IGCV 2 并不是終結(jié),張婷團(tuán)隊(duì)接下來(lái)又將 IGCV 2 與 low-rank filters 的方法相結(jié)合,即首先用一個(gè) 1×1 的 group pointwise covolution 升維,然后進(jìn)行 3×3 的組卷積,再通過(guò)一個(gè) 1×1 的 group pointwise covolution 降維。
張婷等人通過(guò)在卷積中使用交錯(cuò)組卷積(包括加入新的組卷積(IGCV 1)以及替換原有的組卷積(IGCV 2))可以獲得一個(gè)更快、更小、更準(zhǔn)的 model。
參考文獻(xiàn):
[1] MSRA王井東詳解ICCV 2017入選論文:通用卷積神經(jīng)網(wǎng)絡(luò)交錯(cuò)組卷積
[2] https://arxiv.org/abs/1707.02725
[3] https://arxiv.org/abs/1804.06202
報(bào)告題目:Interpret Neural Networks by Identifying Critical Data Routing Paths
報(bào)告人:蘇航 - 清華大學(xué)
論文下載地址:暫無(wú)
當(dāng)前深度學(xué)習(xí)的有效性主要是依靠大數(shù)據(jù)+算力,但是深度學(xué)習(xí)網(wǎng)絡(luò)本身對(duì)我們來(lái)說(shuō)仍然是一個(gè)黑箱。如何解釋深度學(xué)習(xí)網(wǎng)絡(luò)模型生成的結(jié)果成為當(dāng)前研究的一個(gè)熱點(diǎn)。
那么什么是「可解釋性」呢?這有三個(gè)維度,分別為:
預(yù)測(cè)的可解釋性,也即為什么會(huì)如此分類,多從用戶的角度來(lái)提問(wèn);
模型的可解釋性,即模型內(nèi)部是如何達(dá)到這樣結(jié)果,多為開(kāi)發(fā)人員和研究者所關(guān)心;
數(shù)據(jù)的可解釋性,數(shù)據(jù)的那個(gè)(些)維度真正對(duì)任務(wù)有作用。
當(dāng)前的大多數(shù)機(jī)器學(xué)習(xí),特別是以統(tǒng)計(jì)為基礎(chǔ)的統(tǒng)計(jì)學(xué)習(xí)都是將數(shù)據(jù)映射到特征空間中來(lái)進(jìn)行學(xué)習(xí),但是這里的問(wèn)題是人并不理解機(jī)器的特征學(xué)習(xí),人所能理解的一方面是原始的數(shù)據(jù)空間(與我們的感覺(jué)相關(guān)),一方面是更高層次的知識(shí)空間(與我們的知覺(jué)相關(guān))。
因此,蘇航所在團(tuán)隊(duì)認(rèn)為解決機(jī)器學(xué)習(xí)的可解釋性可以從兩個(gè)方向進(jìn)行,一個(gè)是追述到原始的數(shù)據(jù)空間,另一個(gè)則是把低層的特征空間與高層的知識(shí)空間相聯(lián)系。由此他們也進(jìn)行了兩方面的可解釋性研究工作,其中后者已經(jīng)發(fā)表在 CVPR 2017 上,而前者發(fā)表在 CVPR 2018,也是這次報(bào)告的主要內(nèi)容。
當(dāng)一張圖片輸入到網(wǎng)絡(luò)中,將通過(guò)多層卷積層的多個(gè)神經(jīng)元,最終輸出結(jié)果。那么在這個(gè)復(fù)雜網(wǎng)絡(luò)中,到底是哪些神經(jīng)元對(duì)最終的 Prediction 起到了最關(guān)鍵的作用呢?
蘇航將這些對(duì)預(yù)測(cè)起關(guān)鍵作用的神經(jīng)元稱為 critical nodes,而這些 critical nodes 的數(shù)據(jù)流傳遞路徑則稱為 critical data routing paths。如果將這些 critical nodes 設(shè)置為 0,整個(gè)網(wǎng)絡(luò)的預(yù)測(cè)將顯而易見(jiàn)地迅速惡化。
相應(yīng)的方法就是在每一層的輸出通道上關(guān)聯(lián)一個(gè)標(biāo)量 λ 作為控制門,傳遞給下一層的輸入是上一層輸出結(jié)果乘以控制門λ_k 后的結(jié)果。這里λ值有兩個(gè)約束條件:非負(fù)性,也即只能增強(qiáng)和抑制輸出結(jié)果,而不能改變結(jié)果的符號(hào);稀疏性,通常具有可分解性質(zhì)的稀疏模型更易于解釋。
通過(guò)網(wǎng)絡(luò)訓(xùn)練(Distillation Guided Pruning,DGP)可以學(xué)習(xí)出λ的矩陣,該 λ 矩陣元素的大小就決定了相應(yīng)神經(jīng)元對(duì)預(yù)測(cè)的重要性。
蘇航團(tuán)隊(duì)首先做了稀疏性驗(yàn)證,如下表所示
可以看出在準(zhǔn)確率不變的情況下,網(wǎng)絡(luò)的稀疏性大大降低。(注:這里所謂稀疏性是指選擇的 critical routing nodes / total nodes)。也即只有百分之十幾的神經(jīng)元在預(yù)測(cè)中真正起到作用。
其次,這些 critical nodes 真的如所預(yù)期的那樣重要嗎?蘇航團(tuán)隊(duì)通過(guò)逐步去除 critical nodes 來(lái)檢驗(yàn)預(yù)測(cè)的準(zhǔn)確率,發(fā)現(xiàn)在僅僅去除 1% 的情況下,準(zhǔn)確率就從 70% 下降到不足 40%,這也說(shuō)明了這些 critical nodes 對(duì)于預(yù)測(cè)起到了非常關(guān)鍵的作用。
另外,他們還還將網(wǎng)絡(luò)不同層的 control gate 進(jìn)行可視化。他們發(fā)現(xiàn)在整個(gè)模型中,淺層的 critical nodes 的分布較為分散,而越往深層則相關(guān)的 nodes 就越聚集。
這種可解釋性的方法有一個(gè)顯而易見(jiàn)的應(yīng)用,就是對(duì)抗樣本檢測(cè)。如下圖所示
一個(gè)阿爾卑斯山加上噪聲后會(huì)以 99.9% 的概率預(yù)測(cè)為一只狗,一個(gè)河豚加入噪聲后會(huì)以 100% 的概率預(yù)測(cè)為螃蟹。事實(shí)上,當(dāng)在網(wǎng)絡(luò)淺層加入這些噪聲時(shí)并不會(huì)有太大的影響,而如果是在深層加入這些噪聲則會(huì)誤導(dǎo)(改變)原來(lái)的 routing paths,從而轉(zhuǎn)變到別的類別上。
參考資料
[1] 張鈸院士:AI科學(xué)突破的前夜,教授們應(yīng)當(dāng)看到什么?
[2] https://arxiv.org/abs/1703.04096
[3] http://www.xlhu.cn/publications.html
[4] http://www.suhangss.me/publications
報(bào)告題目:Partial Transfer Learning with Selective Adversarial Networks
報(bào)告人:龍明盛 - 清華大學(xué)
論文下載地址:Partial Transfer Learning with Selective Adversarial Networks
Code下載地址:http://github.com/thuml
所謂遷移學(xué)習(xí),就是在兩個(gè)具有不同概率分布的 domain 之間進(jìn)行學(xué)習(xí),目前已經(jīng)是一個(gè)非?;馃岬难芯款I(lǐng)域。那么什么是部分遷移學(xué)習(xí)(Partial Transfer Learning)呢?
簡(jiǎn)單地說(shuō),當(dāng)做遷移學(xué)習(xí)時(shí),如果 source domain 中類的數(shù)量大于 target domain 中類的數(shù)量,那么顯而易見(jiàn)的是在 source domain 中那些和 target domain 中類相似的類對(duì)于遷移學(xué)習(xí)來(lái)說(shuō)將起到正向的作用;而那些不在 target domain 中的類將對(duì)遷移學(xué)習(xí)起到負(fù)作用。如果能夠只用起到正向作用的類進(jìn)行遷移學(xué)習(xí),那么相比用整個(gè) source domain 來(lái)做遷移學(xué)習(xí)效果應(yīng)該會(huì)更好。這即是部分遷移學(xué)習(xí)的思想。
目前遷移學(xué)習(xí)的方法,基本思想就是讓 source domain 和 target domain 的數(shù)據(jù)分布盡量接近。目前則主要有兩種方法。
1)Kernel Embedding
一種方法是從統(tǒng)計(jì)中延伸過(guò)來(lái)的,即 Kernel Embedding。這種方法通過(guò)定義在兩個(gè)數(shù)據(jù)集之間的距離,將這個(gè)距離最小化,也即將兩個(gè) domain 拉近,此時(shí)既可以將 source domain 的模型遷移到 target domain 上。對(duì)應(yīng)的工作是 Song et al. 在 IEEE 2013 的工作[1]。
代表性的工作是龍明盛團(tuán)隊(duì)在 ICML 2015 上提出的 Deep Adaptation Network [2]。這篇文章目前的引用率高達(dá) 346 次。
2)對(duì)抗學(xué)習(xí)
在 source domain 和 target domain 之間學(xué)習(xí)一個(gè)判別器,如果這個(gè)判別器不能將兩個(gè) domain 的特征/分布分開(kāi),那么這就是一個(gè)可以做遷移學(xué)習(xí)的特征。對(duì)應(yīng)的工作是 Goodfellow et al. 在 NIPS 2014 上的工作[3]。
代表性的工作是 Yaroslav Ganin et al. 在 JMLR 2016 上提出的 Domain Adversarial Neural Network(DANN)[4]。這篇文章目前的引用率達(dá) 282 次。
以上兩種方法都是假設(shè)兩個(gè) domain 之間的 label space 是一樣的。但是加入 source domain 與 target domain 的 label space 并不一樣,那么在 Kernel Embedding 的方法中會(huì)將所有相關(guān)和不相關(guān)的 label space 都拉在一起,而在對(duì)抗方法中不一致的 label space 也將起到負(fù)作用。
基于這樣的考慮,龍明盛團(tuán)隊(duì)提出了 Selective Adversarial Networks,思想很簡(jiǎn)單,即在原有的對(duì)抗方法基礎(chǔ)上,加入一系列能夠判別某個(gè)類來(lái)源的判別器。
這個(gè)網(wǎng)絡(luò)大的框架與 DANN 類似:輸入 x,通過(guò)一個(gè) CNN 抽取出 feature;基于這些 feature 可以訓(xùn)練一個(gè) G,對(duì) source domain 進(jìn)行分類,然后通過(guò)對(duì)抗來(lái)學(xué)習(xí)讓 source domain 和 target domain 分不開(kāi)的 feature。不同的是 source domain 的 label space 要大于 target domain,因此他們?cè)?source 和 target 之間建立了多個(gè)判別器,每個(gè)判別器只做一件事情,即判斷某各類是來(lái)自 source 還是來(lái)自 target,由此通過(guò)類加權(quán)的方式即可以選擇出 source domain 中的正樣本。這也是該網(wǎng)絡(luò)取名為選擇對(duì)抗網(wǎng)絡(luò)(Selective Adversarial Networks)的原因。判別器具體的構(gòu)造公式在此不再詳細(xì)敘述。
通過(guò)以上多種實(shí)驗(yàn)結(jié)果的對(duì)比,可以看出在不同數(shù)據(jù)集的遷移學(xué)習(xí)中,部分遷移學(xué)習(xí)的表現(xiàn)遠(yuǎn)遠(yuǎn)優(yōu)于其他遷移學(xué)習(xí)方法。
在這一個(gè)分析圖中,可以看出在 source domain 一定的情況下,target domain 中的類數(shù)量越少,選擇對(duì)抗網(wǎng)絡(luò)的表現(xiàn)越好,而作為對(duì)比基于對(duì)抗網(wǎng)絡(luò)的深度遷移模型 RevGrad 則會(huì)隨著 target domain 的類數(shù)量減少性能逐漸下降。而另一方面,SAN 的誤差相比其他模型也要低得多,且在迭代中更快地達(dá)到穩(wěn)定。
他們也將結(jié)果進(jìn)行了可視化。可以看出 SAN 能夠?qū)⒉煌念惽逦貐^(qū)分開(kāi)來(lái),source domain 和 target domain 中相似的類別能夠有效地聚在一起;作為對(duì)比,其他方法中兩個(gè) domain 中的類則全部/部分地混雜在一起。
參考資料:
[1] Kernel Embeddings of Conditional Distributions (IEEE 2013)
[2] Learning Transferable Features with Deep Adaptation Networks (ICML 2015)
[3] Generative Adversarial Networks
[4] Domain-Adversarial Training of Neural Networks (JMLR 2016)
[5] 為什么吳恩達(dá)認(rèn)為未來(lái)屬于遷移學(xué)習(xí)?
報(bào)告題目:Towards Faster Training of Global Covariance Pooling Networks by Iterative Matrix Square Root Normalization
報(bào)告人:李培華 - 大連理工大學(xué)
論文下載地址:
這是一個(gè)系列工作。
深層卷積神經(jīng)網(wǎng)絡(luò)在大規(guī)模物體分類以及計(jì)算機(jī)視覺(jué)的其他領(lǐng)域中獲得了很大的成功,這個(gè)網(wǎng)絡(luò)事實(shí)上可以看成是學(xué)習(xí)和表示的過(guò)程,即經(jīng)過(guò)層次化的卷積及 pooling 來(lái)學(xué)習(xí) local feature,最后會(huì)經(jīng)過(guò)一個(gè)全局平均池化(Global average pooling)得到一個(gè)圖像層面的表示,然后送給分類器進(jìn)行分類。
這里關(guān)注的重點(diǎn)正是全局平均池化。這層的工作最早是在 ICLR 2014(Min Lin et al.)上提出來(lái)的,現(xiàn)在已經(jīng)廣泛地應(yīng)用于主流的深層網(wǎng)絡(luò),例如 Inception、ResNet、DenseNet 等。但是這個(gè)全局平均池化的問(wèn)題在于,前面的網(wǎng)絡(luò)經(jīng)過(guò)不斷地學(xué)習(xí)得到一個(gè)表達(dá)能力很強(qiáng)的 feature,但是最后在表示這個(gè)圖像的時(shí)候卻做了一個(gè)全局的均值,從統(tǒng)計(jì)意義上來(lái)講,均值只是一個(gè)一階的信息。學(xué)習(xí)到的很強(qiáng)的 feature 在臨門一腳的時(shí)候,我們卻只取了一階的信息,這本身很奇怪:為什么我們不用表達(dá)能力更強(qiáng)的表示呢?
基于這樣的思考,李培華團(tuán)隊(duì)考慮用一個(gè)二階(甚至高階)的統(tǒng)計(jì)方法來(lái)替換一階的全局平均池化,并由此而做出一系列工作,分別發(fā)表在 CVPR 2016[1](數(shù)學(xué)理論的推導(dǎo)和驗(yàn)證)、ICCV 2017 [2](首次在大規(guī)模圖像識(shí)別中使用,性能優(yōu)異)和 CVPR 2018(迭代計(jì)算矩陣平方根,速率得到提升)上。
2、方法
基本的方法很簡(jiǎn)單,即將一階的均值換成二階的協(xié)方差。不過(guò)這里協(xié)方差有一個(gè)冪,經(jīng)驗(yàn)證該冪值取 0.5 時(shí)的性能最優(yōu),它解決了兩個(gè)問(wèn)題:解決了小樣本高維度難以統(tǒng)計(jì)的問(wèn)題;有效地利用了協(xié)方差矩陣(是一個(gè)李群)的幾何結(jié)構(gòu)。這方面的理論工作發(fā)表在 CVPR 2016 中。
使用二階協(xié)方差的平方根作為全局池化,其優(yōu)點(diǎn)在于能夠利用深度網(wǎng)絡(luò)學(xué)習(xí)后的各通道之間的相關(guān)信息。而以前的全局平均池化則只是算出了每個(gè)通道的均值,而忽略了通道之間的相關(guān)信息。在發(fā)表在 ICCV 2017 的這篇論文中,他們首次將全局協(xié)方差池化的方法應(yīng)用于大規(guī)模視覺(jué)識(shí)別任務(wù)當(dāng)中,在同樣的 50 層圣經(jīng)網(wǎng)絡(luò)模型下,使用全局協(xié)方差池化,識(shí)別率可以提高 2 個(gè)百分點(diǎn)。需要注意的是,在這篇文章中,他們求解協(xié)方差平方根的方法是將協(xié)方差進(jìn)行本征分解得到本征值,然后求本征值的平方根。
這就存在一個(gè)效率的問(wèn)題了。目前幾乎所有基于 GPU 的平臺(tái)對(duì)本征分解的支持都非常差,所以在效率方面非常糟糕。例如使用 Matlab,相比基于 CPU 的平臺(tái),基于 GPU 的平臺(tái)至少慢 5 倍以上。在這次被 CVPR 2018 收錄的這篇論文中,李培華團(tuán)隊(duì)所解決的正是這樣一個(gè)問(wèn)題,即如何提高效率。
思想方法是:在求協(xié)方差的平方根時(shí),不再使用本征分解,而是使用迭代法,稱為 iSQRT-COV。迭代法非常適合大規(guī)模的 GPU 實(shí)現(xiàn)。論文中使用的迭代方法結(jié)構(gòu)如下圖所示:
共有三層,分別為 pre-normalization、Newton-Schulz Iteration、Post-compensation。之所以出現(xiàn) pre-normalization,是因?yàn)榈旧聿⒉皇侨质諗浚ㄟ^(guò)協(xié)方差矩陣除以矩陣的跡可以保證其收斂性;但是除以跡后改變了協(xié)方差的大小,因此在迭代之后通過(guò) Post-compensation 再將跡的值給補(bǔ)償回來(lái)。這兩層非常關(guān)鍵,沒(méi)有這兩層迭代根本不會(huì)收斂。
其實(shí)驗(yàn)表明,這種迭代方法并不需要很多次迭代,5 次足以得到非常好的結(jié)果;3 次迭代時(shí)性能會(huì)有些許下降,但速度會(huì)得到提升。
3、實(shí)驗(yàn)
李培華團(tuán)隊(duì)在 ImageNet 上進(jìn)行了實(shí)驗(yàn):
可以看出,1)相比于 ICCV 2017 的工作,在內(nèi)存上消耗增加了,但速率卻得到了提升;2)與其他方法比較內(nèi)存消耗上基本相同,但速率卻提高了一個(gè)量級(jí)。
在 ResNet-50 的架構(gòu)下,iSQRT-COV 網(wǎng)絡(luò)在不到 50 次迭代下就能得到很好的結(jié)果,而其他方法則需要至少 60 次迭代;而性能上沒(méi)有損失,甚至還有少許提升。
他人也將該方法在小數(shù)據(jù)集上進(jìn)行了驗(yàn)證,結(jié)果顯示性能同樣會(huì)有很大的提升。
4、結(jié)論
在生成的卷積網(wǎng)絡(luò)里面,全局協(xié)方差池化是比全局平均池化更好的一個(gè)選擇。原因有三:1)性能更好,泛化能力更強(qiáng);2)在統(tǒng)計(jì)學(xué)和幾何學(xué)上有很好的理論解釋;3)收斂速度快,計(jì)算效率上比較高。
再次強(qiáng)調(diào),這是一個(gè)系列工作,除了全局協(xié)方差池化的工作外,李培華團(tuán)隊(duì)還做了全局高斯池化的工作 [3][4]。
參考資料:
[2] Is Second-order Information Helpful for Large-scale Visual Recognition?(ICCV 2017)
相關(guān)文章:
CVPR 2018 中國(guó)論文分享會(huì)之 「GAN 與合成」
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。
本專題其他文章