91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度學(xué)習(xí)的調(diào)參經(jīng)驗(yàn)

電子工程師 ? 來(lái)源:工程師曾玲 ? 2019-06-08 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

對(duì)于深度學(xué)習(xí)本人也是半路出家. 現(xiàn)在的工作內(nèi)容主要就是使用CNN做CV任務(wù). 干調(diào)參這種活也有兩年時(shí)間了. 我的回答可能更多的還是側(cè)重工業(yè)應(yīng)用, 技術(shù)上只限制在CNN這塊.

先說(shuō)下我的觀點(diǎn), 調(diào)參就是trial-and-error. 沒(méi)有其他捷徑可以走. 唯一的區(qū)別是有些人盲目的嘗試, 有些人思考后再?lài)L試.快速?lài)L試, 快速糾錯(cuò)這是調(diào)參的關(guān)鍵.

◆ 首先說(shuō)下可視化

我個(gè)人的理解, 對(duì)于可視化, 更多的還是幫助人類(lèi)以自己熟悉的方式來(lái)觀察網(wǎng)絡(luò). 因?yàn)? 你是不可能邊觀察網(wǎng)絡(luò), 還邊調(diào)參的. 你只是訓(xùn)練完成后(或者準(zhǔn)確率到達(dá)一個(gè)階段后), 才能可視化. 在這之前, 網(wǎng)絡(luò)沒(méi)有學(xué)習(xí)到良好的參數(shù), 你可視化了也沒(méi)意義, 網(wǎng)絡(luò)達(dá)到不錯(cuò)的準(zhǔn)確率了, 你看看其實(shí)也就聽(tīng)個(gè)響. 同樣, 你的網(wǎng)絡(luò)訓(xùn)練的一塌糊涂, 你可視化也沒(méi)什么意義, 唯一能夠看到的就是中間結(jié)果亂七八糟, 或者全黑全白, 這時(shí)候你直接看最后準(zhǔn)確率就可以知道這網(wǎng)絡(luò)沒(méi)救了.

◆ 關(guān)于權(quán)重的可視化[Visualize Layer Weights](現(xiàn)在是否強(qiáng)求smooth其實(shí)意義不大, 這個(gè)后面說(shuō).)

同樣, 你看到一個(gè)不滿(mǎn)足平滑結(jié)果的圖像, 你知道, 這網(wǎng)絡(luò)訓(xùn)練的不好, 但是為什么呢? 是數(shù)據(jù)不好? 沒(méi)有預(yù)處理? 網(wǎng)絡(luò)結(jié)構(gòu)問(wèn)題? Learning Rate太大或者太小? 或者就是差了一個(gè)LRN層(之前我就遇到, 加個(gè)LRN就能出smooth的weights, 當(dāng)然這其實(shí)和預(yù)處理有關(guān))?

Smooth是需要看一下的, 心里有個(gè)數(shù). 但是具體調(diào)參怎么調(diào)是沒(méi)轍的. 第一, 你不可能告訴網(wǎng)絡(luò), 這層你得學(xué)個(gè)邊界檢測(cè)的功能出來(lái). 第二, 不同任務(wù)下會(huì)有不同的weights(雖然底層的特征有很大的通用性), 你覺(jué)得你憑什么來(lái)指導(dǎo)一個(gè)看圖片比你快得多的機(jī)器?

再說(shuō)現(xiàn)在是否需要強(qiáng)求smooth. 現(xiàn)在的趨勢(shì)是鼓勵(lì)使用小filter, 3x3大小, 多加層次(這樣, 非線性更好點(diǎn)). 換句話(huà)說(shuō), 3x3的圖片, 總共才9個(gè)像素, 你怎么判斷smooth與否呢? 當(dāng)然如果你使用大的filter, 一般5x5往上, 運(yùn)氣不差的話(huà), 你是可以看到smooth的結(jié)果的.

咱們?cè)僬f(shuō)另外一個(gè)極端, 一個(gè)網(wǎng)絡(luò),運(yùn)行的完美(滿(mǎn)足應(yīng)用要求就算完美), 打開(kāi)一看, 這weights不smooth啊. 你告訴我, 你打算怎么辦? 沒(méi)錯(cuò), 具有不平滑的權(quán)重的網(wǎng)絡(luò)同樣可以獲得很好的結(jié)果(這種情況我都習(xí)以為常了).

◆ 那么可視化網(wǎng)絡(luò)就不重要了?

