国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

AI大佬列舉了33條技巧和注意事項

jmiy_worldofai ? 來源:ZF ? 2019-04-28 15:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

同學,現在有一份33條神經網絡訓練秘笈,擺在你面前。

AI大佬Andrej Karpathy (簡稱AK) ,剛剛發布了一篇長長長長博客,苦口婆心地列舉了33條技巧和注意事項,全面避免大家踩坑,推特已有2,300多贊。

AK在斯坦福讀博的時候,是飛飛實驗室的成員,畢業去了OpenAI,然后又成了特斯拉的AI負責人,直到如今。

他的博客雖然一年一更,但一字一句皆是皆是多年心血凝結而成,每次更新必有重大回響。

有生之年,我們把內文翻譯如下:

訓練模型的“處方”

總的來說,Andrej Karpathy的技巧就是:不要心急 (文章結尾會道出原因) ,從簡單到復雜逐步完善你的神經網絡。

1、先別著急寫代碼

訓練神經網絡前,別管代碼,先從預處理數據集開始。我們先花幾個小時的時間,了解數據的分布并找出其中的規律。

Andrej有一次在整理數據時發現了重復的樣本,還有一次發現了圖像和標簽中的錯誤。所以先看一眼數據能避免我們走很多彎路。

由于神經網絡實際上是數據集的壓縮版本,因此您將能夠查看網絡(錯誤)預測并了解它們的來源。如果你的網絡給你的預測看起來與你在數據中看到的內容不一致,那么就會有所收獲。

一旦從數據中發現規律,可以編寫一些代碼對他們進行搜索、過濾、排序。把數據可視化能幫助我們發現異常值,而異常值總能揭示數據的質量或預處理中的一些錯誤。

2、設置端到端的訓練評估框架

處理完數據集,接下來就能開始訓練模型了嗎?并不能!下一步是建立一個完整的訓練+評估框架。

在這個階段,我們選擇一個簡單又不至于搞砸的模型,比如線性分類器、CNN,可視化損失。獲得準確度等衡量模型的標準,用模型進行預測。

這個階段的技巧有:

· 修復隨機種子

使用固定的隨機種子,來保證運行代碼兩次都獲得相同的結果,消除差異因素。

· 簡單化

在此階段不要有任何幻想,不要擴增數據。擴增數據后面會用到,但是在這里不要使用,現在引入只會導致錯誤。

· 在評估中添加有效數字

在繪制測試集損失時,對整個測試集進行評估,不要只繪制批次測試損失圖像,然后用Tensorboard對它們進行平滑處理。

· 在初始階段驗證損失函數

驗證函數是否從正確的損失值開始。例如,如果正確初始化最后一層,則應在softmax初始化時測量-log(1/n_classes)。

· 初始化

正確初始化最后一層的權重。如果回歸一些平均值為50的值,則將最終偏差初始化為50。如果有一個比例為1:10的不平衡數據集,請設置對數的偏差,使網絡預測概率在初始化時為0.1。正確設置這些可以加速模型的收斂。

· 人類基線

監控除人為可解釋和可檢查的損失之外的指標。盡可能評估人的準確性并與之進行比較?;蛘邔y試數據進行兩次注釋,并且對于每個示例,將一個注釋視為預測,將第二個注釋視為事實。

· 設置一個獨立于輸入的基線

最簡單的方法是將所有輸入設置為零,看看模型是否學會從輸入中提取任何信息。

· 過擬合一個batch

增加了模型的容量并驗證我們可以達到的最低損失。

· 驗證減少訓練損失

嘗試稍微增加數據容量。

· 在訓練模型前進行數據可視化

將原始張量的數據和標簽可視化,可以節省了調試次數,并揭示了數據預處理和數據擴增中的問題。

· 可視化預測動態

在訓練過程中對固定測試批次上的模型預測進行可視化。

· 使用反向傳播來獲得依賴關系:

一個方法是將第i個樣本的損失設置為1.0,運行反向傳播一直到輸入,并確保僅在第i個樣本上有非零的梯度。

· 概括一個特例:對正在做的事情編寫一個非常具體的函數,讓它運行,然后在以后過程中確保能得到相同的結果。

3、過擬合

首先我們得有一個足夠大的模型,它可以過擬合,減少訓練集上的損失,然后適當地調整它,放棄一些訓練集損失,改善在驗證集上的損失)。

這一階段的技巧有:

· 挑選模型

為了獲得較好的訓練損失,我們需要為數據選擇合適的架構。不要總想著一步到位。如果要做圖像分類,只需復制粘貼ResNet-50,我們可以在稍后的過程中做一些自定義的事。

· Adam方法是安全的

在設定基線的早期階段,使用學習率為3e-4的Adam 。根據經驗,亞當對超參數更加寬容,包括不良的學習率。

· 一次只復雜化一個

