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

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

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

算法工程師須知的十個(gè)煉丹trick

新機(jī)器視覺 ? 來源:新機(jī)器視覺 ? 作者:新機(jī)器視覺 ? 2021-03-04 09:46 ? 次閱讀

導(dǎo)讀

如何提高煉丹速度?本文總結(jié)了算法工程師須知的十個(gè)煉丹trick,附有相關(guān)代碼,可直接上手。

Focal Loss

針對類別不平衡問題,用預(yù)測概率對不同類別的loss進(jìn)行加權(quán)。Focal loss對CE loss增加了一個(gè)調(diào)制系數(shù)來降低容易樣本的權(quán)重值,使得訓(xùn)練過程更加關(guān)注困難樣本。

loss = -np.log(p) loss = (1-p)^G * loss

Dropout

2724a454-7c25-11eb-8b86-12bb97331649.jpg

隨機(jī)丟棄,抑制過擬合,提高模型魯棒性。

Normalization

Batch Normalization 于2015年由 Google 提出,開 Normalization 之先河。其規(guī)范化針對單個(gè)神經(jīng)元進(jìn)行,利用網(wǎng)絡(luò)訓(xùn)練時(shí)一個(gè) mini-batch 的數(shù)據(jù)來計(jì)算該神經(jīng)元的均值和方差,因而稱為 Batch Normalization。

x = (x - x.mean()) / x.std()

relu

用極簡的方式實(shí)現(xiàn)非線性激活,緩解梯度消失。

x=max(x,0)

Cyclic LR

每隔一段時(shí)間重啟學(xué)習(xí)率,這樣在單位時(shí)間內(nèi)能收斂到多個(gè)局部最小值,可以得到很多個(gè)模型做集成。

scheduler=lambdax:((LR_INIT-LR_MIN)/2)*(np.cos(PI*(np.mod(x-1,CYCLE)/(CYCLE)))+1)+LR_MIN

With Flooding

27f68dde-7c25-11eb-8b86-12bb97331649.jpg

當(dāng)training loss大于一個(gè)閾值時(shí),進(jìn)行正常的梯度下降;當(dāng)training loss低于閾值時(shí),會反過來進(jìn)行梯度上升,讓training loss保持在一個(gè)閾值附近,讓模型持續(xù)進(jìn)行“random walk”,并期望模型能被優(yōu)化到一個(gè)平坦的損失區(qū)域,這樣發(fā)現(xiàn)test loss進(jìn)行了double decent。

flood=(loss-b).abs()+b

Group Normalization

Face book AI research(FAIR)吳育昕-愷明聯(lián)合推出重磅新作Group Normalization(GN),提出使用Group Normalization 替代深度學(xué)習(xí)里程碑式的工作Batch normalization。一句話概括,Group Normbalization(GN)是一種新的深度學(xué)習(xí)歸一化方式,可以替代BN。

def GroupNorm(x, gamma, beta, G, eps=1e-5): # x: input features with shape [N,C,H,W] # gamma, beta: scale and offset, with shape [1,C,1,1] # G: number of groups for GN N, C, H, W = x.shape x = tf.reshape(x, [N, G, C // G, H, W]) mean, var = tf.nn.moments(x, [2, 3, 4], keep dims=True) x = (x - mean) / tf.sqrt(var + eps) x = tf.reshape(x, [N, C, H, W])returnx*gamma+beta

Label Smoothing

abel smoothing將hard label轉(zhuǎn)變成soft label,使網(wǎng)絡(luò)優(yōu)化更加平滑。標(biāo)簽平滑是用于深度神經(jīng)網(wǎng)絡(luò)(DNN)的有效正則化工具,該工具通過在均勻分布和hard標(biāo)簽之間應(yīng)用加權(quán)平均值來生成soft標(biāo)簽。它通常用于減少訓(xùn)練DNN的過擬合問題并進(jìn)一步提高分類性能。

targets = (1 - label_smooth) * targets + label_smooth / num_classes

Wasserstein GAN

徹底解決GAN訓(xùn)練不穩(wěn)定的問題,不再需要小心平衡生成器和判別器的訓(xùn)練程度

基本解決了Collapse mode的問題,確保了生成樣本的多樣性

訓(xùn)練過程中終于有一個(gè)像交叉熵、準(zhǔn)確率這樣的數(shù)值來指示訓(xùn)練的進(jìn)程,數(shù)值越小代表GAN訓(xùn)練得越好,代表生成器產(chǎn)生的圖像質(zhì)量越高

不需要精心設(shè)計(jì)的網(wǎng)絡(luò)架構(gòu),最簡單的多層全連接網(wǎng)絡(luò)就可以做到以上3點(diǎn)。

Skip Connection

一種網(wǎng)絡(luò)結(jié)構(gòu),提供恒等映射的能力,保證模型不會因網(wǎng)絡(luò)變深而退化。

F(x)=F(x)+x

責(zé)任編輯:lq

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

    關(guān)注

    5

    文章

    1769

    瀏覽量

    57658
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4624

    瀏覽量

    93119
  • 神經(jīng)元
    +關(guān)注

    關(guān)注

    1

    文章

    363

    瀏覽量

    18482

原文標(biāo)題:大道至簡:算法工程師煉丹Trick手冊

文章出處:【微信號:vision263com,微信公眾號:新機(jī)器視覺】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    圖像算法工程師的利器——SpeedDP深度學(xué)習(xí)算法開發(fā)平臺

    隨著人工智能的興起,AI工程師特別是基于圖像的算法工程師日益成為炙手可熱的香餑餑。特別是在一些行業(yè)市場例如工業(yè)領(lǐng)域等行業(yè)領(lǐng)域,需要根據(jù)具體場景對檢測識別算法進(jìn)行不斷地優(yōu)化完善,以達(dá)到更
    的頭像 發(fā)表于 11-08 01:06 ?346次閱讀
    圖像<b class='flag-5'>算法</b><b class='flag-5'>工程師</b>的利器——SpeedDP深度學(xué)習(xí)<b class='flag-5'>算法</b>開發(fā)平臺

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問題(一) Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師三者有什么區(qū)別? A:FPGA
    發(fā)表于 09-23 18:26

    正是拼的年紀(jì)|65歲電子工程師上班VLOG #65歲退休 #電子工程師 #搞笑 #上班vlog

    電子工程師
    安泰小課堂
    發(fā)布于 :2024年07月25日 11:31:02

    用二創(chuàng),1:1復(fù)刻工程師的職場現(xiàn)狀

    工程師
    揚(yáng)興科技
    發(fā)布于 :2024年07月19日 18:30:07

    嵌入式軟件工程師和硬件工程師的區(qū)別?

    嵌入式軟件工程師和硬件工程師的區(qū)別? 嵌入式軟件工程師 嵌入式軟件工程師是軟件開發(fā)領(lǐng)域中的一種專業(yè)工程師,他們主要負(fù)責(zé)設(shè)計(jì)和開發(fā)嵌入式軟件,
    發(fā)表于 05-16 11:00

    大廠電子工程師常見面試題#電子工程師 #硬件工程師 #電路知識 #面試題

    電子工程師電路
    安泰小課堂
    發(fā)布于 :2024年04月30日 17:33:15

    企業(yè)老工程師和高校老師有啥區(qū)別

    電子工程師硬件
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2024年02月28日 17:50:00

    如何搞崩一個(gè)硬件工程師心態(tài)?試試對ta說這幾句

    硬件工程師
    揚(yáng)興科技
    發(fā)布于 :2024年02月20日 18:05:49