<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>

          基礎(chǔ)入門:“煉丹師”——深度學(xué)習(xí)訓(xùn)練技巧

          共 2048字,需瀏覽 5分鐘

           ·

          2023-02-04 08:24

          點(diǎn)擊下方卡片,關(guān)注“新機(jī)器視覺”公眾號(hào)

          重磅干貨,第一時(shí)間送達(dá)

          深度學(xué)習(xí)已經(jīng)成為解決許多具有挑戰(zhàn)性的現(xiàn)實(shí)世界問題的方法。對(duì)目標(biāo)檢測(cè),語音識(shí)別和語言翻譯來說,這是迄今為止表現(xiàn)最好的方法。許多人將深度神經(jīng)網(wǎng)絡(luò)(DNNs)視為神奇的黑盒子,我們放進(jìn)去一堆數(shù)據(jù),出來的就是我們的解決方案!事實(shí)上,事情沒那么簡(jiǎn)單。


          在設(shè)計(jì)和應(yīng)用DNN到一個(gè)特定的問題上可能會(huì)遇到很多挑戰(zhàn)。為了達(dá)到現(xiàn)實(shí)世界應(yīng)用所需的性能標(biāo)準(zhǔn),對(duì)數(shù)據(jù)準(zhǔn)備,網(wǎng)絡(luò)設(shè)計(jì),訓(xùn)練和推斷等各個(gè)階段的正確設(shè)計(jì)和執(zhí)行至關(guān)重要。

          今天給大家講講DNN(深度神經(jīng)網(wǎng)絡(luò))在訓(xùn)練過程中遇到的一些問題,然后我們應(yīng)該怎么去注意它,并學(xué)會(huì)怎么去訓(xùn)練它。

          1、數(shù)據(jù)集的準(zhǔn)備
          必須要保證大量、高質(zhì)量且?guī)в袦?zhǔn)確標(biāo)簽的數(shù)據(jù),沒有該條件的數(shù)據(jù),訓(xùn)練學(xué)習(xí)很困難的(但是最近我看了以為作者寫的一篇文章,說明不一定需要大量數(shù)據(jù)集,也可以訓(xùn)練的很好,有空和大家來分享其思想---很厲害的想法);
          2、數(shù)據(jù)預(yù)處理
          這個(gè)不多說,就是0均值和1方差化,其實(shí)還有很多方法;
          3、Minibatch
          這個(gè)有時(shí)候還要根據(jù)你的硬件設(shè)備而定,一般建議用128,8這組,但是128,1也很好,只是效率會(huì)非常慢,注意的是千萬不要用過大的數(shù)值,否則很容易過擬合;
          4、梯度歸一化
          其實(shí)就是計(jì)算出來梯度之后,要除以Minibatch的數(shù)量,這個(gè)可以通過閱讀源碼得知(我之前有寫過SGD);
          5、學(xué)習(xí)率:
          ①  一般都會(huì)有默認(rèn)的學(xué)習(xí)率,但是剛開始還是用一般的去學(xué)習(xí),然后逐漸的減小它;
          ②  一個(gè)建議值是0.1,適用于很多NN的問題,一般傾向于小一點(diǎn);但是如果對(duì)于的大數(shù)據(jù),何凱明老師也說過,要把學(xué)習(xí)率調(diào)到很小,他說0.00001都不為過(如果記得不錯(cuò),應(yīng)該是這么說的);
          ③  一個(gè)對(duì)于調(diào)度學(xué)習(xí)率的建議:如果在驗(yàn)證集上性能不再增加就讓學(xué)習(xí)率除以2或者5,然后繼續(xù),學(xué)習(xí)率會(huì)一直變得很小,到最后就可以停止訓(xùn)練了;
          ④  很多人用的一個(gè)設(shè)計(jì)學(xué)習(xí)率的原則就是監(jiān)測(cè)一個(gè)比率(每次更新梯度的norm除以當(dāng)前weightnorm),如果這個(gè)比率在10e-3附近,且小于這個(gè)值,學(xué)習(xí)會(huì)很慢,如果大于這個(gè)值,那么學(xué)習(xí)很不穩(wěn)定,由此會(huì)帶來學(xué)習(xí)失敗。
          6、驗(yàn)證集的使用:
          使用驗(yàn)證集,可以知道什么時(shí)候開始降低學(xué)習(xí)率和什么時(shí)候停止訓(xùn)練;
          7、weight初始化
          ①  如果你不想繁瑣的話,直接用0.02*randn(num_params)來初始化,當(dāng)然別的值也可以去嘗試;
          ②  如果上面那個(gè)建議不太好使,那么就依次初始化每一個(gè)weight矩陣用init_scale / sqrt(layer_width) * randninit_scale可以被設(shè)置為0.1或者1;
          ③  初始化參數(shù)對(duì)結(jié)果的影響至關(guān)重要,要引起重視;
          ④  在深度網(wǎng)絡(luò)中,隨機(jī)初始化權(quán)重,使用SGD的話一般處理的都不好,這是因?yàn)槌跏蓟臋?quán)重太小了。這種情況下對(duì)于淺層網(wǎng)絡(luò)有效,但是當(dāng)足夠深的時(shí)候就不行,因?yàn)?strong style="outline: 0px;">weight更新的時(shí)候,是靠很多weight相乘的,越乘越小,類似梯度消失的意思。
          8、RNN&&LSTM(這方面沒有深入了解,借用別人的意思):
          如果訓(xùn)練RNN或者LSTM,務(wù)必保證gradient的norm被約束在15或者5(前提還是要先歸一化gradient),這一點(diǎn)在RNNLSTM中很重要;
          9、梯度檢查:
          檢查下梯度,如果是你自己計(jì)算的梯度;如果使用LSTM來解決長時(shí)依賴的問題,記得初始化bias的時(shí)候要大一點(diǎn);
          10、數(shù)據(jù)增廣:
          盡可能想辦法多的擴(kuò)增訓(xùn)練數(shù)據(jù),如果使用的是圖像數(shù)據(jù),不妨對(duì)圖像做一點(diǎn)扭轉(zhuǎn),剪切,分割等操作來擴(kuò)充數(shù)據(jù)訓(xùn)練集合;
          11、dropout:先空著,下次我要單獨(dú)詳細(xì)講解Dropout
          12、評(píng)價(jià)結(jié)果:
          評(píng)價(jià)最終結(jié)果的時(shí)候,多做幾次,然后平均一下他們的結(jié)果。


          補(bǔ)充:


          1、選擇優(yōu)化算法  

          傳統(tǒng)的隨機(jī)梯度下降算法雖然適用很廣,但并不高效,最近出現(xiàn)很多更靈活的優(yōu)化算法,例如Adagrad、RMSProp等,可在迭代優(yōu)化的過程中自適應(yīng)的調(diào)節(jié)學(xué)習(xí)速率等超參數(shù),效果更佳;

          2、參數(shù)設(shè)置技巧  

          無論是多核CPU還是GPU加速,內(nèi)存管理仍然以字節(jié)為基本單元做硬件優(yōu)化,因此將參數(shù)設(shè)定為2的指數(shù)倍,如64,128,512,1024等,將有效提高矩陣分片、張量計(jì)算等操作的硬件處理效率;

          3、正則優(yōu)化  

          除了在神經(jīng)網(wǎng)絡(luò)單元上添加傳統(tǒng)的L1/L2正則項(xiàng)外,Dropout更經(jīng)常在深度神經(jīng)網(wǎng)絡(luò)應(yīng)用來避免模型的過擬合。初始默認(rèn)的0.5的丟棄率是保守的選擇,如果模型不是很復(fù)雜,設(shè)置為0.2就可以;

          4、其他方法 

          除了上述訓(xùn)練調(diào)優(yōu)的方法外,還有其他一些常用方法,包括:使用mini-batch learning方法、遷移訓(xùn)練學(xué)習(xí)、打亂訓(xùn)練集順序、對(duì)比訓(xùn)練誤差和測(cè)試誤差調(diào)節(jié)迭代次數(shù)、日志可視化觀察等等。


          本文僅做學(xué)術(shù)分享,如有侵權(quán),請(qǐng)聯(lián)系刪文。

          —THE END—

          瀏覽 64
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <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>
                  考逼免费视频 | 国产色婷婷免费视频 | 国产一级性爱电影 | 大雞巴弄得我好舒服黃片 | 香蕉福利在线观看 |