如果多個信號輸入分類器,建議逐個輸入,然后增加復雜性,確保預期的性能逐步提升,而不要一股腦兒全放進去。比如,嘗試先插入較小的圖像,然后再將它們放大。

· 不要相信學習率衰減默認值

如果不小心,代碼可能會過早地將學習率減少到零,導致模型無法收斂。我們完全禁用學習率衰減避免這種狀況的發生。

4、正則化

理想的話,我們現在有一個大模型,在訓練集上擬合好了。

現在,該正則化了。舍棄一點訓練集上的準確率,可以換取驗證集上的準確率。

這里有一些技巧:

· 獲取更多數據

至今大家最偏愛的正則化方法,就是添加一些真實訓練數據。

不要在一個小數據集花太大功夫,試圖搞出大事情來。有精力去多收集點數據,這是唯一一個確保性能單調提升的方法。

· 數據擴增

把數據集做大,除了繼續收集數據之外,就是擴增了。旋轉,翻轉,拉伸,做擴增的時候可以野性一點。

· 有創意的擴增

還有什么辦法擴增數據集?比如域隨機化 (Domain Randomization) ,模擬 (Simulation) ,巧妙的混合 (Hybrids) ,比如把數據插進場景里去。甚至可以用上GAN。

· 預訓練

當然,就算你手握充足的數據,直接用預訓練模型也沒壞處。

· 跟監督學習死磕

不要對無監督預訓練太過興奮了。至少在視覺領域,無監督到現在也沒有非常強大的成果。雖然,NLP領域有了BERT,有了會講故事的GPT-2,但我們看到的效果很大程度上還是經過了人工挑選。

· 輸入低維一點

把那些可能包含虛假信號的特征去掉,因為這些東西很可能造成過擬合,尤其是數據集不大的時候。

同理,如果低層細節不是那么重要的話,就輸入小一點的圖片,捕捉高層信息就好了。

· 模型小一點

許多情況下,都可以給網絡加上領域知識限制 (Domain Knowledge Constraints) ,來把模型變小。

比如,以前很流行在ImageNet的骨架上放全連接層,但現在這種操作已經被平均池化取代了,大大減少了參數。

·減小批尺寸

對批量歸一化 (Batch Normalization) 這項操作來說,小批量可能帶來更好的正則化效果 (Regularization) 。

· Dropout

給卷積網絡用dropout2d。不過使用需謹慎,因為這種操作似乎跟批量歸一化不太合得來。

· 權重衰減

增加權重衰減 (Weight Decay) 的懲罰力度。

· 早停法

不用一直一直訓練,可以觀察驗證集的損失,在快要過擬合的時候,及時喊停。

· 也試試大點的模型

注意,這條緊接上條 (且僅接上條) 。

我發現,大模型很容易過擬合,幾乎是必然,但早停的話,模型可以表現很好。

最后的最后,如果想要更加確信,自己訓練出的網絡,是個不錯的分類器,就把第一層的權重可視化一下,看看邊緣 (Edges) 美不美。

如果第一層的過濾器看起來像噪音,就需要再搞一搞了。同理,激活 (Activations) 有時候也會看出瑕疵來,那樣就要研究一下哪里出了問題。

5、調參

讀到這里,你的AI應該已經開始探索廣闊天地了。這里,有幾件事需要注意。

· 隨機網格搜索

在同時調整多個超參數的情況下,網格搜索聽起來是很誘人,可以把各種設定都包含進來。

但是要記住,隨機搜索才是最好的。

直覺上說,這是因為網絡通常對其中一些參數比較敏感,對其他參數不那么敏感。

如果參數a是有用的,參數b起不了什么作用,就應該對a取樣更徹底一些,不要只在幾個固定點上多次取樣。

· 超參數優化

世界上,有許多許多靚麗的貝葉斯超參數優化工具箱,很多小伙伴也給了這些工具好評。

但我個人的經驗是,State-of-the-Art都是用實習生做出來的 (誤) 。

6、還能怎么壓榨**

當你已經找到了好用的架構和好用的超參數,還是有一些技巧,可以在幫你現有模型上獲得更好的結果,榨干最后一絲潛能:

· 模型合體

把幾個模型結合在一起,至少可以保證提升2%的準確度,不管是什么任務。

如果,你買不起太多的算力,就用蒸餾 (Distill) 把模型們集合成一個神經網絡。

· 放那讓它訓練吧

通常,人類一看到損失趨于平穩,就停止訓練了。

但我感覺,還是訓練得昏天黑地,不知道多久了,比較好。

有一次,我意外把一個模型留在那訓練了一整個寒假。

我回來的時候,它就成了State-of-the-Art。

One More Thing

無獨有偶,前兩天有只“陣亡的程序猿”說:

AWS的錢,不是花在你用了多少,而是花在你忘了關電腦。

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

    關注

    42

    文章

    4838

    瀏覽量

    107756