非常重要, 但是不在訓(xùn)練這塊, 而是幫助理解網(wǎng)絡(luò)的原理這塊. 理解網(wǎng)絡(luò)原理后, 你才能在設(shè)計(jì)結(jié)構(gòu)的時(shí)候心里有感覺(jué)(只是有感覺(jué)而已), 網(wǎng)絡(luò)出了問(wèn)題, 或者在某些情況下不滿(mǎn)意, 有更好的直覺(jué)去調(diào)整.(沒(méi)錯(cuò), 只是直覺(jué), 雖然有些情況下的調(diào)整從網(wǎng)絡(luò)原理來(lái)看邏輯上應(yīng)該可以工作, 但是人家就是不工作, 你能咬機(jī)器去么?)

◆ 那么怎樣訓(xùn)練一個(gè)不錯(cuò)的網(wǎng)絡(luò)呢?

這是一個(gè)很好的鏈接, 說(shuō)明了如何從零開(kāi)始不斷的trial-and-error(其實(shí)這里面沒(méi)遇到什么error):Using convolutional neural nets to detect facial keypoints tutorial

(鏈接網(wǎng)址:http://suo.im/533arJ)

對(duì)于調(diào)參我自己的經(jīng)驗(yàn),有下面這些:

基本原則:快速試錯(cuò)

一些大的注意事項(xiàng):

★ 1. 剛開(kāi)始,先上小規(guī)模數(shù)據(jù),模型往大了放, 只要不爆顯存, 能用256個(gè)filter你就別用128個(gè). 直接奔著過(guò)擬合去. 沒(méi)錯(cuò), 就是訓(xùn)練過(guò)擬合網(wǎng)絡(luò), 連測(cè)試集驗(yàn)證集這些都可以不用.

為什么?

你要驗(yàn)證自己的訓(xùn)練腳本的流程對(duì)不對(duì). 這一步小數(shù)據(jù)量, 生成速度快, 但是所有的腳本都是和未來(lái)大規(guī)模訓(xùn)練一致的(除了少跑點(diǎn)循環(huán))

如果小數(shù)據(jù)量下, 你這么粗暴的大網(wǎng)絡(luò)奔著過(guò)擬合去都沒(méi)效果. 那么, 你要開(kāi)始反思自己了, 模型的輸入輸出是不是有問(wèn)題? 要不要檢查自己的代碼(永遠(yuǎn)不要懷疑工具庫(kù), 除非你動(dòng)過(guò)代碼)? 模型解決的問(wèn)題定義是不是有問(wèn)題? 你對(duì)應(yīng)用場(chǎng)景的理解是不是有錯(cuò)? 不要懷疑NN的能力, 不要懷疑NN的能力, 不要懷疑NN的能力. 就我們調(diào)參狗能遇到的問(wèn)題, NN沒(méi)法擬合的, 這概率是有多小?

你可以不這么做, 但是等你數(shù)據(jù)準(zhǔn)備了兩天, 結(jié)果發(fā)現(xiàn)有問(wèn)題要重新生成的時(shí)候, 你這周時(shí)間就醬油了.

★ 2. Loss設(shè)計(jì)要合理.

一般來(lái)說(shuō)分類(lèi)就是Softmax, 回歸就是L2的loss. 但是要注意loss的錯(cuò)誤范圍(主要是回歸), 你預(yù)測(cè)一個(gè)label是10000的值, 模型輸出0, 你算算這loss多大, 這還是單變量的情況下. 一般結(jié)果都是nan. 所以不僅僅輸入要做normalization, 輸出也要這么弄.

多任務(wù)情況下, 各loss想法限制在一個(gè)量級(jí)上, 或者最終限制在一個(gè)量級(jí)上, 初期可以著重一個(gè)任務(wù)的loss

★ 3. 觀察loss勝于觀察準(zhǔn)確率

準(zhǔn)確率雖然是評(píng)測(cè)指標(biāo), 但是訓(xùn)練過(guò)程中還是要注意loss的. 你會(huì)發(fā)現(xiàn)有些情況下, 準(zhǔn)確率是突變的, 原來(lái)一直是0, 可能保持上千迭代, 然后突然變1. 要是因?yàn)檫@個(gè)你提前中斷訓(xùn)練了, 只有老天替你惋惜了. 而loss是不會(huì)有這么詭異的情況發(fā)生的, 畢竟優(yōu)化目標(biāo)是loss.

給NN一點(diǎn)時(shí)間, 要根據(jù)任務(wù)留給NN的學(xué)習(xí)一定空間. 不能說(shuō)前面一段時(shí)間沒(méi)起色就不管了. 有些情況下就是前面一段時(shí)間看不出起色, 然后開(kāi)始穩(wěn)定學(xué)習(xí).

