1. 程式人生 > >[深度學習論文筆記][AAAI 18]Accelerated Training for Massive Classification via Dynamic Class Selection

[深度學習論文筆記][AAAI 18]Accelerated Training for Massive Classification via Dynamic Class Selection

[AAAI 18] Accelerated Training for Massive Classification via Dynamic Class Selection

Xingcheng Zhang, Lei Yang, Junjie Yan, Dahua Lin

from CUHK & SenseTime

Motivation

這篇文章研究當分類器分類個數非常大的時候,如何高效訓練分類器的問題。在網路的輸出層,Softmax分類器會對每一個類產生一個輸出。因此輸出層的引數量、佔用的空間和計算量是和分類個數呈正相關的。當在某些實際應用場景下,如人臉識別、自然語言處理等,其分類個數(如人的身份數量、單詞種類數)會非常大,以至於使網路的輸出層的引數多到無法儲存在顯示卡中,而且無法承受如此量級的計算。這篇文章針對這個問題提出一點觀察結果和一個解決該問題的方案。其分析和觀察的結果是:

  1. 對於一個輸入樣本,其輸出概率只集中在少量的類別中,可以稱這些類別為活躍類(active class);
  2. 在同一迭代過程中,回傳梯度主要受這些活躍類影響,其他類別的貢獻很小。

因此一個解決方案便是前向和反向過程中只計算和這些活躍類相關的東西。本文提出的解決方案便是如何動態搜尋得到這些活躍類到底是哪些。下面就詳細介紹這篇文章的分析和觀察的細節,以及解決方案的內容。

An Empirical Study of Softmax

作者通過實驗來驗證其關於Softmax概率分佈的分析結論。為此提出了兩個新的概念,

  1. top K累積概率:將輸出的概率向量裡最大的K個值相加(k=1,100,1000),其結果往往接近於1;
  2. 歸一化的top K梯度累積能量:雖然名字很拗口,但是其實質是輸出層所有梯度與top K類產生的梯度的餘弦相似度,用來衡量top K類產生的梯度佔所有梯度的比例。

作者在MS-Celeb-1M資料庫上訓練人臉識別網路,下圖為統計結果。可見活躍類確實在產生的概率(圖中(a))和回傳的梯度(圖中(b))上都佔主導作用。

這裡寫圖片描述

Selective Softmax

在上個圖中,即便K=1000,其top K類仍佔總類別數很小的比例(如MS-Celeb-1M中只佔1.5%)。因此在訓練過程中能針對不同的樣本找到對應的活躍類是降低計算和儲存代價的關鍵。

對一個輸入特徵x,輸出層的權重矩陣為W。尋找top K類即是找到W中和這些活躍類關聯的k個列向量。因為每個活躍類的概率由

wix得到,且最終的結果都很大,因此搜尋活躍類過程可以轉化為對W的列項量wi進行聚類。最終選取可以使wix結果最大的那一類。

Hashing Forest

為了快速實現聚類,作者使用了構建雜湊樹的方法,即不停將各個列向量二分類,構建兩個葉子節點。之後在葉子節點上遞迴二分類,繼續二分葉子節點,直至每個葉子節點的向量個數小於某個值。

每次對W的列向量二分類的操作如下:

  1. 隨機抽取兩個列向量wi,wj,求兩個向量的平均作為分類基準h=wi+wj2
  2. 將每個向量同該分類基準向量作點積wiTh,依據點積結果大於0與否將其放到左、右子節點中;
  3. 當待操作的葉子節點向量個數小於某個值的時候,停止操作。

因為構建每個雜湊樹存在隨機因素,實際使用中可以並行構建多個雜湊樹,組成森林以提高可靠性。

當給定輸入特徵x,查詢top K類對應的權重向量時,搜尋過程從雜湊樹的根節點開始。每次搜尋的時候,x都會和分類基準向量作點積,同樣根據結果大於0與否決定選擇左節點還是右節點。該過程直到搜尋抵達某個葉子節點位置。

