一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

知識(shí)蒸餾是一種模型壓縮常見(jiàn)方法

WpOh_rgznai100 ? 來(lái)源:lq ? 2019-07-27 07:08 ? 次閱讀

導(dǎo)讀:知識(shí)蒸餾是一種模型壓縮常見(jiàn)方法,模型壓縮指的是在teacher-student框架中,將復(fù)雜、學(xué)習(xí)能力強(qiáng)的網(wǎng)絡(luò)學(xué)到的特征表示“知識(shí)”蒸餾出來(lái),傳遞給參數(shù)量小、學(xué)習(xí)能力弱的網(wǎng)絡(luò)。本文對(duì)17、18年知識(shí)蒸餾的最新進(jìn)展進(jìn)行簡(jiǎn)評(píng),作者把內(nèi)容分成2到3部分,以下是第一部分。

蒸餾可以提供student在one-shot label上學(xué)不到的soft label信息,這些里面包含了類(lèi)別間信息,以及student小網(wǎng)絡(luò)學(xué)不到而teacher網(wǎng)絡(luò)可以學(xué)到的特征表示‘知識(shí)’,所以一般可以提高student網(wǎng)絡(luò)的精度。

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

一. Attention Transfer

Attention Transfer , 傳遞teacher網(wǎng)絡(luò)的attention信息給student網(wǎng)絡(luò)。首先,CNN的attention一般分為兩種,spatial-attention,channel-attention。本文利用的是spatial-attention.所謂spatial-attention即一種熱力圖,用來(lái)解碼出輸入圖像空間區(qū)域?qū)敵鲐暙I(xiàn)大小。文章提出了兩種可利用的spatial-attention,基于響應(yīng)圖的和基于梯度圖的。

Activation-based

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

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

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

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

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

對(duì)以上這些映射對(duì)應(yīng)的特征圖統(tǒng)計(jì)量可視化,可以發(fā)現(xiàn),attention map不僅與輸入圖像中預(yù)測(cè)物體有l(wèi)ow-level上的關(guān)聯(lián),而且與預(yù)測(cè)準(zhǔn)確度也有關(guān)系。不同映射可視化效果也有所差異。

attention transfer的目的是將teacher網(wǎng)絡(luò)某層的這種spatial attention map傳遞給student網(wǎng)絡(luò),讓student網(wǎng)絡(luò)相應(yīng)層的spatial attention map可以模仿teacher,從而達(dá)到知識(shí)蒸餾目的。teacher-student框架設(shè)計(jì)如下:

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

Gradient-based

求出loss對(duì)輸入x的梯度,如果輸入某像素出梯度很大,表明損失函數(shù)對(duì)該點(diǎn)敏感度高,Paying more attention。teacher-student loss 寫(xiě)成;

反傳過(guò)程:

訓(xùn)練過(guò)程:先計(jì)算teacher,student梯度attention map和兩者M(jìn)SE,以及student的前傳loss,然后再反向傳播。文章還提出了一種加強(qiáng)flip不變性的方法,即對(duì)一個(gè)輸入圖片,求出損失對(duì)其梯度的attention map之后(即flip圖片所得梯度attention map),優(yōu)化兩者M(jìn)SE,減少損失:

二. FSP matrix

和之前知識(shí)蒸餾的文章不同之處在于之前文章往往是把teacher的某層的輸出作為student的mimic目標(biāo),這篇文章將teacger網(wǎng)絡(luò)層與層之間的關(guān)系作為student網(wǎng)絡(luò)mimic的目標(biāo)。這篇文章介紹的這種知識(shí)蒸餾的方法類(lèi)似風(fēng)格遷移的gram矩陣。

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

文章中FSP矩陣的損失函數(shù)是L2loss,把網(wǎng)絡(luò)層數(shù)分成n個(gè)block,每個(gè)block計(jì)算一個(gè)FSP,要求teacher與student的對(duì)應(yīng)FSP具有相同spatial size.teacher-student結(jié)構(gòu)如圖:

損失函數(shù)如下:

我的對(duì)文章的感想是,文章有意思的地方在于“授之以魚(yú)不如授之以漁”。韓國(guó)人寫(xiě)的文章,多少有些東方師道哲學(xué)影響。

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

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

Learn To Rank

L2R,有監(jiān)督排序算法,廣泛應(yīng)用于文本信息檢索領(lǐng)域。給定一個(gè)query,學(xué)習(xí)一個(gè)模型對(duì)一組樣本根據(jù)相似度排序。常用的排序?qū)W習(xí)分為三種類(lèi)型:PointWise,PairWise和ListWise。PointWise將L2R看作一種回歸問(wèn)題,對(duì)每個(gè)樣本打分,優(yōu)化(如L2 loss)各樣本分?jǐn)?shù)與query之間的相似度。PairWise將L2R轉(zhuǎn)化為二分類(lèi)問(wèn)題,針對(duì)一對(duì)樣本,如果這對(duì)樣本與query中排序一致則模型輸出1,否則輸出0。ListWise直接優(yōu)化整組樣本,可以看作對(duì)所有候選排序的分類(lèi)。如 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的方法。該方法根據(jù)candidates(排列候選項(xiàng))與query之間相似度對(duì)每個(gè)candidate打分,并計(jì)算概率。

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

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

方法

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

以上過(guò)程:

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

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

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

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

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

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

文章在Re-id上做了KD,direct similarities transfer,Hard/soft transfer的對(duì)比實(shí)驗(yàn)。

