色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

介紹網絡壓縮算法,知識蒸餾

YCqV_FPGA_EETre ? 來源:FPGA開發圈 ? 2019-11-29 11:30 ? 次閱讀

引言

學過化學的都知道蒸餾這個概念,就是利用不同組分的沸點不同,將不同組分從混合液中分離出來。知識蒸餾用于網絡壓縮,也具有類似的性質。具體的講,有一個大的神經網絡充當了“老師”的角色,她將書本上的知識先經過自己的轉化和吸收,然后再傳授給“學生”網絡。學生網絡模型相對較小,但是經過老師將知識提取教授,也可以實現大網絡的功能。

知識蒸餾的方法是大名鼎鼎的Hinton提出的,這種方法實現了大網絡向小網絡的知識遷移,使得應用場景可以擴展到移動端。接下來我們具體看看知識蒸餾的整個過程。

1

原理

表面上看,大網絡應該有更好的表達能力,或者說泛化能力。而小網絡節點數量和大網絡還有很大的差距,它如何能夠做到逼近大網絡的結果呢?首先,這與具體的應用場景范圍有關,在一定的場景下,小網絡可以接近大網絡的分類能力。這就好像對于某個更復雜的函數,當限定某個值域的時候,可以用一些簡單函數來逼近。其次,網絡分類器最終的結果是用概率來表示的,分類結果取決于概率最大的。因此最大概率是90%和最大概率是60%的最終分類結果是一樣的,這點就給了小網絡更靈活的表達方式。最后就是小網絡逼近大網絡的程度和大網絡的冗余程度有關,這類似于對大網絡實行剪枝的結果。

那么如何訓練一個小網絡呢?我們可以先考慮一下在數值分析中,用一個函數S(x)來逼近另外一個函數f(x),那么就可以通過最小化這兩個函數在每個點的平方和來實現。同理,訓練小的網絡也必須使用大網絡的輸入和輸出作為訓練集,而不能再使用訓練大網絡的訓練集了。原始訓練集的標注結果是絕對的(是和不是:1,0),而大網絡的輸出結果是一個概率向量,其包含了每一類的概率大小。這個結果不再僅僅只含有原始訓練集的信息,它還包含了大網絡的信息。比如在原始圖片中,一張貓的圖片結果只有一個,但是經過大網絡后,不僅僅有貓的結果,還有狗,房子,樹等每個類別的概率結果。其他類別的概率實際上告訴了我們不同類別之間存在的差異和共性,比如一張貓的圖片中是狗的概率可能就比是房子的概率大,因為貓和狗相對于貓和房子有更大的共性。

神經網絡通常使用softmax函數來生成分類概率,這個函數形式為:

其中T是溫度,通常設置為1。使用較高的T可以產生更加softer的概率分布。更softer的概率分布提高網絡的泛化能力,有利于小網絡的訓練。

寫到這里小編對softmax函數感到好奇,為什么神經網絡都采用softmax來進行概率計算呢?學過熱力學的會發現,這個softmax函數非常類似不同能級上粒子分布概率,位于能級E的粒子分布概率就是正比于:

而且溫度越高高能級粒子概率也越大,這與softmax函數也有同樣的結果。其實觀察他們的推導過程就會發現,它們之所以有相同的形式來自于它們都是多分類問題,而且概率模型都屬于廣義線性模型。Softmax函數正是在廣義線性函數的假設上推導出來的。現在我們給出其傳統推導,和基于熱力學統計的推導方法。

首先看什么是廣義線性模型,廣義線性模型是用于處理條件概率的一個基本模型,很多常見的分布模型(伯努利,高斯等)都屬于廣義線性模型。定義線性預測算子:

定義y基于x的條件概率分布,這個分布就是廣義線性模型:

分類問題就是求在給定輸入x的條件下,估計y值,即y屬于哪個類的問題。可以通過期望值來作為y的估計。容易得到這個期望值為:

因此一旦知道y的概率分布就知道了y的估計。這個估計就是回歸函數。現在我們來看softmax的傳統推導。

Y有多個可能的分類:

每種分類對應著概率:

定義:

其中有:

于是得到廣義分布:

其中有,

然后可以求出:

求得估計值:

這就是softmax函數。

現在我們從統計熱力學角度來推導softmax函數。

神經網絡的作用是對輸入進行特征提取,我們可以把這個提取過程表示為:

現在我們需要來理解E_i,這個應該是表示從屬于特征i的程度,我們可以選擇一定函數f(E_i)來作為評價屬于特征i的程度。現在我們假設特征1到k是可以涵蓋所有輸入的,即任何輸入都是由這些特征構成的,特征值反應了輸入屬于某個特征的量,那么所有這些特征的量之和應該是所有輸入量的和,那么我們可以有:

我們現在需要求y屬于這個特征的概率,即:

現在我們假設有N個數,這些數要分配不同的y值。這些數被分配是完全隨機的,但是受到每種y值的數量限制,對應E_i的數量為N_i。那么將這N個數分配給k個不同類的分配方式可以得到:

我們來最大化W,即求最大似然函數:

滿足約束條件:

我們利用拉格朗日對偶原理來求解極值:

我們可以得到類似玻爾茲曼分布的公式:

其中u就是溫度1/T。

現在回到正題,過于softer的代價函數可能會造成分類結果錯誤率低,為了平衡分類錯誤和小模型泛化能力,hinton提出使用兩個代價函數來進行訓練,一個是T值較大,另外一個是T值為1。通過調節這兩個代價函數的比例來獲得滿意的訓練結果。

2

實驗結果

Hinton的論文中分別在MINIST,語音識別上進行了實驗。我們僅僅看一下實驗結果,對知識蒸餾效果有個簡單印象。更深入的理解離不開實踐,只有真正去寫代碼去看結果,才能不會紙上談兵。

1) MINIST

大網絡含有2個隱含層,1200個激活單元,60000個訓練集圖片。作者通過剪枝來將大網絡減小到只有800個激活單元,將溫度增加到20,相比于沒有regularization會減小很大錯誤率。

2) 語音識別

這里作者使用多個小網絡集合來作為教師網絡,然后單個網絡作為學生網絡。每個網絡為8個隱含層,2560個激活單元,訓練集有14000個標注數據。結果如下:

其中WER為錯誤率。

總結

本文介紹了網絡壓縮算法,知識蒸餾。很多是小編個人理解,如有不同意見歡迎指正交流。更多可以參考hinton大神的知識蒸餾文獻。

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

    關注

    23

    文章

    4622

    瀏覽量

    93056
  • 函數
    +關注

    關注

    3

    文章

    4338

    瀏覽量

    62746
  • 網絡節點
    +關注

    關注

    0

    文章

    54

    瀏覽量

    15927

原文標題:【網絡壓縮三】知識蒸餾