Adaptive Allocation

在訓練過程中,所搜活躍類的過程中有三個變數需要進行控制:

  1. 每次搜尋活躍類的個數M;
  2. 構建雜湊樹的個數L;
  3. 重新構建雜湊森林的間隔迭代次數T。

其中M和L決定了搜尋活躍類的可靠性,T的存在是因為權重W在訓練過程中也在不停變化。三個變數的選取也決定了演算法的速度。作者認為隨著網路迭代,模型逐漸趨穩,因此當迭代次數增加時:

  1. M要滿足top M類的概率和大於一個門檻,該門檻線性增加;
  2. T線性減少;
  3. L線性增加。

對於一個訓練batch,其選取的活躍類是各個輸入選取得到的活躍類的整合。

Experiment

作者在幾個不同的大型人臉資料集上進行了訓練,來驗證本文提出方案的有效性。
同時也展示了幾個重要引數的敏感性。舉其中一例,作者在MS-Celeb-1M和Megaface合併的資料集上訓練ResNet-101模型進行人臉識別,總類別數達到了75萬。其對比結果如下圖所示,本文提出的方法較傳統訓練方法和隨機選取“偽”活躍類的方法相比都很大優勢:

這裡寫圖片描述

相關推薦

[深度學習論文筆記][AAAI 18]Accelerated Training for Massive Classification via Dynamic Class Selection

[AAAI 18] Accelerated Training for Massive Classification via Dynamic Class Selection Xingcheng Zhang, Lei Yang, Junjie Yan, Dahua

[深度學習論文筆記][CVPR 18]Path Aggregation Network for Instance Segmentation

[CVPR 18]Path Aggregation Network for Instance Segmentation Shu Liu, Lu Qi, Haifang Qin, Jianping Shi and Jiaya Jia from CUHK, P

深度學習論文筆記】Deep Neural Networks for Object Detection

       論文:<<Deep Neural Networks for Object Detection>>       作者:Christian Szegedy Al

深度學習論文筆記:Deep Residual Networks with Dynamically Weighted Wavelet Coefficients for Fault Diagnosis of Planetary Gearboxes

這篇文章將深度學習演算法應用於機械故障診斷,採用了“小波包分解+深度殘差網路(ResNet)”的思路,將機械振動訊號按照故障型別進行分類。 文章的核心創新點:複雜旋轉機械系統的振動訊號包含著很多不同頻率的衝擊和振盪成分,而且不同頻帶內的振動成分在故障診斷中的重要程度經常是不同的,因此可以按照如下步驟設計深度

[深度學習論文筆記][總結]Invariant gait feature extraction based on image transformation

近期有兩篇來自於同一第一作者單位的工作,使用基於神經網路的影象變換模型來處理不同視角、不同衣著或手持物的CEI特徵到統一的90°正常特徵(SPAE與GaitGAN)。在這裡加以簡單總結與對比。 [Neurocomputing 17] Invariant fea

[深度學習論文筆記][Image Classification] 影象分類部分論文導讀

[ImageNet] • Over 15M labeled high resolution images. • Roughly 22k categories.• Collected from web and labeled by Amazon Mechanical Turk

[深度學習論文筆記][Visualizing] 網路視覺化部分論文導讀

There are several ways to understanding and visualing CNN 1 Visualizing Activations Show the activations of the network during the forwar

[深度學習論文筆記] Convolutional Neuron Networks and its Applications

In artificial intelligence, there exists a Moravec’s Paradox, 1 “High-level reasoning requires very little computation, but low-level sen