★ 4. 確認(rèn)分類(lèi)網(wǎng)絡(luò)學(xué)習(xí)充分

分類(lèi)網(wǎng)絡(luò)就是學(xué)習(xí)類(lèi)別之間的界限. 你會(huì)發(fā)現(xiàn), 網(wǎng)絡(luò)就是慢慢的從類(lèi)別模糊到類(lèi)別清晰的. 怎么發(fā)現(xiàn)? 看Softmax輸出的概率的分布. 如果是二分類(lèi), 你會(huì)發(fā)現(xiàn), 剛開(kāi)始的網(wǎng)絡(luò)預(yù)測(cè)都是在0.5上下, 很模糊. 隨著學(xué)習(xí)過(guò)程, 網(wǎng)絡(luò)預(yù)測(cè)會(huì)慢慢的移動(dòng)到0,1這種極值附近. 所以, 如果你的網(wǎng)絡(luò)預(yù)測(cè)分布靠中間, 再學(xué)習(xí)學(xué)習(xí).

★ 5. Learning Rate設(shè)置合理

太大: loss爆炸, 或者nan

太小: 半天loss沒(méi)反映(但是, LR需要降低的情況也是這樣, 這里可視化網(wǎng)絡(luò)中間結(jié)果, 不是weights, 有效果, 倆者可視化結(jié)果是不一樣的, 太小的話(huà)中間結(jié)果有點(diǎn)水波紋或者噪點(diǎn)的樣子, 因?yàn)閒ilter學(xué)習(xí)太慢的原因, 試過(guò)就會(huì)知道很明顯)

需要進(jìn)一步降低了: loss在當(dāng)前LR下一路降了下來(lái), 但是半天不再降了.

如果有個(gè)復(fù)雜點(diǎn)的任務(wù), 剛開(kāi)始, 是需要人肉盯著調(diào)LR的. 后面熟悉這個(gè)任務(wù)網(wǎng)絡(luò)學(xué)習(xí)的特性后, 可以扔一邊跑去了.

如果上面的Loss設(shè)計(jì)那塊你沒(méi)法合理, 初始情況下容易爆, 先上一個(gè)小LR保證不爆, 等loss降下來(lái)了, 再慢慢升LR, 之后當(dāng)然還會(huì)慢慢再降LR, 雖然這很蛋疼.

LR在可以工作的最大值下往小收一收, 免得ReLU把神經(jīng)元弄死了. 當(dāng)然, 我是個(gè)心急的人, 總愛(ài)設(shè)個(gè)大點(diǎn)的.

★ 6. 對(duì)比訓(xùn)練集和驗(yàn)證集的loss

判斷過(guò)擬合, 訓(xùn)練是否足夠, 是否需要early stop的依據(jù), 這都是中規(guī)中矩的原則, 不多說(shuō)了.

★ 7. 清楚receptive field的大小

CV的任務(wù), context window是很重要的. 所以你對(duì)自己模型的receptive field的大小要心中有數(shù). 這個(gè)對(duì)效果的影響還是很顯著的. 特別是用FCN, 大目標(biāo)需要很大的receptive field. 不像有fully connection的網(wǎng)絡(luò), 好歹有個(gè)fc兜底, 全局信息都有.

★ 簡(jiǎn)短的注意事項(xiàng):

1、預(yù)處理: -mean/std zero-center就夠了, PCA, 白化什么的都用不上. 我個(gè)人觀點(diǎn), 反正CNN能學(xué)習(xí)encoder, PCA用不用其實(shí)關(guān)系不大, 大不了網(wǎng)絡(luò)里面自己學(xué)習(xí)出來(lái)一個(gè).

2、shuffle, shuffle, shuffle.

3、網(wǎng)絡(luò)原理的理解最重要, CNN的conv這塊, 你得明白sobel算子的邊界檢測(cè).

4、Dropout, Dropout, Dropout(不僅僅可以防止過(guò)擬合, 其實(shí)這相當(dāng)于做人力成本最低的Ensemble, 當(dāng)然, 訓(xùn)練起來(lái)會(huì)比沒(méi)有Dropout的要慢一點(diǎn), 同時(shí)網(wǎng)絡(luò)參數(shù)你最好相應(yīng)加一點(diǎn), 對(duì), 這會(huì)再慢一點(diǎn)).

