chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

深度學(xué)習(xí)模型常用的數(shù)據(jù)增強方法

汽車玩家 ? 來源:CSDN博主 ? 作者:csuzhaoqinghui ? 2020-01-19 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)據(jù)增強(Data Augmentation)

人工智能,或者說計算機視覺的一個最終目標(biāo)在于構(gòu)建一個真正可適用于真實世界復(fù)雜環(huán)境的系統(tǒng)。而就目前所應(yīng)用的機器學(xué)習(xí)系統(tǒng)而言,大部分采用了有監(jiān)督的學(xué)習(xí)方法,也必然導(dǎo)致了需要廣泛收集圖像樣本,并進行對應(yīng)的圖像標(biāo)注的工作。而人力時有窮盡,高質(zhì)量的樣本集圖片又是構(gòu)建一個優(yōu)秀的機器學(xué)習(xí)系統(tǒng)的關(guān)鍵因素。使用適當(dāng)?shù)臄?shù)據(jù)增強方法可以將數(shù)據(jù)集的數(shù)量增大十倍以上,從而極大化利用小樣本集中的每個樣本,使之也可以訓(xùn)練得到一個較好的機器學(xué)習(xí)模型。數(shù)據(jù)增強方法也可以提高模型的魯棒性,防止其易在訓(xùn)練中出現(xiàn)過擬合的現(xiàn)象。

常用的數(shù)據(jù)增強方法主要來自數(shù)字圖像處理中的幾何變換,但不改變圖像中的像素值,而是改變了其空間位置,借此希望卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到圖像中更多的不變性特征,也有利于提高其泛化性能。

以下將對各種方法做簡單的列舉與說明。

平移(Shift)變換:對原始圖片在圖像平面內(nèi)以某種方式(預(yù)先定義或者隨機方式確定平移的步長、范圍及其方向)進行平移。

翻轉(zhuǎn)(Flip)變換:沿豎直或者水平方向?qū)υ紙D片進行翻轉(zhuǎn)。

隨機裁剪(Random Crop):隨機定義感興趣區(qū)域以裁剪圖像,相當(dāng)于增加隨機擾動。

噪聲擾動(Noise):對圖像隨機添加高斯噪聲或者椒鹽噪聲等。

對比度變換(Contrast):改變圖像對比度,相當(dāng)于在HSV空間中,保持色調(diào)分量H不變,而改變亮度分量V和飽和度S,用于模擬現(xiàn)實環(huán)境的光照變化。

縮放變換(Zoom):以設(shè)定的比例縮小或者放大圖像。

尺度變換(Scale):與縮放變換有點類似,不過尺度變換的對象是圖像內(nèi)容而非圖像本身(可以參考SIFT特征提取方法),構(gòu)建圖像金字塔以得到不同大小、模糊程度的圖像。

權(quán)重初始化(weight initialization)

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)之所以一直沒辦法加深網(wǎng)絡(luò)的深度,一個很重要的原因在于使用隨機梯度下降法訓(xùn)練時,隨著訓(xùn)練迭代過程的深入會出現(xiàn)梯度彌散的現(xiàn)象,也就導(dǎo)致了神經(jīng)網(wǎng)絡(luò)無法有效地從樣本中進行學(xué)習(xí)。而造成梯度彌散的一部分原因應(yīng)該歸結(jié)于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)使用了權(quán)重隨機初始化。

而現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)拋棄了隨機初始化的方法,轉(zhuǎn)而使用高斯初始化、 Xavier算法等來解決這一問題。

所謂的高斯初始化方法是指隨機選取一個固定均值(如0等)和固定方差(如0.01等)的高斯分布中的值作為網(wǎng)絡(luò)各個神經(jīng)元的權(quán)重參數(shù)的初值,從而保證權(quán)重參數(shù)訓(xùn)練開始時符合高斯分布,以期獲得更好的結(jié)果。這是一種常用的權(quán)重初始化方法。

Xavier算法是Glorot于2010年提出的權(quán)值初始化方法。相比與隨機初始化或者高斯初始化方法中的隨機選取,Xavier算法為每一個深度神經(jīng)網(wǎng)絡(luò)的初始權(quán)值進行了個性定制,因為他是根據(jù)輸入輸出神經(jīng)元的個數(shù)來進行權(quán)重的初始化。該算法假設(shè)對于一個網(wǎng)絡(luò)有n個線性神經(jīng)元,其初始權(quán)值為W,網(wǎng)絡(luò)輸出為Y,即:

