那曲檬骨新材料有限公司

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

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

3天內不再提示

關于Pre-trained模型加速模型學習的建議

深度學習自然語言處理 ? 來源:深度學習自然語言處理 ? 作者:深度學習自然語言 ? 2020-11-03 18:08 ? 次閱讀

首先,為什么要調整模型?

像卷積神經網絡( CNN )這樣的深度學習模型具有大量的參數;一般稱之為超參數,因為它們不是固定值,需要迭代優化。通常可以通過網格搜索的方法來查找這些超參數的最佳值,但需要大量硬件和時間開銷。那么,一個真正的數據科學家是否滿足于只是猜測這些超參數呢?答案當然是否定的。

改進模型的最佳方法之一是,基于專業團隊的設計和體系結構上來進行改進,但這些專業的知識往往需要對某一領域具有深入的了解,且通常需要有強大的硬件支持。一般這些專業的團隊都喜歡把他們的訓練好的模型(pre-trained model)開源出來,無償提供給別人使用?;谶@些pre-trained model來做研究和應用,可以省去大量的時間和資源。

深度學習技巧

這里分享幾種方法,如何基于預訓練好的模型來降低深度學習模型訓練時間,提升模型的準確性:

1、選擇最適用于做pre-trained模型的網絡結構:了解遷移學習(transfer learning)的優點,或者一些強大的CNN網絡結構。主要考慮,有些領域之間看起來不明顯,但領域之間卻共享一些具有潛在特性(share potential latent features)。

2、使用較小的學習率:由于預先訓練的權重(weights)通常比隨機初始化的權重更好,因此調整需要更精細!如何選擇主要取決于training landscape和學習的進展情況,但需要仔細檢查每個epoch的training errors,分析如何能讓模型達到收斂。

3、使用Dropout:就像Ridge和LASSO正則化技術對于回歸模型一樣,對于所有模型都存在需要優化的參數alpha或Dropout。這是一個超參數,取決于需要解決的具體問題,只能通過不停實驗的方法得到。先對超參數做比較大的調整(gridsearch時選擇一個比較大的變化范圍),比如NP. logspace(),然后像上面的一樣減小學習速率。循環上述過程直到找到最優值。

4、限制權重大?。嚎梢韵拗颇承拥臋嘀氐淖畲蠓稊?絕對值),可以提升模型泛化的能力。

5、不要改變第一層網絡的權值:神經網絡的第一個隱含層傾向于捕捉通用和可解釋(universal and interpretable)的特征,如形狀、曲線或交叉(shapes、curves and interactions),這些特征通常與跨域(domains)相關。應該經常把這些特征放到一邊,把重點放在進一步優化meta latent level在水平上。這可能意味需要添加隱藏層!

6、修改輸出層:把模型參數替換成適用于要解決新領域的新的激活函數和輸出大小。但是,不要把自己局限于最明顯的解決方案中。比如,盡管MNIST只需要10個輸出類,但這些數字有共同的變化,允許有12 - 16個類可能會更好地解決這些問題,并提高模型性能!

Keras中的技巧

如何在Keras MNIST中修改Dropout和限制權重的大?。?/p>

Dropout最佳實踐

1、使用20–50 %的,比較小的Dropout,建議20 %的輸入(Inputs)。值取得太小,不起作用;值取得太大,不好收斂。

2、在輸入層和隱藏層上使用Dropout。這一方法已被證明可以提高深入學習的效果。

3、使用較大的(帶衰減率)學習速率(learning rate with decay),以及較大的動量(momentum)。

4、限制模型的權重!大的學習速率容易導致梯度爆炸。通過對網絡權值施加約束(如最大范數正則化(max-norm regularization),其大小為5 )可以改善結果。

5、使用更大的網絡。在較大的網絡上使用Dropout,可能會獲得更好的性能,從而使模型有更多的機會學習獨立表示(Independent representations)。

給一個例子,如何在Keras中修改MNIST模型最后一層,輸出14個類別:

如何在網絡的最初五層中固定網絡的權值(Freeze weights):

此外,可以將該層的學習速率設置為零,或者使用參數的自適應學習算法,如Adadelta或Adam。這有點復雜,在Caffe等其他平臺上可以更好地實現。

預訓練模型庫

Keras
Kaggle List https://www.kaggle.com/gaborfodor/keras-pretrained-models
Keras Application:https://keras.io/applications/
OpenCV Example:https://www.learnopencv.com/keras-tutorial-fine-tuning-using-pre-trained-models/


TensorFlow
VGG16:https://github.com/ry/tensorflow-vgg16
Inception V3:https://github.com/tensorflow/models/blob/master/inception

ResNet:https://github.com/ry/tensorflow-resnet


Torch
LoadCaie:https://github.com/szagoruyko/loadcaffe


Caffe
Model Zoo:https://github.com/BVLC/caffe/wiki/Model-Zoo

TensorBoard的Graph的可視化

了解模型的整體結構通常很重要。下面給出一個例子,如何直接使用Python可視化訓練的模型:

http://nbviewer.jupyter.org/github/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/deepdream/deepdream.ipynb

責任編輯:xj

原文標題:基于Pre-trained模型加速模型學習的6點建議

文章出處:【微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

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

    關注

    1

    文章

    3305

    瀏覽量

    49221
  • 深度學習
    +關注

    關注

    73

    文章

    5513

    瀏覽量

    121551
  • cnn
    cnn
    +關注

    關注

    3

    文章

    353

    瀏覽量

    22335

原文標題:基于Pre-trained模型加速模型學習的6點建議