5、CNN更加適合訓(xùn)練回答是否的問(wèn)題, 如果任務(wù)比較復(fù)雜, 考慮先用分類(lèi)任務(wù)訓(xùn)練一個(gè)模型再finetune.

6、無(wú)腦用ReLU(CV領(lǐng)域).

7、無(wú)腦用3x3.

8、無(wú)腦用xavier.

9、LRN一類(lèi)的, 其實(shí)可以不用. 不行可以再拿來(lái)試試看.

10、filter數(shù)量2^n.

11、多尺度的圖片輸入(或者網(wǎng)絡(luò)內(nèi)部利用多尺度下的結(jié)果)有很好的提升效果.

12、第一層的filter, 數(shù)量不要太少. 否則根本學(xué)不出來(lái)(底層特征很重要).

13、sgd adam 這些選擇上, 看你個(gè)人選擇. 一般對(duì)網(wǎng)絡(luò)不是決定性的. 反正我無(wú)腦用sgd + momentum.

14、batch normalization我一直沒(méi)用, 雖然我知道這個(gè)很好, 我不用僅僅是因?yàn)槲覒? 所以要鼓勵(lì)使用batch normalization.

15、不要完全相信論文里面的東西. 結(jié)構(gòu)什么的覺(jué)得可能有效果, 可以拿去試試.

16、你有95%概率不會(huì)使用超過(guò)40層的模型.

17、shortcut的聯(lián)接是有作用的.

18、暴力調(diào)參最可取, 畢竟, 自己的生命最重要. 你調(diào)完這個(gè)模型說(shuō)不定過(guò)兩天這模型就扔掉了.

19、機(jī)器, 機(jī)器, 機(jī)器.

20、Google的inception論文, 結(jié)構(gòu)要好好看看.

