<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          知識蒸餾,中文文本分類,教師模型BERT,學生模型biLSTM

          共 2845字,需瀏覽 6分鐘

           ·

          2022-01-14 13:42


          向AI轉型的程序員都關注了這個號??????

          機器學習AI算法工程?? 公眾號:datayx


          雖然說做文本不像圖像對gpu依賴這么高,但是當需要訓練一個大模型或者拿這個模型做預測的時候,也是耗費相當多資源的,尤其是BERT出來以后,不管做什么用BERT效果都能提高,萬物皆可BERT。


            然而想要在線上部署應用,大公司倒還可以燒錢玩,畢竟有錢任性,小公司可玩不起,成本可能都遠大于效益。這時候,模型壓縮的重要性就體現(xiàn)出來了,如果一個小模型能夠替代大模型,而這個小模型的效果又和大模型差不多,何樂而不為。


          在講知識蒸餾時一定會提到的Geoffrey Hinton開山之作Distilling the Knowledge in a Neural Network當然也是在圖像中開的山,下面簡單做一個介紹。


            知識蒸餾使用的是Teacher—Student模型,其中teacher是“知識”的輸出者,student是“知識”的接受者。知識蒸餾的過程分為2個階段:


          1.原始模型訓練: 訓練"Teacher模型", 它的特點是模型相對復雜,可以由多個分別訓練的模型集成而成。


          2.精簡模型訓練: 訓練"Student模型", 它是參數(shù)量較小、模型結構相對簡單的單模型。


          模型結構




          借用YJango大佬的圖,這里我簡單解釋一下我們怎么構建這個模型


          1.訓練大模型

            首先我們先對大模型進行訓練,得到訓練參數(shù)保存,這一步在上圖中并未體現(xiàn),上圖最左部分是使用第一步訓練大模型得到的參數(shù)。


          2. 計算大模型輸出

            訓練完大模型之后,我們將計算soft target,不直接計算output的softmax,這一步進行了一個divided by T蒸餾操作。(注:這時候的輸入數(shù)據(jù)可以與訓練大模型時的輸入不一致,但需要保證與訓練小模型時的輸入一致)


          3. 訓練小模型

            小模型的訓練包含兩部分。

            -soft target loss

            -h(huán)ard target loss

            通過調節(jié)λ的大小來調整兩部分損失函數(shù)的權重。


          4. 小模型預測

            預測就沒什么不同了,按常規(guī)方式進行預測。


          代碼 獲取方式:

          關注微信公眾號 datayx ?然后回復?知識蒸餾?即可獲取。



          模型實現(xiàn)

          模型基本上是對論文Distilling Task-Specific Knowledge from BERT into Simple Neural Networks的復現(xiàn),下面介紹部分代碼實現(xiàn)


          代碼結構

          Teacher模型:BERT模型


          Student模型:一層的biLSTM


          LOSS函數(shù):交叉熵 、MSE LOSS


          知識函數(shù):用最后一層的softmax前的logits作為知識表示


          學生模型輸入

            Student模型的輸入句向量由句中每一個詞向量求和取平均得到,詞向量為預訓練好的300維中文向量,訓練數(shù)據(jù)集為Wikipedia_zh中文維基百科。




          學生模型結構

            學生模型為單層biLSTM,再接一層全連接。




          教師模型結構

            教師模型為BERT,并對最后四層進行微調,后面也接了一層全連接。


          損失函數(shù)

            損失函數(shù)為學生輸出s_logits和教師輸出t_logits的MSE損失與學生輸出與真實標簽的交叉熵。


          模型效果

          Teacher

          Running time: 116.05915258956909 s


          Student

          Running time: 0.155623197555542 s


          可以看出student模型與teacher模型相比精度有一定的丟失,這也可以理解,畢竟student模型結構簡單。而在運行時間上大模型是小模型的746倍(cpu)。


          TNEWS測試效果

          在數(shù)據(jù)集中選了5類并做了下采樣。(此部分具體說明后續(xù)完善)

          Student alone


          Teacher


          Student


          機器學習算法AI大數(shù)據(jù)技術

          ?搜索公眾號添加:?datanlp

          長按圖片,識別二維碼




          閱讀過本文的人還看了以下文章:


          TensorFlow 2.0深度學習案例實戰(zhàn)


          基于40萬表格數(shù)據(jù)集TableBank,用MaskRCNN做表格檢測


          《基于深度學習的自然語言處理》中/英PDF


          Deep Learning 中文版初版-周志華團隊


          【全套視頻課】最全的目標檢測算法系列講解,通俗易懂!


          《美團機器學習實踐》_美團算法團隊.pdf


          《深度學習入門:基于Python的理論與實現(xiàn)》高清中文PDF+源碼


          《深度學習:基于Keras的Python實踐》PDF和代碼


          特征提取與圖像處理(第二版).pdf


          python就業(yè)班學習視頻,從入門到實戰(zhàn)項目


          2019最新《PyTorch自然語言處理》英、中文版PDF+源碼


          《21個項目玩轉深度學習:基于TensorFlow的實踐詳解》完整版PDF+附書代碼


          《深度學習之pytorch》pdf+附書源碼


          PyTorch深度學習快速實戰(zhàn)入門《pytorch-handbook》


          【下載】豆瓣評分8.1,《機器學習實戰(zhàn):基于Scikit-Learn和TensorFlow》


          《Python數(shù)據(jù)分析與挖掘實戰(zhàn)》PDF+完整源碼


          汽車行業(yè)完整知識圖譜項目實戰(zhàn)視頻(全23課)


          李沐大神開源《動手學深度學習》,加州伯克利深度學習(2019春)教材


          筆記、代碼清晰易懂!李航《統(tǒng)計學習方法》最新資源全套!


          《神經(jīng)網(wǎng)絡與深度學習》最新2018版中英PDF+源碼


          將機器學習模型部署為REST API


          FashionAI服裝屬性標簽圖像識別Top1-5方案分享


          重要開源!CNN-RNN-CTC 實現(xiàn)手寫漢字識別


          yolo3 檢測出圖像中的不規(guī)則漢字


          同樣是機器學習算法工程師,你的面試為什么過不了?


          前海征信大數(shù)據(jù)算法:風險概率預測


          【Keras】完整實現(xiàn)‘交通標志’分類、‘票據(jù)’分類兩個項目,讓你掌握深度學習圖像分類


          VGG16遷移學習,實現(xiàn)醫(yī)學圖像識別分類工程項目


          特征工程(一)


          特征工程(二) :文本數(shù)據(jù)的展開、過濾和分塊


          特征工程(三):特征縮放,從詞袋到 TF-IDF


          特征工程(四): 類別特征


          特征工程(五): PCA 降維


          特征工程(六): 非線性特征提取和模型堆疊


          特征工程(七):圖像特征提取和深度學習


          如何利用全新的決策樹集成級聯(lián)結構gcForest做特征工程并打分?


          Machine Learning Yearning 中文翻譯稿


          螞蟻金服2018秋招-算法工程師(共四面)通過


          全球AI挑戰(zhàn)-場景分類的比賽源碼(多模型融合)


          斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


          python+flask搭建CNN在線識別手寫中文網(wǎng)站


          中科院Kaggle全球文本匹配競賽華人第1名團隊-深度學習與特征工程



          不斷更新資源

          深度學習、機器學習、數(shù)據(jù)分析、python

          ?搜索公眾號添加:?datayx??

          瀏覽 150
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  北条麻妃一区二区三区 | 午夜伊人大香蕉 | 老司机久久一区二区三区 | 亚洲一区欧美国产日韩 云播 | 久久手机黄片 |