原文標題:半天2k贊火爆推特!李飛飛高徒發布33條神經網絡訓練秘技

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    請問CW32F030的硬件注意事項有哪些?

    CW32F030的硬件注意事項有哪些
    發表于 12-25 08:20

    請問IAP功能升級流程中有哪些注意事項?

    IAP 功能升級流程中有哪些注意事項?
    發表于 12-23 07:55

    迅為RK3588開發板Android系統燒寫及注意事項

    迅為RK3588開發板Android系統燒寫及注意事項
    的頭像 發表于 12-03 15:17 ?7164次閱讀
    迅為RK3588開發板Android系統燒寫及<b class='flag-5'>注意事項</b>

    驅動板PCB布線的注意事項

    PCB Layout 注意事項 1)布局注意事項: ●● 整體布局遵循功率回路與小信號控制回路分開布局原則,功率部分和控制部分的 GND 分開回流到輸入 GND。 ●● 芯片的放置方向優先考慮驅動
    發表于 12-02 07:40

    CW32F030在使用中的注意事項有哪些?

    CW32F030在使用中的注意事項有哪些?
    發表于 11-18 06:20

    emWin AppWizard 開發注意事項有哪些?

    emWin AppWizard 開發注意事項
    發表于 09-04 06:18

    CS SD NAND 在AI領域的應用和注意事項

    。今天跟大家聊聊這個,以及在實際應用有哪些注意事項。 1,為什么會選擇CS SD NAND? 首先是容量適中,覆蓋多種需求,傳統 NOR Flash 容量較小,而 eMMC 容量又偏大且成本較高
    的頭像 發表于 08-15 17:56 ?772次閱讀

    別讓這些細節毀了PCBA!焊接注意事項清單

    一站式PCBA加工廠家今天為大家講講PCBA加工中電子元器件焊接注意事項有哪些?PCBA加工中電子元器件焊接注意事項。 電子元器件焊接關鍵注意事項 在PCBA加工中,焊接工藝直接影響電路板的可靠性
    的頭像 發表于 07-23 09:26 ?1200次閱讀

    美國Odyssey奧德賽電池充電注意事項全解析

    Odyssey奧德賽電池充電注意事項全解析 奧德賽電池作為高性能的深循環鉛酸電池,廣泛應用于汽車啟動、摩托車、船舶以及備用電源系統中。正確的充電方法不僅能夠延長電池壽命,還能保障其性能穩定發揮
    的頭像 發表于 05-19 16:31 ?1088次閱讀
    美國Odyssey奧德賽電池充電<b class='flag-5'>注意事項</b>全解析

    IGBT器件的防靜電注意事項

    IGBT作為功率半導體器件,對靜電極為敏感。我將從其靜電敏感性原理入手,詳細闡述使用過程中防靜電的具體注意事項與防護措施,確保其安全穩定運行。
    的頭像 發表于 05-15 14:55 ?1815次閱讀

    手機喇叭氣密性檢測儀的注意事項

    使用手機喇叭氣密性檢測儀的注意事項包括以下幾點:一、使用前注意事項仔細閱讀手機喇叭氣密性檢測儀的使用說明書,了解設備的操作方法和注意事項。檢查氣密性檢測儀的各部件是否完好,包括壓力表、傳感器、連接
    的頭像 發表于 05-15 13:38 ?744次閱讀
    手機喇叭氣密性檢測儀的<b class='flag-5'>注意事項</b>

    設置射頻網絡分析儀的測試條件有哪些注意事項

    射頻網絡分析儀(VNA)的測試條件設置直接影響測量結果的準確性和可靠性。以下從儀器配置、被測器件(DUT)特性、環境干擾、校準與驗證四個維度,系統梳理關鍵注意事項及解決方案。一、儀器配置與參數設置
    發表于 05-06 16:02

    錐齒輪減速機的使用安裝和維護維修注意事項

    錐齒輪減速機的使用、安裝和維護維修注意事項涵蓋了多個方面,以下是對這些注意事項的詳細歸納: 一、使用注意事項 1. 確認規格與設計相符:在使用減速機前,請先行確認購買的規格與設計規格是否相符。 2.
    的頭像 發表于 04-21 18:13 ?1267次閱讀
    錐齒輪減速機的使用安裝和維護維修<b class='flag-5'>注意事項</b>

    掃描電鏡的日常維護有哪些注意事項?

    掃描電鏡日常維護的注意事項
    的頭像 發表于 03-24 11:38 ?1170次閱讀
    掃描電鏡的日常維護有哪些<b class='flag-5'>注意事項</b>?

    依托raksmart服務器在多種系統上本地部署deepseek注意事項

    在RAKsmart服務器上本地部署DeepSeek時,需根據不同的操作系統和環境做好全面適配。以下是關鍵注意事項及分步指南,主機推薦小編為您整理發布依托raksmart服務器在多種系統上本地部署deepseek注意事項。
    的頭像 發表于 03-19 11:25 ?892次閱讀