[深度學習論文筆記][arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation

[arxiv 1804]ExFuse: Enhancing Feature Fusion for Semantic Segmentation Zhenli Zhang, Xiangyu Zhang, Chao Peng, Dazhi Cheng, Jian S

深度學習論文筆記(六)--- FCN-2015年(Fully Convolutional Networks for Semantic Segmentation)

深度學習論文筆記(六)--- FCN 全連線網路 FullyConvolutional Networks for Semantic Segmentation Author:J Long , E Shelhamer, T Darrell Year: 2015 1、  導

論文筆記:Residual Attention Network for Image Classification

前言 深度學習中的Attention,源自於人腦的注意力機制,當人的大腦接受到外部資訊,如視覺資訊、聽覺資訊時,往往不會對全部資訊進行處理和理解,而只會將注意力集中在部分顯著或者感興趣的資訊上,這樣有助於濾除不重要的資訊,而提升資訊處理的效率。最早將A

深度學習NLP論文筆記】《Adversarial Example For Natural Language Classification Problems》

一、介紹 圖一:三個在文字分類任務中使用對抗樣本的例子。分別是垃圾郵件分類、情感分析、虛假新聞檢測。全是依靠同義詞替換實現的。  二、背景 分類問題的目標是從輸入和標籤中學習一種對映。其中標籤可能來自K個類,如。 分類器f可能是個深度神經網路或者線性模型,它會為輸入x

[深度學習論文閱讀]Facenet論文閱讀筆記(包括GoogLenet引數計算方式)

1 統述 功能:face verification (is this the same person) recognition (who is this person) clustering (find common people among

深度學習論文閱讀筆記(三)之深度信念網路DBN

想要獲得更多深度學習在NLP方面應用的經典論文、實踐經驗和最新訊息,歡迎關注微信公眾號“DeepLearning_NLP” 或者掃描下方二維碼新增關注。 深度神經網路    12.《受限波爾茲曼機簡介》 (1)主要內容:主要介紹受限玻爾茲曼機(RBM)的基本模型、學習

【神經網絡和深度學習筆記 - 第二章 反向傳播算法

討論 固定 特征 array sed 並不會 思想 隨機梯度 相關 上一章中我們遺留了一個問題,就是在神經網絡的學習過程中,在更新參數的時候,如何去計算損失函數關於參數的梯度。這一章,我們將會學到一種快速的計算梯度的算法:反向傳播算法。 這一章相較於後面的章節涉及到的數學

吳恩達-深度學習-課程筆記-3: Python和向量化( Week 2 )

有時 指數 檢查 都是 效果 很快 -1 tro str 1 向量化( Vectorization ) 在邏輯回歸中,以計算z為例,z = w的轉置和x進行內積運算再加上b,你可以用for循環來實現。 但是在python中z可以調用numpy的方法,直接一句z = np.d

吳恩達-深度學習-課程筆記-6: 深度學習的實用層面( Week 1 )

data 絕對值 initial 均值化 http 梯度下降法 ati lod 表示 1 訓練/驗證/測試集( Train/Dev/test sets ) 構建神經網絡的時候有些參數需要選擇,比如層數,單元數,學習率,激活函數。這些參數可以通過在驗證集上的表現好壞來進行選擇

吳恩達-深度學習-課程筆記-8: 超參數調試、Batch正則化和softmax( Week 3 )

erp 搜索 給定 via 深度 mode any .com sim 1 調試處理( tuning process ) 如下圖所示,ng認為學習速率α是需要調試的最重要的超參數。 其次重要的是momentum算法的β參數(一般設為0.9),隱藏單元數和mini-batch的

《Andrew Ng深度學習筆記1

優化 時代 信息 自變量 明顯 如果 特殊 結果 數據表 深度學習概論 1.什麽是神經網絡? 2.用神經網絡來監督學習 3.為什麽神經網絡會火起來? 1.什麽是神經網絡? 深度學習指的是訓練神經網絡。通俗的話,就是通過對數據的分析與計算發現自變量與因變量的映射關系(神

《Andrew Ng深度學習筆記2

時有 求和 計算過程 正是 並行 .com fun 使用 向量 神經網絡基礎 1.圖計算 計算時有兩種方法:正向傳播和反向傳播。正向傳播是從底層到頂層的計算過程,逐步推出所求公式。反向傳播是從頂層到底層,從已知的式子求出因變量的影響關系。 在這裏用到的反向傳播算法就是為