對(duì)照發(fā)現(xiàn),僅僅用soft transfer cross sample similarities 知識(shí)效果并沒(méi)有超過(guò)KD(T=4),但是結(jié)合KD之后提高了精度,說(shuō)明這種方法傳遞了KD不包含的知識(shí)--cross sample similarities,一種排序,并不包含每個(gè)特征量級(jí)的大小,而且不要求傳遞雙方特征維度一致。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 模型
    +關(guān)注

    關(guān)注

    1

    文章

    3464

    瀏覽量

    49832
  • 梯度
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    10440
  • cnn
    cnn
    +關(guān)注

    關(guān)注

    3

    文章

    354

    瀏覽量

    22582

原文標(biāo)題:從Hinton開(kāi)山之作開(kāi)始,談知識(shí)蒸餾的最新進(jìn)展

文章出處:【微信號(hào):rgznai100,微信公眾號(hào):rgznai100】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    PCBA測(cè)試的常見(jiàn)方法

    以看出整個(gè)工藝流程存在的問(wèn)題,比如前期工序SMT、DIP等,存在問(wèn)題,就進(jìn)行調(diào)整,讓整個(gè)工藝更加完善。PCBA測(cè)試常見(jiàn)方法,主要有以下幾種: 1.手工測(cè)試手工測(cè)試就是直接依靠視覺(jué)進(jìn)行測(cè)試,通過(guò)視覺(jué)與比較來(lái)
    發(fā)表于 11-08 17:19

    求大佬分享一種針對(duì)高斯類(lèi)波形使用Mu-law壓縮方法

    本文描述了一種針對(duì)高斯類(lèi)波形使用Mu-law壓縮方法——例如CPRI接口中使用的基帶IQ數(shù)據(jù)。Mu-law壓縮在音頻應(yīng)用中很常見(jiàn),實(shí)現(xiàn)效率
    發(fā)表于 05-24 06:52

    光耦隔離的4常見(jiàn)方法對(duì)比

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

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

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

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

    近日,來(lái)自微軟亞洲研究院自然語(yǔ)言計(jì)算組的研究員們提出了一種與顯式地利用蒸餾損失函數(shù)來(lái)最小化教師模型與學(xué)生模型距離的知識(shí)
    的頭像 發(fā)表于 11-24 09:48 ?1801次閱讀

    深度學(xué)習(xí):知識(shí)蒸餾的全過(guò)程

    。? 0. 寫(xiě)在前面 有人說(shuō)過(guò):“神經(jīng)網(wǎng)絡(luò)用剩的logits不要扔,沾上雞蛋液,裹上面包糠...” 這兩天對(duì)知識(shí)蒸餾(Knowledge Distillation)萌生了點(diǎn)興趣,正好寫(xiě)
    的頭像 發(fā)表于 01-07 14:36 ?6368次閱讀

    若干蒸餾方法之間的細(xì)節(jié)以及差異

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

    關(guān)于快速知識(shí)蒸餾的視覺(jué)框架

    知識(shí)蒸餾框架包含了個(gè)預(yù)訓(xùn)練好的 teacher 模型蒸餾過(guò)程權(quán)重固定),和個(gè)待學(xué)習(xí)的 st
    的頭像 發(fā)表于 08-31 10:13 ?1048次閱讀

    如何度量知識(shí)蒸餾中不同數(shù)據(jù)增強(qiáng)方法的好壞?

    知識(shí)蒸餾(knowledge distillation,KD)是一種通用神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法,它使用大的teacher模型來(lái) “教” stude
    的頭像 發(fā)表于 02-25 15:41 ?1146次閱讀

    如何將ChatGPT的能力蒸餾到另個(gè)大模型

    如何將ChatGPT的能力蒸餾到另個(gè)大模型,是當(dāng)前許多大模型研發(fā)的研發(fā)范式。當(dāng)前許多模型都是采用chatgpt來(lái)生成微調(diào)數(shù)據(jù),如self
    的頭像 發(fā)表于 06-12 15:06 ?1736次閱讀
    如何將ChatGPT的能力<b class='flag-5'>蒸餾</b>到另<b class='flag-5'>一</b>個(gè)大<b class='flag-5'>模型</b>

    RS-485基礎(chǔ)知識(shí):處理空閑總線條件的兩常見(jiàn)方法

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

    MCU批量生產(chǎn)下載程序的幾種常見(jiàn)方法

    MCU批量生產(chǎn)下載程序的幾種常見(jiàn)方法
    的頭像 發(fā)表于 10-24 17:22 ?2054次閱讀
    MCU批量生產(chǎn)下載程序的幾種<b class='flag-5'>常見(jiàn)方法</b>

    任意模型都能蒸餾!華為諾亞提出異構(gòu)模型知識(shí)蒸餾方法

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

    運(yùn)行Python程序的幾種常見(jiàn)方法

    Python是一種高級(jí)編程語(yǔ)言,具有簡(jiǎn)單易學(xué),易于閱讀和調(diào)試的特點(diǎn)。當(dāng)你完成了個(gè)Python程序之后,你需要運(yùn)行它以檢查程序是否按照預(yù)期工作。下面是運(yùn)行Python程序的幾種常見(jiàn)方法
    的頭像 發(fā)表于 11-28 15:32 ?2986次閱讀

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

    的機(jī)制,應(yīng)用于中間層蒸餾時(shí)存在問(wèn)題,其無(wú)法處理不重疊的分布且無(wú)法感知底層流形的幾何結(jié)構(gòu)。 為了解決這些問(wèn)題,大連理工大學(xué)的研究人員提出了一種基于 Wasserstein 距離(WD)的知識(shí)蒸餾
    的頭像 發(fā)表于 01-21 09:45 ?453次閱讀