文章出處:【微信號:zenRRan,微信公眾號:深度學習自然語言處理】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【「基于大模型的RAG應用開發與優化」閱讀體驗】+大模型微調技術解讀

    同時優化多個相關任務的損失函數來提升模型的泛化能力。學習率調整策略:合理的學習率調整可以加速模型收斂,提高最終的性能。常用的
    發表于 01-14 16:51

    擴散模型的理論基礎

    擴散模型的迅速崛起是過去幾年機器學習領域最大的發展之一。在這本簡單易懂的指南中,學習你需要知道的關于擴散模型的一切。
    的頭像 發表于 10-28 09:30 ?694次閱讀
    擴散<b class='flag-5'>模型</b>的理論基礎

    FPGA加速深度學習模型的案例

    FPGA(現場可編程門陣列)加速深度學習模型是當前硬件加速領域的一個熱門研究方向。以下是一些FPGA加速深度
    的頭像 發表于 10-25 09:22 ?354次閱讀

    AI大模型與深度學習的關系

    AI大模型與深度學習之間存在著密不可分的關系,它們互為促進,相輔相成。以下是對兩者關系的介紹: 一、深度學習是AI大模型的基礎 技術支撐 :深度學習
    的頭像 發表于 10-23 15:25 ?1265次閱讀

    【《大語言模型應用指南》閱讀體驗】+ 基礎知識學習

    今天來學習大語言模型在自然語言理解方面的原理以及問答回復實現。 主要是基于深度學習和自然語言處理技術。 大語言模型涉及以下幾個過程: 數據收集:大語言
    發表于 08-02 11:03

    LLM大模型推理加速的關鍵技術

    LLM(大型語言模型)大模型推理加速是當前人工智能領域的一個研究熱點,旨在提高模型在處理復雜任務時的效率和響應速度。以下是對LLM大模型推理
    的頭像 發表于 07-24 11:38 ?1013次閱讀

    深度學習模型量化方法

    深度學習模型量化是一種重要的模型輕量化技術,旨在通過減少網絡參數的比特寬度來減小模型大小和加速推理過程,同時盡量保持
    的頭像 發表于 07-15 11:01 ?558次閱讀
    深度<b class='flag-5'>學習</b><b class='flag-5'>模型</b>量化方法

    llm模型和chatGPT的區別

    ,有許多不同的LLM模型,如BERT、GPT、T5等。 ChatGPT是一種基于GPT(Generative Pre-trained Transformer)模型的聊天機器人。GPT模型
    的頭像 發表于 07-09 09:55 ?1324次閱讀

    深度學習中的模型權重

    在深度學習這一充滿無限可能性的領域中,模型權重(Weights)作為其核心組成部分,扮演著至關重要的角色。它們不僅是模型學習的基石,更是模型
    的頭像 發表于 07-04 11:49 ?1961次閱讀

    預訓練模型的基本原理和應用

    預訓練模型Pre-trained Model)是深度學習和機器學習領域中的一個重要概念,尤其是在自然語言處理(NLP)和計算機視覺(CV)等領域中得到了廣泛應用。預訓練
    的頭像 發表于 07-03 18:20 ?3141次閱讀

    深度學習模型訓練過程詳解

    深度學習模型訓練是一個復雜且關鍵的過程,它涉及大量的數據、計算資源和精心設計的算法。訓練一個深度學習模型,本質上是通過優化算法調整模型參數,
    的頭像 發表于 07-01 16:13 ?1503次閱讀

    深度學習模型優化與調試方法

    深度學習模型在訓練過程中,往往會遇到各種問題和挑戰,如過擬合、欠擬合、梯度消失或爆炸等。因此,對深度學習模型進行優化與調試是確保其性能優越的關鍵步驟。本文將從數據預處理、
    的頭像 發表于 07-01 11:41 ?1002次閱讀

    中控流程工業首款AI時序大模型TPT發布

    點燃AI引擎,打造工業應用新范式? 杭州2024年6月7日?/美通社/ --?6月5日,由中控技術傾力打造的流程工業首款AI時序大模型TPT(Time-series Pre-trained
    的頭像 發表于 06-07 14:23 ?559次閱讀
    中控流程工業首款AI時序大<b class='flag-5'>模型</b>TPT發布

    【大語言模型:原理與工程實踐】大語言模型的應用

    。 關于大語言模型是否具備與人類“系統2”相似的能力,存在廣泛的爭議。然而,隨著模型參數量的增加和大規模預訓練的實施,大語言模型展現出了與人類相似的推理能力。與人類不同的是,大語言
    發表于 05-07 17:21

    【大語言模型:原理與工程實踐】揭開大語言模型的面紗

    大語言模型(LLM)是人工智能領域的尖端技術,憑借龐大的參數量和卓越的語言理解能力贏得了廣泛關注。它基于深度學習,利用神經網絡框架來理解和生成自然語言文本。這些模型通過訓練海量的文本數據集,如
    發表于 05-04 23:55
    百家乐官网游戏机博彩正网| 洛川县| 镇远县| 百家乐平六亿财富| 百家乐官网连闲几率| 百家乐自动投注| 大发888游戏代充省钱技巧| 百家乐官网庄闲路| 威尼斯人娱乐棋牌| 金彩百家乐官网的玩法技巧和规则 | 大发888ber娱乐场下载| 线上百家乐官网网站| 大发888娱乐城注册| 洛克百家乐官网的玩法技巧和规则| 六合彩管家婆| 百家乐有真假宝单吗| 7人百家乐官网桌子| 大发888登陆器下载| 做生意门面朝向风水| 百家乐官网15人桌子| 德州扑克打法| 视频百家乐是真是假| 狮威百家乐官网娱乐| 木里| 百家乐追号| 金宝博百家乐游戏| 百家乐官网博乐城| 盖州市| 星际娱乐城| 大发888官网下载| 大家旺百家乐娱乐城| 百家乐官网游戏大小| 百家乐官网视频麻将| 真钱娱乐场游戏| 百家乐不锈钢| 真人百家乐娱乐场开户注册| 真钱百家乐游戏大全| 百家乐官网平台注册 | 红树林百家乐的玩法技巧和规则 | 棋牌真钱游戏| E利博娱乐城|