在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

知識蒸餾是一種模型壓縮常見方法

WpOh_rgznai100 ? 來源:lq ? 2019-07-27 07:08 ? 次閱讀

導讀:知識蒸餾是一種模型壓縮常見方法,模型壓縮指的是在teacher-student框架中,將復雜、學習能力強的網絡學到的特征表示“知識”蒸餾出來,傳遞給參數量小、學習能力弱的網絡。本文對17、18年知識蒸餾的最新進展進行簡評,作者把內容分成2到3部分,以下是第一部分。

蒸餾可以提供student在one-shot label上學不到的soft label信息,這些里面包含了類別間信息,以及student小網絡學不到而teacher網絡可以學到的特征表示‘知識’,所以一般可以提高student網絡的精度。

開山之作:Hinton發表在NIPS2014文章:[1503.02531] Distilling the Knowledge in a Neural Network(https://arxiv.org/abs/1503.02531)

一. Attention Transfer

Attention Transfer , 傳遞teacher網絡的attention信息給student網絡。首先,CNN的attention一般分為兩種,spatial-attention,channel-attention。本文利用的是spatial-attention.所謂spatial-attention即一種熱力圖,用來解碼出輸入圖像空間區域對輸出貢獻大小。文章提出了兩種可利用的spatial-attention,基于響應圖的和基于梯度圖的。

Activation-based

基于響應圖(特征圖),取出CNN某層輸出特征圖張量A,尺寸:(C, H, W).定義一個映射F:

將3D張量flat成2D.這個映射的形式有三種供選擇:

1. 特征圖張量各通道絕對值相加:

2. 特征圖張量各通道絕對值p次冪相加:

3. 取特征圖張量各通道絕對值p次冪最大值:

對以上這些映射對應的特征圖統計量可視化,可以發現,attention map不僅與輸入圖像中預測物體有low-level上的關聯,而且與預測準確度也有關系。不同映射可視化效果也有所差異。

attention transfer的目的是將teacher網絡某層的這種spatial attention map傳遞給student網絡,讓student網絡相應層的spatial attention map可以模仿teacher,從而達到知識蒸餾目的。teacher-student框架設計如下:

AT loss是teacher和student對應的attention map取L2 LOSS.文章也指出,p次冪取2為佳,所得attention map也要先歸一化??俵oss:

Gradient-based

求出loss對輸入x的梯度,如果輸入某像素出梯度很大,表明損失函數對該點敏感度高,Paying more attention。teacher-student loss 寫成;

反傳過程:

訓練過程:先計算teacher,student梯度attention map和兩者MSE,以及student的前傳loss,然后再反向傳播。文章還提出了一種加強flip不變性的方法,即對一個輸入圖片,求出損失對其梯度的attention map之后(即flip圖片所得梯度attention map),優化兩者MSE,減少損失:

二. FSP matrix

和之前知識蒸餾的文章不同之處在于之前文章往往是把teacher的某層的輸出作為student的mimic目標,這篇文章將teacger網絡層與層之間的關系作為student網絡mimic的目標。這篇文章介紹的這種知識蒸餾的方法類似風格遷移的gram矩陣。

文章提出的描述層與層之間關系的方法FSP matrix,是某層特征圖與另外一層特征圖之間的偏心協方差矩陣(即沒有減去均值的協方差矩陣)。如F1層特征圖配置(H,W,M)M為通道數。F2層特征圖配置(H,W,N)。得到一個M * N的矩陣G。G(i,j)為F1第i通道與F2第j通道的elemet-wise乘積之和:

文章中FSP矩陣的損失函數是L2loss,把網絡層數分成n個block,每個block計算一個FSP,要求teacher與student的對應FSP具有相同spatial size.teacher-student結構如圖:

損失函數如下:

我的對文章的感想是,文章有意思的地方在于“授之以魚不如授之以漁”。韓國人寫的文章,多少有些東方師道哲學影響。

三. DarkRank: Accelerating Deep Metric Learning via Cross Sample Similarities

這篇文章提出了一種適合度量學習(如檢索,Re-id,人臉識別,圖像聚類)的知識蒸餾方法。所傳遞的知識就是度量學習所度量的樣本間相似度,用learn to rank來傳遞知識。所以先說一些Related works。

Learn To Rank

L2R,有監督排序算法,廣泛應用于文本信息檢索領域。給定一個query,學習一個模型對一組樣本根據相似度排序。常用的排序學習分為三種類型:PointWise,PairWise和ListWise。PointWise將L2R看作一種回歸問題,對每個樣本打分,優化(如L2 loss)各樣本分數與query之間的相似度。PairWise將L2R轉化為二分類問題,針對一對樣本,如果這對樣本與query中排序一致則模型輸出1,否則輸出0。ListWise直接優化整組樣本,可以看作對所有候選排序的分類。如 https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2007-40.pdf

(PDF) Listwise approach to learning to rank - Theory and algorithm(https://www.researchgate.net/publication/221345286_Listwise_approach_to_learning_to_rank_-_Theory_and_algorithm)

本文就是基于listwise的方法。該方法根據candidates(排列候選項)與query之間相似度對每個candidate打分,并計算概率。

其中π為一組樣本索引的排序。xi為一個樣本。S(x) 是模型對樣本的打分。然后是熟悉的交叉熵:

也可以使用最大似然函數(MLE)

方法

以上是teacher-student框架。文章的實現teacher為Incepton-BN,student為NIN-BN。使用Imagenet的FC層之前的pretrain model,所得特征圖經過GAP(全局平均池化),后接FC層,這里加入large margin softmax loss,之后L2歸一化,所得特征向量稱為嵌入特征,輸入到排序學習模塊,然后將teacher樣本間相似度知識傳遞給student。

以上過程:

Pretrain-->GAP-->FC-->Large Margin Softmax Loss-->L2-->Verification Loss & Triplet Loss-->Score-->Cross Sample Similarities Transfer

其中,large margin softmax loss為了是類間距離增大而類內距離減小,度量學習,使得度量空間更好。直接施加在FC層的特征輸出。所得特征向量經過L2歸一化處理之后,加入verification loss & triplet loss,同樣是度量學習目的,獲得更好的嵌入特征,從而得到更好的cross sample similarities知識。

Score是一個歐式距離。取batch中一個樣本q作為query,其他樣本作為candidates,使用歐氏距離作為樣本相似度評分函數(文章實驗表明α=3,β=3效果最佳):

cross sample similarities transfer:文章在ListNet,ListMLE啟發下,提出soft/hard兩種傳遞損失函數:

其中P()按照Learn to Rank中介紹的相關方法計算。這個soft transfer是一個KL散度。

hard transfer是MLE.對比兩種transfer發現soft是要考慮所有排序,而hard只需要考慮gt一種,計算效率高,效果也不差,所以使用hard transfer。當然,最直接的cross sample similiritiestransfer方法是把score直接取L2 loss。后文也做了對照。

文章在Re-id上做了KD,direct similarities transfer,Hard/soft transfer的對比實驗。

對照發現,僅僅用soft transfer cross sample similarities 知識效果并沒有超過KD(T=4),但是結合KD之后提高了精度,說明這種方法傳遞了KD不包含的知識--cross sample similarities,一種排序,并不包含每個特征量級的大小,而且不要求傳遞雙方特征維度一致。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模型
    +關注

    關注

    1

    文章

    3342

    瀏覽量

    49270
  • 梯度
    +關注

    關注

    0

    文章

    30

    瀏覽量

    10355
  • cnn
    cnn
    +關注

    關注

    3

    文章

    353

    瀏覽量

    22354

原文標題:從Hinton開山之作開始,談知識蒸餾的最新進展

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    PCBA測試的常見方法

    以看出整個工藝流程存在的問題,比如前期工序SMT、DIP等,存在問題,就進行調整,讓整個工藝更加完善。PCBA測試常見方法,主要有以下幾種: 1.手工測試手工測試就是直接依靠視覺進行測試,通過視覺與比較來
    發表于 11-08 17:19

    求大佬分享一種針對高斯類波形使用Mu-law壓縮方法

    本文描述了一種針對高斯類波形使用Mu-law壓縮方法——例如CPRI接口中使用的基帶IQ數據。Mu-law壓縮在音頻應用中很常見,實現效率
    發表于 05-24 06:52

    光耦隔離的4常見方法對比

    光耦隔離的4常見方法對比
    發表于 05-31 11:06 ?13.2w次閱讀
    光耦隔離的4<b class='flag-5'>種</b><b class='flag-5'>常見方法</b>對比

    一種新穎的三維模型壓縮算法

    針對三維(3D)網格模型的存儲與網絡傳輸問題,提出一種新穎的三維模型壓縮算法。該算法基于對網格模型的切片處理,主要由以下三個步驟組成:切片頂
    發表于 12-25 16:26 ?3次下載
    <b class='flag-5'>一種</b>新穎的三維<b class='flag-5'>模型</b><b class='flag-5'>壓縮</b>算法

    微軟亞洲研究院的研究員們提出了一種模型壓縮的新思路

    近日,來自微軟亞洲研究院自然語言計算組的研究員們提出了一種與顯式地利用蒸餾損失函數來最小化教師模型與學生模型距離的知識
    的頭像 發表于 11-24 09:48 ?1699次閱讀

    深度學習:知識蒸餾的全過程

    。? 0. 寫在前面 有人說過:“神經網絡用剩的logits不要扔,沾上雞蛋液,裹上面包糠...” 這兩天對知識蒸餾(Knowledge Distillation)萌生了點興趣,正好寫
    的頭像 發表于 01-07 14:36 ?6217次閱讀

    若干蒸餾方法之間的細節以及差異

    以往的知識蒸餾雖然可以有效的壓縮模型尺寸,但很難將teacher模型的能力蒸餾
    的頭像 發表于 05-12 11:39 ?1526次閱讀

    關于快速知識蒸餾的視覺框架

    知識蒸餾框架包含了個預訓練好的 teacher 模型蒸餾過程權重固定),和個待學習的 st
    的頭像 發表于 08-31 10:13 ?944次閱讀

    如何度量知識蒸餾中不同數據增強方法的好壞?

    知識蒸餾(knowledge distillation,KD)是一種通用神經網絡訓練方法,它使用大的teacher模型來 “教” stude
    的頭像 發表于 02-25 15:41 ?993次閱讀

    如何將ChatGPT的能力蒸餾到另個大模型

    如何將ChatGPT的能力蒸餾到另個大模型,是當前許多大模型研發的研發范式。當前許多模型都是采用chatgpt來生成微調數據,如self
    的頭像 發表于 06-12 15:06 ?1347次閱讀
    如何將ChatGPT的能力<b class='flag-5'>蒸餾</b>到另<b class='flag-5'>一</b>個大<b class='flag-5'>模型</b>

    RS-485基礎知識:處理空閑總線條件的兩常見方法

    在本文中,我將介紹處理空閑總線條件的兩常見方法,以便保證總線上的邏輯狀態。
    的頭像 發表于 07-04 11:30 ?2837次閱讀
    RS-485基礎<b class='flag-5'>知識</b>:處理空閑總線條件的兩<b class='flag-5'>種</b><b class='flag-5'>常見方法</b>

    MCU批量生產下載程序的幾種常見方法

    MCU批量生產下載程序的幾種常見方法
    的頭像 發表于 10-24 17:22 ?1740次閱讀
    MCU批量生產下載程序的幾種<b class='flag-5'>常見方法</b>

    任意模型都能蒸餾!華為諾亞提出異構模型知識蒸餾方法

    相比于僅使用logits的蒸餾方法,同步使用模型中間層特征進行蒸餾方法通常能取得更好的性能。然而在異構
    的頭像 發表于 11-01 16:18 ?1290次閱讀
    任意<b class='flag-5'>模型</b>都能<b class='flag-5'>蒸餾</b>!華為諾亞提出異構<b class='flag-5'>模型</b>的<b class='flag-5'>知識</b><b class='flag-5'>蒸餾</b><b class='flag-5'>方法</b>

    運行Python程序的幾種常見方法

    Python是一種高級編程語言,具有簡單易學,易于閱讀和調試的特點。當你完成了個Python程序之后,你需要運行它以檢查程序是否按照預期工作。下面是運行Python程序的幾種常見方法
    的頭像 發表于 11-28 15:32 ?2637次閱讀

    大連理工提出基于Wasserstein距離(WD)的知識蒸餾方法

    的機制,應用于中間層蒸餾時存在問題,其無法處理不重疊的分布且無法感知底層流形的幾何結構。 為了解決這些問題,大連理工大學的研究人員提出了一種基于 Wasserstein 距離(WD)的知識蒸餾
    的頭像 發表于 01-21 09:45 ?135次閱讀
    主站蜘蛛池模板: 国产免费高清在线精品一区 | 欧美色图在线视频 | 中文字幕一区二区三区在线观看 | 2017天天干 | 四虎影院国产 | 午夜骚| 亚洲视频黄 | 午夜视频高清在线aaa | 欧美久久天天综合香蕉伊 | 一级aa 毛片高清免费看 | 国产 麻豆 欧美亚洲综合久久 | 色视频一区二区三区 | 午夜精品久视频在线观看 | 国产日韩欧美综合色视频在线 | 国产久热精品 | 国产精品欧美久久久久天天影视 | 中国xxxxx高清免费看视频 | 欧美三页 | 俄罗斯女人69xxx | 国产一区国产二区国产三区 | 在线观看精品国产入口 | 天天在线综合网 | 男女做性无遮挡免费视频 | 永久网站色视频在线观看免费 | 18黄无遮挡免费视频 | 天天鲁天天爽天天视频 | 黄色国产在线观看 | 毛片网站网址 | 婷婷中文网 | 五月天婷婷视频在线观看 | 国产精品久久久久影院免费 | 永久免费精品影视网站 | 亚洲福利片| 一级网站在线观看 | 日本.www| 加勒比一到三区 | 卡1卡2卡3精品推荐老狼 | 国产亚洲精品线观看77 | 国产精品久久久久久久免费大片 | www.男人的天堂 | 性夜影院爽黄e爽在线观看 羞羞色院91精品网站 |