1
本文作者: 李尊 | 2016-08-29 18:41 |
聯(lián)合編譯:Blake、高斐
雷鋒網(wǎng)注:何凱明博士,2007年清華大學(xué)畢業(yè)之后開始在微軟亞洲研究院(MSRA)實(shí)習(xí),2011年香港中文大學(xué)博士畢業(yè)后正式加入MSRA,目前在Facebook AI Research (FAIR)實(shí)驗(yàn)室擔(dān)任研究科學(xué)家。曾以第一作者身份拿過兩次CVPR最佳論文獎(jiǎng)(2009和2016)——其中2016年CVPR最佳論文為圖像識(shí)別中的深度殘差學(xué)習(xí)(Deep Residual Learning for Image Recognition),本文為何凱明博士在ICML2016上的tutorial演講以及相關(guān)PPT整理。相比學(xué)術(shù)論文,他在演講PPT中深入淺出地描述了深度殘差學(xué)習(xí)框架,大幅降低了訓(xùn)練更深層次神經(jīng)網(wǎng)絡(luò)的難度,也使準(zhǔn)確率得到顯著提升。
ICML 2016 tutorial
何凱明——Facebook AI Research(8月加入)
介紹
背景
從淺到深
深度殘差網(wǎng)絡(luò)
從10層到100層
從100層到1000層
應(yīng)用
Q & A
“用于圖像識(shí)別的深度殘差學(xué)習(xí)” CVPR2016
一個(gè)能夠用來訓(xùn)練“非常深”的深度網(wǎng)絡(luò)又十分簡潔的框架
在以下幾個(gè)領(lǐng)域中都能實(shí)現(xiàn)當(dāng)下最好的表現(xiàn)
圖像分類
對象檢測
語義分割
等等
在五個(gè)主要任務(wù)軌跡中都獲得了第一名的成績
ImageNet分類任務(wù):“超級(jí)深”的152層網(wǎng)絡(luò)
ImageNet檢測任務(wù):超過第二名16%
ImageNet定位任務(wù):超過第二名27%
COCO檢測任務(wù):超過第二名11%
COCO分割任務(wù):超過第二名12%
在ILSVRC2010年左右還主要是淺層網(wǎng)絡(luò),大部分需要手動(dòng)調(diào)教特征。在ILSVRC2012年時(shí),出現(xiàn)了8層的網(wǎng)絡(luò)——AlexNet,降低了10%的錯(cuò)誤率。而后ILSVRC2014出現(xiàn)的VGG和GoogleNet是相當(dāng)成功的,它們分別將層級(jí)提到了19層、22層,錯(cuò)誤率也降低到了7.3、6.7。到去年的ILSVRC2015,我們的ResNet將層級(jí)提到了152層,將錯(cuò)誤率降到了3.57。
AlexNet, 8層 (ILSVRC 2012)
AlexNet, 8層 (ILSVRC 2012)
VGG, 19層 (ILSVRC 2014)
GoogleNet, 22層 (ILSVRC 2014)
AlexNet, 8層 (ILSVRC 2012)
VGG, 19層 (ILSVRC 2014)
ResNet, 152 層 (ILSVRC 2015)
PASCAL VOC 2007——中間層數(shù)代表視覺識(shí)別的層數(shù)
HOG, DPM——淺層——34%的對象檢測率
AlexNet (RCNN)——8層——58%的對象檢測率
VGG (RCNN)——16層——66%的對象檢測率
ResNet (Faster RCNN)——101層——86%的對象檢測率
許多第三方實(shí)現(xiàn)工具
Facebook AI Research’s Torch ResNet
Torch, CIFAR-10,使用 ResNet-20到 ResNet-110, 訓(xùn)練代碼等
Lasagne, CIFAR-10, 使用 ResNet-32 和 ResNet-56 以及訓(xùn)練代碼等
Neon, CIFAR-10, 使用預(yù)訓(xùn)練的 ResNet-32到 ResNet-110 模型、代碼等
Torch, MNIST, 100層
Neon, Place2 (mini), 40層
容易重現(xiàn)結(jié)果
一系列的擴(kuò)展和后續(xù)工作
6個(gè)月內(nèi)超過200詞引用(在2015年12月發(fā)布在arXiv上后)
初始化算法
批歸一化算法
學(xué)習(xí)更好的網(wǎng)絡(luò)是否與堆疊層數(shù)一樣簡單?
“平原”網(wǎng)絡(luò):堆疊3x3卷積網(wǎng)絡(luò)……
與第20層網(wǎng)絡(luò)相比,第56層網(wǎng)絡(luò)存在更高的訓(xùn)練誤差與測試誤差。
層數(shù)過深的平原網(wǎng)絡(luò)具有更高的訓(xùn)練誤差
這是一個(gè)在許多數(shù)據(jù)集中都能夠觀察到的普遍現(xiàn)象
網(wǎng)絡(luò)層數(shù)較淺的模型(18層)
網(wǎng)絡(luò)層數(shù)較深的模型(34層)
較高分辨率空間
一個(gè)較深的網(wǎng)絡(luò)模型不應(yīng)當(dāng)具有較高的訓(xùn)練誤差
通過構(gòu)建形成的分辨率:
原始層:由一個(gè)已經(jīng)學(xué)會(huì)的較淺模型復(fù)制得來
附加層:設(shè)置為“恒等”
至少具有相同的訓(xùn)練誤差
優(yōu)化難題:隨著網(wǎng)絡(luò)層數(shù)不斷加深,求解器不能找到解決途徑
平原網(wǎng)絡(luò)
H(x)是任意一種理想的映射
希望第2類權(quán)重層能夠與H(x)擬合
H(x)是任意一種理想的映射
希望第2類權(quán)重層能夠與F(x)擬合
使H(x) = F(x) + x
F(x)是一個(gè)殘差映射w.r.t 恒等
如果說恒等是理想,很容易將權(quán)重值設(shè)定為0
如果理想化映射更接近于恒等映射,便更容易發(fā)現(xiàn)微小波動(dòng)
VLAD & 費(fèi)舍爾向量(Fisher Vector) [Jegou et al 2010], [Perronnin et al 2007]
編碼殘差向量;強(qiáng)大的較淺表示法。
產(chǎn)品量化(IVF-ADC) [Jegou et al 2011]
量化殘差向量;高效最近鄰搜索。
多柵 & 分層的先決前提 [Briggs, et al 2000], [Szeliski 1990, 2006]
解決殘差次要問題;高效PDE求解器。
保持網(wǎng)絡(luò)的簡約性
我們的基本設(shè)計(jì)方案(VGG-style)
所有的3x3卷積層(幾乎所有)
空間規(guī)模/2=>#過濾器x2 (~每一層的復(fù)雜度相同)
簡約的設(shè)計(jì)風(fēng)格;保持設(shè)計(jì)風(fēng)格的簡約性
其他評論:
無隱層fc
無信息流失
所有的平原/殘差網(wǎng)絡(luò)都是從頭開始訓(xùn)練的。
所有的平原/殘差網(wǎng)絡(luò)都運(yùn)用組歸一化(Batch Normalization)
標(biāo)準(zhǔn)化的超參數(shù)&增強(qiáng)
深度殘差網(wǎng)絡(luò)(ResNets)能夠在沒有任何難題的情況下得到訓(xùn)練
深度殘差網(wǎng)絡(luò)(ResNets)具有較低的訓(xùn)練誤差和測試誤差
深度殘差網(wǎng)絡(luò)(ResNets)能夠在沒有任何難題的情況下得到訓(xùn)練。
深度殘差網(wǎng)絡(luò)(ResNets)具有較低的訓(xùn)練誤差和測試誤差。
一個(gè)逐層深入的實(shí)際可行的設(shè)計(jì)方案
較深的ResNets具有較低的誤差
與VGG-16/19相比,該模型具有較低的時(shí)間復(fù)雜度。
圖像網(wǎng)絡(luò)分類誤差排行前5的網(wǎng)絡(luò)模型
表征能力
如果能夠找到最佳表征方法,將具備構(gòu)建模型的能力,以擬合訓(xùn)練數(shù)據(jù)。
如果模型A的分辨率空間是B的父集,模型A的分辨率更高。
優(yōu)化能力
找到最佳表征方法的可行性
并不是所有的模型都能非常容易地得到優(yōu)化
歸納能力
倘若訓(xùn)練數(shù)據(jù)是擬合的,測試的性能如何?
表征能力
殘差網(wǎng)絡(luò)在模型表征方面不存在直接的優(yōu)勢(只是實(shí)現(xiàn)重復(fù)參數(shù)化)
但是,殘差網(wǎng)絡(luò)允許逐層深入地表征所有的模型
優(yōu)化能力
殘差網(wǎng)絡(luò)使得前饋式/反向傳播算法非常順利進(jìn)行
在極大程度上,殘差網(wǎng)絡(luò)使得優(yōu)化較深層模型更為簡單
歸納能力
殘差網(wǎng)絡(luò)未直接處理學(xué)習(xí)深度模型過程中存在的歸納問題
但是,更深+更薄是一種好的歸納手段
另外,對于殘差網(wǎng)絡(luò)的詳細(xì)介紹可見何凱明博士在2016年CVPR中的最佳論文——圖像識(shí)別的圖像識(shí)別中的深度殘差學(xué)習(xí)(Deep Residual Learning for Image Recognition):
在論文中介紹了一個(gè)深層次的殘差學(xué)習(xí)框架來解決精準(zhǔn)度下降問題。我們明確地讓這些層適合殘差映射,而不是寄希望于每一個(gè)堆疊層直接適合一個(gè)所需的底層映射。形式上,把H(x)作為所需的基本映射,讓堆疊的非線性層適合另一個(gè)映射F(x):=H(x)-x。那么原映射便轉(zhuǎn)化成:F(x)+x。我們假設(shè)優(yōu)化剩余的映射,比優(yōu)化原來未引用的映射更容易。如果身份映射是最佳的,那么將剩余的映射推為零,就比用一堆非線性層來適應(yīng)身份映射更容易。
公式F(x)+x可以通過“快捷連接”前饋神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)??旖葸B接是那些跳過中的一層或更多層。在我們的情景中,快捷連接簡單的執(zhí)行身份映射,并將它們的輸出添加到疊加層的輸出。身份快捷連接添加既不產(chǎn)生額外的參數(shù),也會(huì)增加不計(jì)算的復(fù)雜度。通過反向傳播的SGD,整個(gè)網(wǎng)絡(luò)仍然可以被訓(xùn)練成終端到端的形式,并且可以在沒有修改器的情況下很容易的使用公共資料庫(例如Caffe)。
我們在ImageNet上進(jìn)行了綜合性實(shí)驗(yàn)展示精準(zhǔn)度下降問題,并對我們的方法做出評估。我們發(fā)現(xiàn):
(1)特別深的殘差網(wǎng)絡(luò)很容易優(yōu)化,但當(dāng)深度增加時(shí)對應(yīng)的“平面”網(wǎng)(即簡單的堆棧層)表現(xiàn)出更高的訓(xùn)練誤差。
(2)深度殘差網(wǎng)絡(luò)能夠在大大增加深度的同時(shí)獲得高精準(zhǔn)度, 產(chǎn)生的結(jié)果本質(zhì)上優(yōu)于以前的網(wǎng)絡(luò)。
相似的現(xiàn)象同樣出現(xiàn)在了CIFAR-10集中,這表明了優(yōu)化的難度,以及我們方法影響的不僅僅是類似于一個(gè)特定的數(shù)據(jù)集。我們在這個(gè)超過100層數(shù)據(jù)集中提出了成功的訓(xùn)練模型,并探討了超過1000層的模型。
在ImageNet分層數(shù)據(jù)集中,通過極深的殘差網(wǎng)絡(luò),我們得到了非常好的結(jié)果。152層的殘差網(wǎng)絡(luò)在ImageNet中是最深層的網(wǎng)絡(luò),同時(shí)相比于VGG網(wǎng)絡(luò)仍然具有較低的復(fù)雜性。我們的集成在ImageNet測試集中有3.57%排前5的誤差,并且在2015ILSVRC分類競爭中取得第一名。這種極深的陳述在其它識(shí)別任務(wù)方面也有出色的泛化性能,并帶領(lǐng)我們進(jìn)一步贏得了第一的位置:在ILSVRC和COCO2015競賽中的,mageNet檢測,ImageNet定位,COCO檢測,和COCO分割方面。這有力的證據(jù)表明,剩余的學(xué)習(xí)的原則是通用的,我們期望它適用于其它的視覺和非視覺問題。
PS : 本文由雷鋒網(wǎng)獨(dú)家編譯,未經(jīng)許可拒絕轉(zhuǎn)載!
via Kaiming He
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。