文章出處:【微信號:FPGA-EETrend,微信公眾號:FPGA開發圈】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    EE-257:面向Blackfin處理器的引導壓縮/解壓縮算法

    電子發燒友網站提供《EE-257:面向Blackfin處理器的引導壓縮/解壓縮算法.pdf》資料免費下載
    發表于 01-07 13:56 ?0次下載
    EE-257:面向Blackfin處理器的引導<b class='flag-5'>壓縮</b>/解<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>

    ?ISP算法及架構分析介紹

    ),從結果上看就是將RAW數據轉換成壓縮后的RGB(一般)數據,供后續CPU使用(識別、壓縮等)。 市面上很少有直接介紹ISP的書籍或者資料,今天我們主要是聊一聊ISP算法的架構,這樣
    的頭像 發表于 11-26 10:05 ?511次閱讀
    ?ISP<b class='flag-5'>算法</b>及架構分析<b class='flag-5'>介紹</b>

    【「從算法到電路—數字芯片算法的電路實現」閱讀體驗】+一本介紹基礎硬件算法模塊實現的好書

    的。 第一章簡介了芯片研發流程,算法和電路設計,算法和芯片驗證的關系,算法工具等第二章介紹了基本的數字電路基礎,具備基本的計算機或者數字電路教育的這部分
    發表于 11-20 13:42

    【BearPi-Pico H3863星閃開發板體驗連載】LZO壓縮算法移植

    壓縮算法使用 一、概述 壓縮算法是一類用于減小數據大小的計算方法,它們在數據存儲和傳輸領域扮演著重要角色。壓縮
    發表于 11-10 21:45

    壓縮算法的類型和應用

    壓縮算法是一種通過減少數據量來節省存儲空間或傳輸數據的技術。壓縮算法可以分為兩種類型:有損壓縮和無損壓縮
    的頭像 發表于 10-21 13:50 ?293次閱讀

    Huffman壓縮算法概述和詳細流程

    Huffman壓縮算法是一種基于字符出現頻率的編碼算法,通過構建Huffman樹,將出現頻率高的字符用短編碼表示,出現頻率低的字符用長編碼表示,從而實現對數據的壓縮
    的頭像 發表于 10-21 13:48 ?296次閱讀

    使用qboot時選擇了壓縮率更高的zip算法,但是發現編譯報錯,為什么?

    在使用qboot時選擇了壓縮率更高的zip算法,但是發現編譯報錯,如下圖:
    發表于 09-26 07:22

    卷積神經網絡壓縮方法

    ,CNN模型的參數量和計算量也隨之劇增,這對硬件資源提出了嚴峻挑戰。因此,卷積神經網絡壓縮方法成為了研究熱點。本文將從多個角度詳細介紹卷積神經網絡
    的頭像 發表于 07-11 11:46 ?389次閱讀

    bp神經網絡算法的基本流程包括哪些

    BP神經網絡算法,即反向傳播神經網絡算法,是一種常用的多層前饋神經網絡訓練算法。它通過反向傳播誤
    的頭像 發表于 07-04 09:47 ?682次閱讀

    神經網絡反向傳播算法的優缺點有哪些

    神經網絡反向傳播算法(Backpropagation Algorithm)是一種廣泛應用于深度學習和機器學習領域的優化算法,用于訓練多層前饋神經網絡。本文將
    的頭像 發表于 07-03 11:24 ?1086次閱讀

    BP神經網絡算法的基本流程包括

    、自然語言處理等。本文將詳細介紹BP神經網絡算法的基本流程,包括網絡結構、激活函數、前向傳播、反向傳播、權重更新和訓練過程等。 網絡結構 B
    的頭像 發表于 07-03 09:52 ?534次閱讀

    神經網絡反向傳播算法原理是什么

    介紹反向傳播算法的原理、數學基礎、實現步驟和應用場景。 神經網絡簡介 神經網絡是一種受人腦啟發的計算模型,由大量的神經元(或稱為節點)組成。每個神經元接收輸入信號,通過激活函數處理信號
    的頭像 發表于 07-02 14:16 ?679次閱讀

    逆變器電池用蒸餾水理由,金屬觸點完全浸沒

    如果不使用正確的水,逆變器電池將損壞且無法使用。因此,保持其加滿正確的水非常重要。在本文中,我們將介紹逆變器電池中使用的水、為什么它很重要以及“給電池澆水”的頻率。逆變器電池使用蒸餾水您應始終在
    的頭像 發表于 06-07 11:52 ?325次閱讀
    逆變器電池用<b class='flag-5'>蒸餾</b>水理由,金屬觸點完全浸沒

    FPGA壓縮算法有哪些

    在圖像壓縮算法中可以采用哈夫曼編碼的方式對編碼冗余的信息進行壓縮,可以采用預測的方式來減少像素間冗余,可以采用量化的方式完成心理視覺冗余信息的去除
    的頭像 發表于 04-15 11:48 ?673次閱讀
    FPGA<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>有哪些

    基于門控線性網絡(GLN)的高壓縮比無損醫學圖像壓縮算法

    實現基于門控線性網絡(GLN)的高壓縮比無損醫學圖像壓縮算法,以提高醫學圖像存儲和分發系統的效率。與“傳統”的基于上下文的數據壓縮
    的頭像 發表于 04-08 10:29 ?683次閱讀
    基于門控線性<b class='flag-5'>網絡</b>(GLN)的高<b class='flag-5'>壓縮</b>比無損醫學圖像<b class='flag-5'>壓縮</b><b class='flag-5'>算法</b>
    主站蜘蛛池模板: 混乱家庭电影完整版在线看| 男女全黄h全肉细节文| 人妻激情综合久久久久蜜桃| 99久久久久亚洲AV无码| 日本不卡一二三| 国产精品视频免费视频| 亚洲精品午睡沙发系列| 久久久国产精品免费A片蜜芽广| 2017必看无码作品| 日本十八禁无遮拦啪啪漫画| 国产v综合v亚洲欧美大片| 亚洲高清有码中文字| 日日噜噜噜噜夜夜爽亚洲精品| 国产亚洲精品久久孕妇呦呦你懂| 在线电台收听| 人妻少妇69式99偷拍| 好爽胸大好深好多水| bbwvideoa欧美老妇| 无码国产伦一区二区三区视频| 久久99亚洲AV无码四区碰碰| www伊人网| 亚洲色欲色欲WWW在线成人网| 男同志在线观看| 国产精品大全国产精品| 91热久久免费精品99| 无码丰满人妻熟妇区| 老太婆性BBWBBW| 国产精品久久久久久无码专区| 中文字幕天堂久久精品| 上课失禁丨vk| 久青草国产97香蕉在线视频| 东北真实仑乱| 一品道门免费高清视频| 日韩亚洲欧美中文在线| 快播萝莉影院| 国产亚洲精品AV麻豆狂野| 9久久99久久久精品齐齐综合色圆| 亚洲AV成人无码网天堂| 人妻体体内射精一区二区| 久久这里只精品国产99re66| 国产乱码免费卡1卡二卡3卡四卡|