21、一些傳統(tǒng)的方法, 要稍微了解了解. 我自己的程序就用過(guò)1x14的手寫(xiě)filter, 寫(xiě)過(guò)之后你看看inception里面的1x7, 7x1 就會(huì)會(huì)心一笑...

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 可視化
    +關(guān)注

    關(guān)注

    1

    文章

    1353

    瀏覽量

    22791
  • 深度學(xué)習(xí)
    +關(guān)注

    關(guān)注

    73

    文章

    5598

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    自制飛控板能用地面站軟件進(jìn)行刷固件或者調(diào)嗎?

    如果是自制飛控板的話(huà),還能用地面站軟件(mission planner)進(jìn)行刷固件或者調(diào)么?有哪位大神可以提供一些入門(mén)的學(xué)習(xí)資料,剛開(kāi)始,有點(diǎn)懵,不知如何下手。
    發(fā)表于 06-27 04:35

    ADRC的使用方法和調(diào)大致的方向

    由于串級(jí)PID還沒(méi)搞定,就轉(zhuǎn)向了自抗擾控制,用STM32控制無(wú)刷電機(jī)做了一個(gè)ADRC速度閉環(huán),沒(méi)靜差是真的,但感覺(jué)也沒(méi)想象中那么強(qiáng),就寫(xiě)篇博文記錄一下ADRC大概的使用方法和調(diào)大致的方向。
    發(fā)表于 09-07 06:33

    教你怎樣學(xué)會(huì)PID調(diào)

    不會(huì)PID調(diào)?這篇文章圖文結(jié)合帶你學(xué)會(huì)PID調(diào)!讓你成為PID調(diào)大神?。?!
    發(fā)表于 01-06 07:47

    PID調(diào)的相關(guān)資料分享

    說(shuō)明:本文章適用于STM32初學(xué)者,想完成一個(gè)好玩且有深度的項(xiàng)目但不知道從何下手的同學(xué)。PID調(diào)是平衡車(chē)的精髓所在,參數(shù)整定的好壞直接影響到平衡車(chē)的平衡效果。有的車(chē)平衡時(shí)來(lái)回晃而參數(shù)選的好的車(chē)就能
    發(fā)表于 01-14 09:14

    針對(duì)PID調(diào)進(jìn)行詳細(xì)的講解

    ??大家好,我是小政。本篇文章我將針對(duì)PID調(diào)進(jìn)行詳細(xì)的講解,讓每位小伙伴能夠?qū)Ρ壤?、積分、微分三個(gè)參數(shù)如何調(diào)節(jié)有更加清晰的理解。一、調(diào)步驟確立機(jī)械中值直立環(huán)(內(nèi)環(huán))——Kp極性、
    發(fā)表于 01-14 06:26

    WinGUI_2.3調(diào)軟件

    英文版軟件,很好的軟件,WinGUI_2.3調(diào)軟件
    發(fā)表于 12-08 14:28 ?3次下載

    NAZA_驅(qū)動(dòng)調(diào)軟件及說(shuō)明書(shū)

    NAZA 驅(qū)動(dòng)調(diào)軟件,需要的可以看一看了
    發(fā)表于 02-15 15:10 ?0次下載

    CF飛控調(diào)說(shuō)明

    CF飛控調(diào)說(shuō)明
    發(fā)表于 10-09 14:56 ?15次下載

    關(guān)于如何從零開(kāi)始構(gòu)建深度學(xué)習(xí)項(xiàng)目的詳細(xì)教程

    第一部分:?jiǎn)?dòng)一個(gè)深度學(xué)習(xí)項(xiàng)目 第二部分:創(chuàng)建一個(gè)深度學(xué)習(xí)數(shù)據(jù)集 第三部分:設(shè)計(jì)深度模型 第四部分:可視化
    的頭像 發(fā)表于 04-19 15:21 ?4453次閱讀

    深度學(xué)習(xí)和機(jī)器學(xué)習(xí)深度的不同之處 淺談深度學(xué)習(xí)的訓(xùn)練和調(diào)

    近年來(lái),深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)中比較火的一種方法出現(xiàn)在我們面前,但是和非深度學(xué)習(xí)的機(jī)器學(xué)習(xí)相比(我
    發(fā)表于 05-02 10:30 ?4700次閱讀

    模型調(diào):CANape與Simulink的強(qiáng)強(qiáng)聯(lián)手

    CANape推出新功能Simulink XCP Server,針對(duì)Simulink模型以及ECU內(nèi)部數(shù)據(jù)的參數(shù)化和可視化,讓模型調(diào)變得簡(jiǎn)單。
    的頭像 發(fā)表于 08-01 15:00 ?2693次閱讀
    模型<b class='flag-5'>調(diào)</b><b class='flag-5'>參</b>:CANape與Simulink的強(qiáng)強(qiáng)聯(lián)手

    NNI:自動(dòng)幫你做機(jī)器學(xué)習(xí)調(diào)的神器

    NNI 自動(dòng)機(jī)器學(xué)習(xí)調(diào),是微軟開(kāi)源的又一個(gè)神器,它能幫助你找到最好的神經(jīng)網(wǎng)絡(luò)架構(gòu)或超參數(shù),支持 各種訓(xùn)練環(huán)境 。 它常用的 使用場(chǎng)景 如下: 想要在自己的代碼、模型中試驗(yàn) 不同的機(jī)器學(xué)習(xí)
    的頭像 發(fā)表于 10-30 10:28 ?3884次閱讀
    NNI:自動(dòng)幫你做機(jī)器<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>調(diào)</b><b class='flag-5'>參</b>的神器

    機(jī)器學(xué)習(xí)8大調(diào)技巧

    今天給大家一篇關(guān)于機(jī)器學(xué)習(xí)調(diào)技巧的文章。超參數(shù)調(diào)優(yōu)是機(jī)器學(xué)習(xí)例程中的基本步驟之一。該方法也稱(chēng)為超參數(shù)優(yōu)化,需要搜索超參數(shù)的最佳配置以實(shí)現(xiàn)最
    的頭像 發(fā)表于 03-23 08:26 ?1527次閱讀
    機(jī)器<b class='flag-5'>學(xué)習(xí)</b>8大<b class='flag-5'>調(diào)</b><b class='flag-5'>參</b>技巧

    LSTM神經(jīng)網(wǎng)絡(luò)的調(diào)技巧

    長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)是一種特殊的循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN),它能夠學(xué)習(xí)長(zhǎng)期依賴(lài)信息。在實(shí)際應(yīng)用中,LSTM網(wǎng)絡(luò)的調(diào)是一個(gè)復(fù)雜且關(guān)鍵的過(guò)程,直接影響
    的頭像 發(fā)表于 11-13 10:01 ?2685次閱讀

    BP神經(jīng)網(wǎng)絡(luò)的調(diào)技巧與建議

    BP神經(jīng)網(wǎng)絡(luò)的調(diào)是一個(gè)復(fù)雜且關(guān)鍵的過(guò)程,涉及多個(gè)超參數(shù)的優(yōu)化和調(diào)整。以下是一些主要的調(diào)技巧與建議: 一、學(xué)習(xí)率(Learning Rat
    的頭像 發(fā)表于 02-12 16:38 ?1714次閱讀