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