Y=W_1 X_1+W_2 X_2+?+ W_n X_n (1-1)

計算每個神經(jīng)元輸出的方差如下:

Var(W_i X_i )=E[X_i ]^2 Var(W_i )+E[W_i ]^2 Var(X_i ) + Var(W_i )Var(X_i ) (1-2)

假設(shè)所有輸入權(quán)重的均值為0,上述公式可以簡化如下:

Var(W_i X_i )= Var(W_i )Var(X_i ) (1-3)

同時假設(shè)Xi和Wi都是獨立同分布的,可得輸出Y的方差:

Var(Y)=Var(W_1 X_1+W_2 X_2+?+ W_n X_n )=nVar(W_i )Var(X_i ) (1-4)

故如果我們要求輸出分布要與輸入的分布一樣,則nVar(Wi)的值應(yīng)為1。

盡管算法中使用了諸多假設(shè),可是在實際應(yīng)用過程中取得了良好的效果。直觀上來講,對原始的Xavier算法來說,假設(shè)輸入的均值為0對于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)是合理的。因為其初始化層之后是非線性激活層(tanh,sigmoid等)中的激活函數(shù)在0值附近的梯度值最大。而對于現(xiàn)代深度神經(jīng)網(wǎng)絡(luò)而言,由于其線性整流單元(ReLU)對于輸入的響應(yīng)有一半為0,故He等提出以下公式作為替代。

Var(W_i )=2/n_in (1-8)

隨機梯度下降法(Stochastic Gradient descent)

梯度下降法(Gradient descent)是當(dāng)前最為受歡迎的優(yōu)化算法之一,也是最常用的深度神經(jīng)網(wǎng)絡(luò)優(yōu)化方法。它通過沿著當(dāng)前函數(shù)點所對應(yīng)的梯度的反方向進行迭代搜索,從而找到目標(biāo)函數(shù)的極值點。許多學(xué)者對其提出了改進算法。

標(biāo)準(zhǔn)梯度下降法可以表征為:

θ(t+1)=θ_t- η?θ E(L(θ_t) (1-9)

其中η為每次迭代的學(xué)習(xí)率,L(θ)為目標(biāo)函數(shù)。E[L(θ)]整個數(shù)據(jù)集的數(shù)學(xué)期望。

標(biāo)準(zhǔn)梯度下降法要求在每次迭代的時候都要計算整個數(shù)據(jù)集的梯度方向。它可以保證凸目標(biāo)函數(shù)可以收斂到全局最小點,而對于非凸目標(biāo)函數(shù)至少可以收斂到局部極值點。近幾十年來,樣本數(shù)據(jù)的增長速度遠遠大于處理器的計算能力的增長。從這個角度上來說,統(tǒng)計機器學(xué)習(xí)方法的局限在于計算能力而不在于樣本量的大小。對于小樣本學(xué)習(xí)中標(biāo)準(zhǔn)梯度下降法是適用的,但是應(yīng)用于大數(shù)據(jù)集時是極其緩慢的,整個數(shù)據(jù)集無法一次性裝載進內(nèi)存中的情況越來越普遍。因此標(biāo)準(zhǔn)梯度下降法無法勝任于現(xiàn)代大規(guī)模數(shù)據(jù)的優(yōu)化任務(wù),此時隨機梯度下降法 (stochastic gradient descent, SGD)的應(yīng)用效果要遠遠好于標(biāo)準(zhǔn)梯度下降法。

相比于計算整個數(shù)據(jù)集的梯度方向,隨機梯度下降法(SGD)以從訓(xùn)練集中隨機選取的單個樣本來估計目標(biāo)梯度,以迭代更新參數(shù)θ。

θ(t+1)=θ_t- η_t ?θ L(θ_t;x^((t) ),y^((t) )) (1-10)

在實際應(yīng)用過程中,每次的參數(shù)更新并不是根據(jù)單個樣本計算的,而是由所定義的最小批量樣本(mini-batch)來計算的。這可以降低單個樣本參數(shù)更新的劇烈波動并使收斂過程更加穩(wěn)定。由于采用批量樣本并不能完全代表數(shù)據(jù)集的梯度方向,其參數(shù)更新的波動也是無可避免的。但是這種波動一定程度上使其能夠跳轉(zhuǎn)到潛在的更好的局部極小點,并且最終到達全局最小點。盡管理論上,隨機梯度下降法(SGD)可以漸進收斂,但是在實際應(yīng)用過程中仍有許多挑戰(zhàn)。

首先,收斂的速度取決于學(xué)習(xí)率η,一個合適的學(xué)習(xí)率并不是那么容易確定的。如果學(xué)習(xí)率太小會導(dǎo)致收斂過程極其緩慢,而過大的學(xué)習(xí)率η將會阻礙模型收斂并導(dǎo)致目標(biāo)函數(shù)在最小值附近波動甚至發(fā)散。其次,對于神經(jīng)網(wǎng)絡(luò)這種高度非線性任務(wù)而言,其目標(biāo)函數(shù)通常都有大量的次優(yōu)局部極小點,為保證收斂到全局最小點需要避免訓(xùn)練過程陷入局部極小點中。

對于學(xué)習(xí)率或者學(xué)習(xí)策略的選擇,可以參考以下方法:

- 選取一個足夠小的,在第一次迭代中可以收斂的常數(shù)值(或選取兩個取其均值),如果收斂速度有所下降,取η/2作為新的學(xué)習(xí)率;

- 在每次迭代之后引入評估機制,當(dāng)兩次迭代間的變化小于某個設(shè)定閾值時減小學(xué)習(xí)率。

為了避免訓(xùn)練陷入局部極小點,Qian等提出了基于動量(momentum)的梯度下降學(xué)習(xí)算法,通過增加歷史參數(shù)更新的權(quán)重項,加速當(dāng)前參數(shù)更新的過程并減少振蕩。

ν(t+1)=〖γν〗_t- η_t ?θ L(θ_t;x^((t) ),y^((t) )) (1-11)

θ(t+1)=θ_t+ν(t+1) (1-12)

其中ν_(t+1)是當(dāng)前的更新向量,γ即為動量,通常設(shè)為0.9或者其他常數(shù)。

2013年,Sutskever等對傳統(tǒng)動量算法改進動量更新過程使得訓(xùn)練更加穩(wěn)定。而Recht等提出并行SGD以適應(yīng)現(xiàn)代海量數(shù)據(jù)集的訓(xùn)練任務(wù)。

批規(guī)范化(Batch normalization)

當(dāng)訓(xùn)練一個深度神經(jīng)網(wǎng)絡(luò)時,由于各層參數(shù)不斷變化,所以各層輸入的概率分布也在不斷的變化,也導(dǎo)致了非線性激活函數(shù)(如sigmoid等)正負兩邊都會飽和,使得訓(xùn)練迭代的過程變得極其緩慢甚至無法進行。這時候,通常需要采用較小的學(xué)習(xí)率以及精細進行權(quán)重初始化。loffe等將這種現(xiàn)象稱為“內(nèi)部協(xié)方差偏移”(internal covariate shift),并提出了批規(guī)范化(Batch normalization,BN)解決此類問題。

該論文中提出在每次隨機梯度下降迭代時,在最小批量樣本(mini-batch)內(nèi)做規(guī)范化操作,使得輸出結(jié)果各個維度的均值為0,方差為1,有效地避免了非線性激活函數(shù)的飽和問題(以sigmoid為例,觀察sigmoid函數(shù)即可知,該函數(shù)輸入集中在0附近時,其輸出梯度較大);同時也讓梯度變化受參數(shù)及其初值的影響減小。

假設(shè)對當(dāng)前隱含層執(zhí)行規(guī)范化,其輸入有d個,分別為 x=〖[x_1,x_1,…,x_d]〗^T,則其第k維輸出如下:

x ?k = (x_k-μβ)/√(δ_β^2+?) (1-13)

其中,μβ和δβ^2分別為最小批量樣本的均值和方差。

為了加強其表示能力,原作中引入了一對可學(xué)習(xí)參數(shù) γ,β,使得:

y_k=〖BN〗_(γ,β) (x_k )= γx ?_k+β (1-14)

總體而言,批規(guī)范化(Batch normalization)作用可以歸納如下:

(1) 可以使用更高的學(xué)習(xí)率,加快了訓(xùn)練速度;

(2) 可以移除或使用較低的dropout(下一小節(jié)將作介紹)。dropout是常用的防止過擬合的方法,較低的dropout也可以提高訓(xùn)練速度。

(3) 減少圖像預(yù)處理的使用。由于現(xiàn)在訓(xùn)練迭代次數(shù)降低,所以可以對樣本數(shù)據(jù)少做一些圖像扭曲,讓神經(jīng)網(wǎng)絡(luò)多從真實的數(shù)據(jù)中學(xué)習(xí)。

當(dāng)然,對于上述問題的解決辦法并不是唯一的,Razvan等提出的自然梯度(Natural Gradient)也是對解決這一問題的一種思路。

Dropout

眾所周知,過擬合問題一直是機器學(xué)習(xí)的算法的致力于解決的問題。對于大型神經(jīng)網(wǎng)絡(luò)來說,其參數(shù)規(guī)模相比于淺層學(xué)習(xí)算法有了躍進式的增加,所以相對來說也更加容易發(fā)生過擬合的現(xiàn)象。而為了解決過擬合問題,一般會采用集成方法,即同時訓(xùn)練多個模型進行組合,然而這種方法費時費力也不能保證取得預(yù)期效果。

2012年,Hinton等提出Dropout用于解決神經(jīng)網(wǎng)絡(luò)訓(xùn)練易過擬合的問題。通過在其訓(xùn)練過程中,按照事先規(guī)定的概率暫時屏蔽掉其中的某些神經(jīng)元。由于這種屏蔽是暫時而是隨機的,對于隨機梯度下降來說,相當(dāng)于每一次批量樣本的訓(xùn)練均是在訓(xùn)練一個新的網(wǎng)絡(luò)。極端情況下,對于一個n節(jié)點的網(wǎng)絡(luò),相當(dāng)于同時在訓(xùn)練2^n個不同網(wǎng)絡(luò)模型, 但此時需要優(yōu)化的參數(shù)數(shù)量確實不變的,這也一定程度上符合傳統(tǒng)的集成方法的思想而同時解決了其費時的問題。

其數(shù)學(xué)表達如下:

y= εx (1-15)

其中,ε以一定的概率p等于0,使得該神經(jīng)元節(jié)點x暫時被屏蔽。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

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

    自動駕駛中Transformer大模型會取代深度學(xué)習(xí)嗎?

    [首發(fā)于智駕最前沿微信公眾號]近年來,隨著ChatGPT、Claude、文心一言等大語言模型在生成文本、對話交互等領(lǐng)域的驚艷表現(xiàn),“Transformer架構(gòu)是否正在取代傳統(tǒng)深度學(xué)習(xí)”這一話題一直被
    的頭像 發(fā)表于 08-13 09:15 ?3794次閱讀
    自動駕駛中Transformer大<b class='flag-5'>模型</b>會取代<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>嗎?

    模型推理顯存和計算量估計方法研究

    方法。 一、引言 大模型推理是指在已知輸入數(shù)據(jù)的情況下,通過深度學(xué)習(xí)模型進行預(yù)測或分類的過程。然
    發(fā)表于 07-03 19:43

    嵌入式AI技術(shù)之深度學(xué)習(xí)數(shù)據(jù)樣本預(yù)處理過程中使用合適的特征變換對深度學(xué)習(xí)的意義

    ? 作者:蘇勇Andrew 使用神經(jīng)網(wǎng)絡(luò)實現(xiàn)機器學(xué)習(xí),網(wǎng)絡(luò)的每個層都將對輸入的數(shù)據(jù)做一次抽象,多層神經(jīng)網(wǎng)絡(luò)構(gòu)成深度學(xué)習(xí)的框架,可以深度理解
    的頭像 發(fā)表于 04-02 18:21 ?1189次閱讀

    在OpenVINO?工具套件的深度學(xué)習(xí)工作臺中無法導(dǎo)出INT8模型怎么解決?

    無法在 OpenVINO? 工具套件的深度學(xué)習(xí) (DL) 工作臺中導(dǎo)出 INT8 模型
    發(fā)表于 03-06 07:54

    模型領(lǐng)域常用名詞解釋(近100個)

    本文總結(jié)了大模型領(lǐng)域常用的近100個名詞解釋,并按照模型架構(gòu)與基礎(chǔ)概念,訓(xùn)練方法與技術(shù),模型優(yōu)化與壓縮,推理與應(yīng)用,計算與性能優(yōu)化,
    的頭像 發(fā)表于 02-19 11:49 ?1145次閱讀
    大<b class='flag-5'>模型</b>領(lǐng)域<b class='flag-5'>常用</b>名詞解釋(近100個)

    【「基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化」閱讀體驗】+大模型微調(diào)技術(shù)解讀

    今天學(xué)習(xí)<基于大模型的RAG應(yīng)用開發(fā)與優(yōu)化>這本書。大模型微調(diào)是深度學(xué)習(xí)領(lǐng)域中的一項關(guān)鍵技術(shù),它指的是在已經(jīng)預(yù)訓(xùn)練好的大型
    發(fā)表于 01-14 16:51

    傳統(tǒng)機器學(xué)習(xí)方法和應(yīng)用指導(dǎo)

    用于開發(fā)生物學(xué)數(shù)據(jù)的機器學(xué)習(xí)方法。盡管深度學(xué)習(xí)(一般指神經(jīng)網(wǎng)絡(luò)算法)是一個強大的工具,目前也非常流行,但它的應(yīng)用領(lǐng)域仍然有限。與深度
    的頭像 發(fā)表于 12-30 09:16 ?1666次閱讀
    傳統(tǒng)機器<b class='flag-5'>學(xué)習(xí)方法</b>和應(yīng)用指導(dǎo)

    Flexus X 實例 ultralytics 模型 yolov10 深度學(xué)習(xí) AI 部署與應(yīng)用

    前言: ???深度學(xué)習(xí)新紀(jì)元,828 B2B 企業(yè)節(jié) Flexus X 實例特惠!想要高效訓(xùn)練 YOLOv10 模型,實現(xiàn)精準(zhǔn)圖像識別?Flexus X 以卓越算力,助您輕松駕馭大規(guī)模數(shù)據(jù)
    的頭像 發(fā)表于 12-24 12:24 ?1082次閱讀
    Flexus X 實例 ultralytics <b class='flag-5'>模型</b> yolov10 <b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b> AI 部署與應(yīng)用

    AI模型部署邊緣設(shè)備的奇妙之旅:目標(biāo)檢測模型

    可能在訓(xùn)練數(shù)據(jù)上表現(xiàn)良好,但在遇到未曾見過的數(shù)據(jù)(例如不同環(huán)境、光照條件、角度等)時性能可能會下降。 對異常值敏感:如果訓(xùn)練集中包含異常值或者噪聲數(shù)據(jù),這可能導(dǎo)致模型
    發(fā)表于 12-19 14:33

    NPU在深度學(xué)習(xí)中的應(yīng)用

    設(shè)計的硬件加速器,它在深度學(xué)習(xí)中的應(yīng)用日益廣泛。 1. NPU的基本概念 NPU是一種專門針對深度學(xué)習(xí)算法優(yōu)化的處理器,它與傳統(tǒng)的CPU和GPU有所不同。NPU通常具有高度并行的處理能
    的頭像 發(fā)表于 11-14 15:17 ?2616次閱讀

    pcie在深度學(xué)習(xí)中的應(yīng)用

    深度學(xué)習(xí)模型通常需要大量的數(shù)據(jù)和強大的計算能力來訓(xùn)練。傳統(tǒng)的CPU計算資源有限,難以滿足深度學(xué)習(xí)
    的頭像 發(fā)表于 11-13 10:39 ?1697次閱讀

    深度學(xué)習(xí)模型的魯棒性優(yōu)化

    深度學(xué)習(xí)模型的魯棒性優(yōu)化是一個復(fù)雜但至關(guān)重要的任務(wù),它涉及多個方面的技術(shù)和策略。以下是一些關(guān)鍵的優(yōu)化方法: 一、數(shù)據(jù)預(yù)處理與
    的頭像 發(fā)表于 11-11 10:25 ?1866次閱讀

    PyTorch GPU 加速訓(xùn)練模型方法

    深度學(xué)習(xí)領(lǐng)域,GPU加速訓(xùn)練模型已經(jīng)成為提高訓(xùn)練效率和縮短訓(xùn)練時間的重要手段。PyTorch作為一個流行的深度學(xué)習(xí)框架,提供了豐富的工具和
    的頭像 發(fā)表于 11-05 17:43 ?1992次閱讀

    Pytorch深度學(xué)習(xí)訓(xùn)練的方法

    掌握這 17 種方法,用最省力的方式,加速你的 Pytorch 深度學(xué)習(xí)訓(xùn)練。
    的頭像 發(fā)表于 10-28 14:05 ?919次閱讀
    Pytorch<b class='flag-5'>深度</b><b class='flag-5'>學(xué)習(xí)</b>訓(xùn)練的<b class='flag-5'>方法</b>

    GPU深度學(xué)習(xí)應(yīng)用案例

    GPU在深度學(xué)習(xí)中的應(yīng)用廣泛且重要,以下是一些GPU深度學(xué)習(xí)應(yīng)用案例: 一、圖像識別 圖像識別是深度學(xué)習(xí)
    的頭像 發(fā)表于 10-27 11:13 ?1970次閱讀