偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

小小幾張圖,把深度學(xué)習(xí)講透徹

人工智能 深度學(xué)習(xí)
吳恩達(dá)在推特上展示了一份由 TessFerrandez 完成的深度學(xué)習(xí)專項(xiàng)課程信息圖,這套信息圖優(yōu)美地記錄了深度學(xué)習(xí)課程的知識與亮點(diǎn)。因此它不僅僅適合初學(xué)者了解深度學(xué)習(xí),還適合機(jī)器學(xué)習(xí)從業(yè)者和研究者復(fù)習(xí)基本概念。這不僅僅是一份課程筆記,同時還是一套信息圖與備忘錄。

 吳恩達(dá)在推特上展示了一份由 TessFerrandez 完成的深度學(xué)習(xí)專項(xiàng)課程信息圖,這套信息圖優(yōu)美地記錄了深度學(xué)習(xí)課程的知識與亮點(diǎn)。因此它不僅僅適合初學(xué)者了解深度學(xué)習(xí),還適合機(jī)器學(xué)習(xí)從業(yè)者和研究者復(fù)習(xí)基本概念。這不僅僅是一份課程筆記,同時還是一套信息圖與備忘錄。

  本文將從深度學(xué)習(xí)基礎(chǔ)、卷積網(wǎng)絡(luò)和循環(huán)網(wǎng)絡(luò)三個方面介紹該筆記。

  一、深度學(xué)習(xí)基礎(chǔ)

  1. 深度學(xué)習(xí)基本概念

  2. Logistic回歸

  3. 淺層網(wǎng)絡(luò)的特點(diǎn)

  4. 深度神經(jīng)網(wǎng)絡(luò)的特點(diǎn)

  5. 偏差與方差

  6. 正則化

  7. 最優(yōu)化

  8. 超參數(shù)

  9. 結(jié)構(gòu)化機(jī)器學(xué)習(xí)過程

  10. 誤差分析

  11. 訓(xùn)練集、開發(fā)集與測試集

  12. 其它學(xué)習(xí)方法

  二、卷積網(wǎng)絡(luò)

  13. 卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

  14. 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)

  15. 特殊卷積神經(jīng)網(wǎng)絡(luò)

  16. 實(shí)踐建議

  17. 目標(biāo)檢測算法

  18. 人臉識別

  19. 風(fēng)格遷移

  三、循環(huán)網(wǎng)絡(luò)

  20. 循環(huán)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

  21. NLP 中的詞表征

  22. 序列到序列

  一、深度學(xué)習(xí)基礎(chǔ)

  1. 深度學(xué)習(xí)基本概念

 監(jiān)督學(xué)習(xí): 所有輸入數(shù)據(jù)都有確定的對應(yīng)輸出數(shù)據(jù),在各種網(wǎng)絡(luò)架構(gòu)中,輸入數(shù)據(jù)和輸出數(shù)據(jù)的節(jié)點(diǎn)層都位于網(wǎng)絡(luò)的兩端,訓(xùn)練過程就是不斷地調(diào)整它們之間的網(wǎng)絡(luò)連接權(quán)重。

  左上: 列出了各種不同網(wǎng)絡(luò)架構(gòu)的監(jiān)督學(xué)習(xí),比如標(biāo)準(zhǔn)的神經(jīng)網(wǎng)絡(luò)(NN)可用于訓(xùn)練房子特征和房價之間的函數(shù),卷積神經(jīng)網(wǎng)絡(luò)(CNN)可用于訓(xùn)練圖像和類別之間的函數(shù),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)可用于訓(xùn)練語音和文本之間的函數(shù)。

  左下: 分別展示了 NN、CNN 和 RNN 的簡化架構(gòu)。這三種架構(gòu)的前向過程各不相同,NN 使用的是權(quán)重矩陣(連接)和節(jié)點(diǎn)值相乘并陸續(xù)傳播至下一層節(jié)點(diǎn)的方式;CNN 使用矩形卷積核在圖像輸入上依次進(jìn)行卷積操作、滑動,得到下一層輸入的方式;RNN 記憶或遺忘先前時間步的信息以為當(dāng)前計算過程提供長期記憶。

  右上:NN 可以處理結(jié)構(gòu)化數(shù)據(jù)(表格、數(shù)據(jù)庫等)和非結(jié)構(gòu)化數(shù)據(jù)(圖像、音頻等)。

  右下: 深度學(xué)習(xí)能發(fā)展起來主要是由于大數(shù)據(jù)的出現(xiàn),神經(jīng)網(wǎng)絡(luò)的訓(xùn)練需要大量的數(shù)據(jù);而大數(shù)據(jù)本身也反過來促進(jìn)了更大型網(wǎng)絡(luò)的出現(xiàn)。深度學(xué)習(xí)研究的一大突破是新型激活函數(shù)的出現(xiàn),用 ReLU 函數(shù)替換sigmoid 函數(shù)可以在反向傳播中保持快速的梯度下降過程,sigmoid 函數(shù)在正無窮處和負(fù)無窮處會出現(xiàn)趨于零的導(dǎo)數(shù),這正是梯度消失導(dǎo)致訓(xùn)練緩慢甚至失敗的主要原因。要研究深度學(xué)習(xí),需要學(xué)會「idea—代碼—實(shí)驗(yàn)—idea」的良性循環(huán)。

  2. Logistic回歸

左上:logistic 回歸主要用于二分類問題,如圖中所示,logistic 回歸可以求解一張圖像是不是貓的問題,其中圖像是輸入(x),貓(1)或非貓(0)是輸出。我們可以將 logistic 回歸看成將兩組數(shù)據(jù)點(diǎn)分離的問題,如果僅有線性回歸(激活函數(shù)為線性),則對于非線性邊界的數(shù)據(jù)點(diǎn)(例如,一組數(shù)據(jù)點(diǎn)被另一組包圍)是無法有效分離的,因此在這里需要用非線性激活函數(shù)替換線性激活函數(shù)。在這個案例中,我們使用的是 sigmoid 激活函數(shù),它是值域?yàn)椋?, 1)的平滑函數(shù),可以使神經(jīng)網(wǎng)絡(luò)的輸出得到連續(xù)、歸一(概率值)的結(jié)果,例如當(dāng)輸出節(jié)點(diǎn)為(0.2, 0.8)時,判定該圖像是非貓(0)。

  左下:神經(jīng)網(wǎng)絡(luò)的訓(xùn)練目標(biāo)是確定最合適的權(quán)重 w 和偏置項(xiàng) b,那這個過程是怎么樣的呢?

  這個分類其實(shí)就是一個優(yōu)化問題,優(yōu)化過程的目的是使預(yù)測值 y hat 和真實(shí)值 y 之間的差距最小,形式上可以通過尋找目標(biāo)函數(shù)的最小值來實(shí)現(xiàn)。所以我們首先確定目標(biāo)函數(shù)(損失函數(shù)、代價函數(shù))的形式,然后用梯度下降逐步更新 w、b,當(dāng)損失函數(shù)達(dá)到最小值或者足夠小時,我們就能獲得很好的預(yù)測結(jié)果。

  右上:損失函數(shù)值在參數(shù)曲面上變化的簡圖,使用梯度可以找到最快的下降路徑,學(xué)習(xí)率的大小可以決定收斂的速度和最終結(jié)果。學(xué)習(xí)率較大時,初期收斂很快,不易停留在局部極小值,但后期難以收斂到穩(wěn)定的值;學(xué)習(xí)率較小時,情況剛好相反。一般而言,我們希望訓(xùn)練初期學(xué)習(xí)率較大,后期學(xué)習(xí)率較小,之后會介紹變化學(xué)習(xí)率的訓(xùn)練方法。

  右下:總結(jié)整個訓(xùn)練過程,從輸入節(jié)點(diǎn) x 開始,通過前向傳播得到預(yù)測輸出 y hat,用 y hat 和 y 得到損失函數(shù)值,開始執(zhí)行反向傳播,更新 w 和 b,重復(fù)迭代該過程,直到收斂。

  3. 淺層網(wǎng)絡(luò)的特點(diǎn)

左上: 淺層網(wǎng)絡(luò)即隱藏層數(shù)較少,如圖所示,這里僅有一個隱藏層。

  左下: 這里介紹了不同激活函數(shù)的特點(diǎn):

  sigmoid:sigmoid 函數(shù)常用于二分分類問題,或者多分類問題的最后一層,主要是由于其歸一化特性。sigmoid 函數(shù)在兩側(cè)會出現(xiàn)梯度趨于零的情況,會導(dǎo)致訓(xùn)練緩慢。

  tanh:相對于 sigmoid,tanh 函數(shù)的優(yōu)點(diǎn)是梯度值更大,可以使訓(xùn)練速度變快。

  ReLU:可以理解為閾值激活(spiking model 的特例,類似生物神經(jīng)的工作方式),該函數(shù)很常用,基本是默認(rèn)選擇的激活函數(shù),優(yōu)點(diǎn)是不會導(dǎo)致訓(xùn)練緩慢的問題,并且由于激活值為零的節(jié)點(diǎn)不會參與反向傳播,該函數(shù)還有稀疏化網(wǎng)絡(luò)的效果。

  Leaky ReLU:避免了零激活值的結(jié)果,使得反向傳播過程始終執(zhí)行,但在實(shí)踐中很少用。

  右上: 為什么要使用激活函數(shù)呢?更準(zhǔn)確地說是,為什么要使用非線性激活函數(shù)呢?

  上圖中的實(shí)例可以看出,沒有激活函數(shù)的神經(jīng)網(wǎng)絡(luò)經(jīng)過兩層的傳播,最終得到的結(jié)果和單層的線性運(yùn)算是一樣的,也就是說,沒有使用非線性激活函數(shù)的話,無論多少層的神經(jīng)網(wǎng)絡(luò)都等價于單層神經(jīng)網(wǎng)絡(luò)(不包含輸入層)。

  右下: 如何初始化參數(shù) w、b 的值?

  當(dāng)將所有參數(shù)初始化為零的時候,會使所有的節(jié)點(diǎn)變得相同,在訓(xùn)練過程中只能學(xué)到相同的特征,而無法學(xué)到多層級、多樣化的特征。解決辦法是隨機(jī)初始化所有參數(shù),但僅需少量的方差就行,因此使用 Rand(0.01)進(jìn)行初始化,其中 0.01 也是超參數(shù)之一。

  4. 深度神經(jīng)網(wǎng)絡(luò)的特點(diǎn)

 左上:神經(jīng)網(wǎng)絡(luò)的參數(shù)化容量隨層數(shù)增加而指數(shù)式地增長,即某些深度神經(jīng)網(wǎng)絡(luò)能解決的問題,淺層神經(jīng)網(wǎng)絡(luò)需要相對的指數(shù)量級的計算才能解決。

  左下:CNN 的深度網(wǎng)絡(luò)可以將底層的簡單特征逐層組合成越來越復(fù)雜的特征,深度越大,其能分類的圖像的復(fù)雜度和多樣性就越大。RNN 的深度網(wǎng)絡(luò)也是同樣的道理,可以將語音分解為音素,再逐漸組合成字母、單詞、句子,執(zhí)行復(fù)雜的語音到文本任務(wù)。

  右邊:深度網(wǎng)絡(luò)的特點(diǎn)是需要大量的訓(xùn)練數(shù)據(jù)和計算資源,其中涉及大量的矩陣運(yùn)算,可以在 GPU 上并行執(zhí)行,還包含了大量的超參數(shù),例如學(xué)習(xí)率、迭代次數(shù)、隱藏層數(shù)、激活函數(shù)選擇、學(xué)習(xí)率調(diào)整方案、批尺寸大小、正則化方法等。

  5. 偏差與方差

  那么部署你的機(jī)器學(xué)習(xí)模型需要注意些什么?下圖展示了構(gòu)建 ML 應(yīng)用所需要的數(shù)據(jù)集分割、偏差與方差等問題。

如上所示,經(jīng)典機(jī)器學(xué)習(xí)和深度學(xué)習(xí)模型所需要的樣本數(shù)有非常大的差別,深度學(xué)習(xí)的樣本數(shù)是經(jīng)典 ML 的成千上萬倍。因此訓(xùn)練集、開發(fā)集和測試集的分配也有很大的區(qū)別,當(dāng)然我們假設(shè)這些不同的數(shù)據(jù)集都服從同分布。

  偏差與方差問題同樣是機(jī)器學(xué)習(xí)模型中常見的挑戰(zhàn),上圖依次展示了由高偏差帶來的欠擬合和由高方差帶來的過擬合。一般而言,解決高偏差的問題是選擇更復(fù)雜的網(wǎng)絡(luò)或不同的神經(jīng)網(wǎng)絡(luò)架構(gòu),而解決高方差的問題可以添加正則化、減少模型冗余或使用更多的數(shù)據(jù)進(jìn)行訓(xùn)練。

  當(dāng)然,機(jī)器學(xué)習(xí)模型需要注意的問題遠(yuǎn)不止這些,但在配置我們的 ML 應(yīng)用中,它們是最基礎(chǔ)和最重要的部分。其它如數(shù)據(jù)預(yù)處理、數(shù)據(jù)歸一化、超參數(shù)的選擇等都在后面的信息圖中有所體現(xiàn)。

  6. 正則化

  正則化是解決高方差或模型過擬合的主要手段,過去數(shù)年,研究者提出和開發(fā)了多種適合機(jī)器學(xué)習(xí)算法的正則化方法,如數(shù)據(jù)增強(qiáng)、L2 正則化(權(quán)重衰減)、L1 正則化、Dropout、Drop Connect、隨機(jī)池化和提前終止等。

如上圖左列所示,L1 和 L2 正則化也是是機(jī)器學(xué)習(xí)中使用最廣泛的正則化方法。L1 正則化向目標(biāo)函數(shù)添加正則化項(xiàng),以減少參數(shù)的絕對值總和;而 L2 正則化中,添加正則化項(xiàng)的目的在于減少參數(shù)平方的總和。根據(jù)之前的研究,L1 正則化中的很多參數(shù)向量是稀疏向量,因?yàn)楹芏嗄P蛯?dǎo)致參數(shù)趨近于 0,因此它常用于特征選擇設(shè)置中。此外,參數(shù)范數(shù)懲罰 L2 正則化能讓深度學(xué)習(xí)算法「感知」到具有較高方差的輸入 x,因此與輸出目標(biāo)的協(xié)方差較?。ㄏ鄬υ黾臃讲睿┑奶卣鳈?quán)重將會收縮。

  在中間列中,上圖展示了 Dropout 技術(shù),即暫時丟棄一部分神經(jīng)元及其連接的方法。隨機(jī)丟棄神經(jīng)元可以防止過擬合,同時指數(shù)級、高效地連接不同網(wǎng)絡(luò)架構(gòu)。一般使用了 Dropout 技術(shù)的神經(jīng)網(wǎng)絡(luò)會設(shè)定一個保留率 p,然后每一個神經(jīng)元在一個批量的訓(xùn)練中以概率 1-p 隨機(jī)選擇是否去掉。在最后進(jìn)行推斷時所有神經(jīng)元都需要保留,因而有更高的準(zhǔn)確度。

  Bagging 是通過結(jié)合多個模型降低泛化誤差的技術(shù),主要的做法是分別訓(xùn)練幾個不同的模型,然后讓所有模型表決測試樣例的輸出。而 Dropout 可以被認(rèn)為是集成了大量深層神經(jīng)網(wǎng)絡(luò)的 Bagging 方法,因此它提供了一種廉價的 Bagging 集成近似方法,能夠訓(xùn)練和評估值數(shù)據(jù)數(shù)量的神經(jīng)網(wǎng)絡(luò)。

  最后,上圖還描述了數(shù)據(jù)增強(qiáng)與提前終止等正則化方法。數(shù)據(jù)增強(qiáng)通過向訓(xùn)練數(shù)據(jù)添加轉(zhuǎn)換或擾動來人工增加訓(xùn)練數(shù)據(jù)集。數(shù)據(jù)增強(qiáng)技術(shù)如水平或垂直翻轉(zhuǎn)圖像、裁剪、色彩變換、擴(kuò)展和旋轉(zhuǎn)通常應(yīng)用在視覺表象和圖像分類中。而提前終止通常用于防止訓(xùn)練中過度表達(dá)的模型泛化性能差。如果迭代次數(shù)太少,算法容易欠擬合(方差較小,偏差較大),而迭代次數(shù)太多,算法容易過擬合(方差較大,偏差較?。?。因此,提前終止通過確定迭代次數(shù)解決這個問題。

  7. 最優(yōu)化

  最優(yōu)化是機(jī)器學(xué)習(xí)模型中非常非常重要的模塊,它不僅主導(dǎo)了整個訓(xùn)練過程,同時還決定了最后模型性能的好壞和收斂需要的時長。以下兩張信息圖都展示了最優(yōu)化方法需要關(guān)注的知識點(diǎn),包括最優(yōu)化的預(yù)備和具體的最優(yōu)化方法。

以上展示了最優(yōu)化常常出現(xiàn)的問題和所需要的操作。首先在執(zhí)行最優(yōu)化前,我們需要?dú)w一化輸入數(shù)據(jù),而且開發(fā)集與測試集歸一化的常數(shù)(均值與方差)與訓(xùn)練集是相同的。上圖也展示了歸一化的原因,因?yàn)槿绻卣髦g的量級相差太大,那么損失函數(shù)的表面就是一張狹長的橢圓形,而梯度下降或最速下降法會因?yàn)椤镐忼X」現(xiàn)象而很難收斂,因此歸一化為圓形有助于減少下降方向的震蕩。

  后面的梯度消失與梯度爆炸問題也是十分常見的現(xiàn)象?!柑荻认А怪傅氖请S著網(wǎng)絡(luò)深度增加,參數(shù)的梯度范數(shù)指數(shù)式減小的現(xiàn)象。梯度很小,意味著參數(shù)的變化很緩慢,從而使得學(xué)習(xí)過程停滯。梯度爆炸指神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中大的誤差梯度不斷累積,導(dǎo)致模型權(quán)重出現(xiàn)很大的更新,在極端情況下,權(quán)重的值變得非常大以至于出現(xiàn) NaN 值。

  梯度檢驗(yàn)現(xiàn)在可能用的比較少,因?yàn)槲覀冊?TensorFlow 或其它框架上執(zhí)行最優(yōu)化算法只需要調(diào)用優(yōu)化器就行。梯度檢驗(yàn)一般是使用數(shù)值的方法計算近似的導(dǎo)數(shù)并傳播,因此它能檢驗(yàn)我們基于解析式算出來的梯度是否正確。

  下面就是具體的最優(yōu)化算法了,包括最基本的小批量隨機(jī)梯度下降、帶動量的隨機(jī)梯度下降和 RMSProp 等適應(yīng)性學(xué)習(xí)率算法。

小批量隨機(jī)梯度下降(通常 SGD 指的就是這種)使用一個批量的數(shù)據(jù)更新參數(shù),因此大大降低了一次迭代所需的計算量。這種方法降低了更新參數(shù)的方差,使得收斂過程更為穩(wěn)定;它也能利用流行深度學(xué)習(xí)框架中高度優(yōu)化的矩陣運(yùn)算器,從而高效地求出每個小批數(shù)據(jù)的梯度。通常一個小批數(shù)據(jù)含有的樣本數(shù)量在 50 至 256 之間,但對于不同的用途也會有所變化。

  動量策略旨在加速 SGD 的學(xué)習(xí)過程,特別是在具有較高曲率的情況下。一般而言,動量算法利用先前梯度的指數(shù)衰減滑動平均值在該方向上進(jìn)行修正,從而更好地利用歷史梯度的信息。該算法引入了變量 v 作為參數(shù)在參數(shù)空間中持續(xù)移動的速度向量,速度一般可以設(shè)置為負(fù)梯度的指數(shù)衰減滑動平均值。

  上圖后面所述的 RMSProp 和 Adam 等適應(yīng)性學(xué)習(xí)率算法是目前我們最常用的最優(yōu)化方法。RMSProp 算法(Hinton,2012)修改 AdaGrad 以在非凸情況下表現(xiàn)更好,它改變梯度累積為指數(shù)加權(quán)的移動平均值,從而丟棄距離較遠(yuǎn)的歷史梯度信息。RMSProp 是 Hinton 在公開課上提出的最優(yōu)化算法,其實(shí)它可以視為 AdaDelta 的特例。但實(shí)踐證明 RMSProp 有非常好的性能,它目前在深度學(xué)習(xí)中有非常廣泛的應(yīng)用。

  Adam 算法同時獲得了 AdaGrad 和 RMSProp 算法的優(yōu)點(diǎn)。Adam 不僅如 RMSProp 算法那樣基于一階矩均值計算適應(yīng)性參數(shù)學(xué)習(xí)率,它同時還充分利用了梯度的二階矩均值(即有偏方差/uncentered variance)。

  8. 超參數(shù)

  以下是介紹超參數(shù)的信息圖,它在神經(jīng)網(wǎng)絡(luò)中占據(jù)了重要的作用,因?yàn)樗鼈兛梢灾苯犹嵘P偷男阅堋?/p>

  眾所周知學(xué)習(xí)率、神經(jīng)網(wǎng)絡(luò)隱藏單元數(shù)、批量大小、層級數(shù)和正則化系數(shù)等超參數(shù)可以直接影響模型的性能,而怎么調(diào)就顯得非常重要。目前最常見的還是手動調(diào)參,開發(fā)者會根據(jù)自身建模經(jīng)驗(yàn)選擇「合理」的超參數(shù),然后再根據(jù)模型性能做一些小的調(diào)整。而自動化調(diào)參如隨機(jī)過程或貝葉斯優(yōu)化等仍需要非常大的計算量,且效率比較低。不過近來關(guān)于使用強(qiáng)化學(xué)習(xí)、遺傳算法和神經(jīng)網(wǎng)絡(luò)等方法搜索超參數(shù)有很大的進(jìn)步,研究者都在尋找一種高效而準(zhǔn)確的方法。

  目前的超參數(shù)搜索方法有:

  依靠經(jīng)驗(yàn): 聆聽自己的直覺,設(shè)置感覺上應(yīng)該對的參數(shù)然后看看它是否工作,不斷嘗試直到累趴。

  網(wǎng)格搜索: 讓計算機(jī)嘗試一些在一定范圍內(nèi)均勻分布的數(shù)值。

  隨機(jī)搜索: 讓計算機(jī)嘗試一些隨機(jī)值,看看它們是否好用。

  貝葉斯優(yōu)化: 使用類似 MATLAB bayesopt 的工具自動選取最佳參數(shù)——結(jié)果發(fā)現(xiàn)貝葉斯優(yōu)化的超參數(shù)比你自己的機(jī)器學(xué)習(xí)算法還要多,累覺不愛,回到依靠經(jīng)驗(yàn)和網(wǎng)格搜索方法上去。

  因?yàn)槠邢?,后面的展示將只簡要介紹信息圖,相信它們對各位讀者都十分有幫助。

  9. 結(jié)構(gòu)化機(jī)器學(xué)習(xí)過程

 我們需要按過程或結(jié)構(gòu)來設(shè)定我們的機(jī)器學(xué)習(xí)系統(tǒng),首先需要設(shè)定模型要達(dá)到的目標(biāo),例如它的預(yù)期性能是多少、度量方法是什么等。然后分割訓(xùn)練、開發(fā)和測試集,并預(yù)期可能到達(dá)的優(yōu)化水平。隨后再構(gòu)建模型并訓(xùn)練,在開發(fā)集和測試集完成驗(yàn)證后就可以用于推斷了。

  10. 誤差分析

  在完成訓(xùn)練后,我們可以分析誤差的來源而改進(jìn)性能,包括發(fā)現(xiàn)錯誤的標(biāo)注、不正確的損失函數(shù)等。

  11. 訓(xùn)練集、開發(fā)集與測試集

上圖展示了三個分割數(shù)據(jù)集及其表現(xiàn)所需要注意的地方,也就是說如果它們間有不同的正確率,那么我們該如何修正這些「差別」。例如訓(xùn)練集的正確率明顯高于驗(yàn)證集與測試集表明模型過擬合,三個數(shù)據(jù)集的正確率都明顯低于可接受水平可能是因?yàn)榍窋M合。

  12. 其它學(xué)習(xí)方法

 機(jī)器學(xué)習(xí)和深度學(xué)習(xí)當(dāng)然不止監(jiān)督學(xué)習(xí)方法,還有如遷移學(xué)習(xí)、多任務(wù)學(xué)習(xí)和端到端的學(xué)習(xí)等。

  二、卷積網(wǎng)絡(luò)

  13. 卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

計算機(jī)視覺任務(wù)涉及的數(shù)據(jù)體量是特別大的,一張圖像就有上千個數(shù)據(jù)點(diǎn),更別提高分辨率圖像和視頻了。這時用全連接網(wǎng)絡(luò)的話,參數(shù)數(shù)量太大,因而改用卷積神經(jīng)網(wǎng)絡(luò)(CNN),參數(shù)數(shù)量可以極大地減小。CNN 的工作原理就像用檢測特定特征的過濾器掃描整張圖像,進(jìn)行特征提取,并逐層組合成越來越復(fù)雜的特征。這種「掃描」的工作方式使其有很好的參數(shù)共享特性,從而能檢測不同位置的相同目標(biāo)(平移對稱)。

  卷積核對應(yīng)的檢測特征可以從其參數(shù)分布簡單地判斷,例如,權(quán)重從左到右變小的卷積核可以檢測到黑白豎條紋的邊界,并顯示為中間亮,兩邊暗的特征圖,具體的相對亮暗結(jié)果取決于圖像像素分布和卷積核的相對關(guān)系。卷積核權(quán)重可以直接硬編碼,但為了讓相同的架構(gòu)適應(yīng)不同的任務(wù),通過訓(xùn)練得到卷積核權(quán)重是更好的辦法。

  卷積運(yùn)算的主要參數(shù):

padding:直接的卷積運(yùn)算會使得到的特征圖越來越小,padding 操作會在圖像周圍添加 0 像素值的邊緣,使卷積后得到的特征圖大小和原圖像(長寬,不包括通道數(shù))相同。

  常用的兩個選項(xiàng)是:『VALID』,不執(zhí)行 padding;『SAME』,使輸出特征圖的長寬和原圖像相同。

  stride:兩次卷積操作之間的步長大小。

  一個卷積層上可以有多個卷積核,每個卷積核運(yùn)算得到的結(jié)果是一個通道,每個通道的特征圖的長寬相同,可以堆疊起來構(gòu)成多通道特征圖,作為下一個卷積層的輸入。

  深度卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu):

深度卷積神經(jīng)網(wǎng)絡(luò)的架構(gòu)主要以卷積層、池化層的多級堆疊,最后是全連接層執(zhí)行分類。池化層的主要作用是減少特征圖尺寸,進(jìn)而減少參數(shù)數(shù)量,加速運(yùn)算,使其目標(biāo)檢測表現(xiàn)更加魯棒。

  14. 經(jīng)典卷積神經(jīng)網(wǎng)絡(luò)

  LeNet·5:手寫識別分類網(wǎng)絡(luò),這是第一個卷積神經(jīng)網(wǎng)絡(luò),由 Yann LeCun 提出。

  AlexNet:圖像分類網(wǎng)絡(luò),首次在 CNN 引入 ReLU 激活函數(shù)。

  VGG-16:圖像分類網(wǎng)絡(luò),深度較大。

  15. 特殊卷積神經(jīng)網(wǎng)絡(luò)

ResNet:引入殘差連接,緩解梯度消失和梯度爆炸問題,可以訓(xùn)練非常深的網(wǎng)絡(luò)。

  Network in Network:使用 1x1 卷積核,可以將卷積運(yùn)算變成類似于全連接網(wǎng)絡(luò)的形式,還可以減少特征圖的通道數(shù),從而減少參數(shù)數(shù)量。

  Inception Network:使用了多種尺寸卷積核的并行操作,再堆疊成多個通道,可以捕捉多種規(guī)模的特征,但缺點(diǎn)是計算量太大,可以通過 1x1 卷積減少通道數(shù)。

  16. 實(shí)踐建議

使用開源實(shí)現(xiàn):從零開始實(shí)現(xiàn)時非常困難的,利用別人的實(shí)現(xiàn)可以快速探索更復(fù)雜有趣的任務(wù)。

  數(shù)據(jù)增強(qiáng):通過對原圖像進(jìn)行鏡像、隨機(jī)裁剪、旋轉(zhuǎn)、顏色變化等操作,增加訓(xùn)練數(shù)據(jù)量和多樣性。

  遷移學(xué)習(xí):針對當(dāng)前任務(wù)的訓(xùn)練數(shù)據(jù)太少時,可以將充分訓(xùn)練過的模型用少量數(shù)據(jù)微調(diào)獲得足夠好的性能。

  基準(zhǔn)測試和競賽中表現(xiàn)良好的訣竅:使用模型集成,使用多模型輸出的平均結(jié)果;在測試階段,將圖像裁剪成多個副本分別測試,并將測試結(jié)果取平均。

  17. 目標(biāo)檢測算法

使用開源實(shí)現(xiàn):從零開始實(shí)現(xiàn)時非常困難的,利用別人的實(shí)現(xiàn)可以快速探索更復(fù)雜有趣的任務(wù)。

  數(shù)據(jù)增強(qiáng):通過對原圖像進(jìn)行鏡像、隨機(jī)裁剪、旋轉(zhuǎn)、顏色變化等操作,增加訓(xùn)練數(shù)據(jù)量和多樣性。

  遷移學(xué)習(xí):針對當(dāng)前任務(wù)的訓(xùn)練數(shù)據(jù)太少時,可以將充分訓(xùn)練過的模型用少量數(shù)據(jù)微調(diào)獲得足夠好的性能。

  基準(zhǔn)測試和競賽中表現(xiàn)良好的訣竅:使用模型集成,使用多模型輸出的平均結(jié)果;在測試階段,將圖像裁剪成多個副本分別測試,并將測試結(jié)果取平均。

  17. 目標(biāo)檢測算法

人臉識別有兩大類應(yīng)用:人臉驗(yàn)證(二分分類) 和人臉識別(多人分類)。

  當(dāng)樣本量不足時,或者不斷有新樣本加入時,需要使用 one-shot learning,解決辦法是學(xué)習(xí)相似性函數(shù),即確定兩張圖像的相似性。比如在 Siamese Network 中學(xué)習(xí)人臉識別時,就是利用兩個網(wǎng)絡(luò)的輸出,減少同一個人的兩個輸出的差別,增大不同人的兩個輸出之間的差別。

  19. 風(fēng)格遷移

 風(fēng)格遷移是一個熱門話題,它會在視覺上給人耳目一新的感覺。例如你有一副圖,然后將另一幅圖的風(fēng)格特征應(yīng)用到這幅圖上,比如用一位著名畫家或某一副名畫的風(fēng)格來修改你的圖像,因此我們可以獲得獨(dú)特風(fēng)格的作品。

  三、循環(huán)網(wǎng)絡(luò)

  20. 循環(huán)神經(jīng)網(wǎng)絡(luò)基礎(chǔ)

如上所示,命名實(shí)體識別等序列問題在現(xiàn)實(shí)生活中占了很大的比例,而隱馬爾可夫鏈等傳統(tǒng)機(jī)器學(xué)習(xí)算法只能作出很強(qiáng)的假設(shè)而處理部分序列問題。但近來循環(huán)神經(jīng)網(wǎng)絡(luò)在這些問題上有非常大的突破,RNN 隱藏狀態(tài)的結(jié)構(gòu)以循環(huán)形的形式成記憶,每一時刻的隱藏層的狀態(tài)取決于它的過去狀態(tài),這種結(jié)構(gòu)使得 RNN 可以保存、記住和處理長時期的過去復(fù)雜信號。

  循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)能夠從序列和時序數(shù)據(jù)中學(xué)習(xí)特征和長期依賴關(guān)系。RNN 具備非線性單元的堆疊,其中單元之間至少有一個連接形成有向循環(huán)。訓(xùn)練好的 RNN 可以建模任何動態(tài)系統(tǒng);但是,訓(xùn)練 RNN 主要受到學(xué)習(xí)長期依賴性問題的影響。

  以下展示了 RNN 的應(yīng)用、問題以及變體等:

循環(huán)神經(jīng)網(wǎng)絡(luò)在語言建模等序列問題上有非常強(qiáng)大的力量,但同時它也存在很嚴(yán)重的梯度消失問題。因此像 LSTM 和 GRU 等基于門控的 RNN 有非常大的潛力,它們使用門控機(jī)制保留或遺忘前面時間步的信息,并形成記憶以提供給當(dāng)前的計算過程。

  21. NLP 中的詞表征

 詞嵌入在自然語言處理中非常重要,因?yàn)椴徽搱?zhí)行怎樣的任務(wù),將詞表征出來都是必須的。上圖展示了詞嵌入的方法,我們可以將詞匯庫映射到一個 200 或 300 維的向量,從而大大減少表征詞的空間。此外,這種詞表征的方法還能表示詞的語義,因?yàn)樵~義相近的詞在嵌入空間中距離相近。

  除了以上所述的 Skip Grams,以下還展示了學(xué)習(xí)詞嵌入的常見方法:

GloVe 詞向量是很常見的詞向量學(xué)習(xí)方法,它學(xué)到的詞表征可進(jìn)一步用于語句分類等任務(wù)。

  22. 序列到序列

 序列到序列的方法使用最多的就是編碼器解碼器框架,其它還有束搜索等模塊的介紹。

  編碼器解碼器架構(gòu)加上注意力機(jī)制可以解決非常多的自然語言處理問題,以下介紹了 BLEU 分值和注意力機(jī)制。它們在機(jī)器翻譯的架構(gòu)和評估中都是不能缺少的部分。

以上是所有關(guān)于吳恩達(dá)深度學(xué)習(xí)專項(xiàng)課程的信息圖,由于它們包含的信息較多,我們只介紹了一部分,還有很多內(nèi)容只是簡單的一筆帶過。所以各位讀者最好可以下載該信息圖,并在后面的學(xué)習(xí)過程中慢慢理解與優(yōu)化。

責(zé)任編輯:梁菲 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2020-06-23 09:10:55

Linux零拷貝場景

2022-11-02 15:35:35

Condition代碼線程

2022-07-04 09:43:46

RabbitMQ消息消息隊(duì)列

2019-02-13 19:00:01

深度學(xué)習(xí)機(jī)器學(xué)習(xí)人工神經(jīng)

2022-11-16 14:02:44

2023-01-04 17:19:21

MQ消息中間件

2010-04-29 17:13:25

2021-04-27 08:31:06

event loopJavaScriptsetTimeout函

2023-07-03 08:11:48

java字節(jié)碼字段

2020-10-16 14:59:32

機(jī)器學(xué)習(xí)人工智能神經(jīng)網(wǎng)絡(luò)

2024-08-07 08:19:13

2025-02-17 13:09:59

深度學(xué)習(xí)模型壓縮量化

2019-04-08 12:14:59

Elasticsear程序員Lucene

2025-03-03 01:50:00

深度學(xué)習(xí)微調(diào)遷移學(xué)習(xí)

2015-11-11 11:39:27

51CTO學(xué)院雙十一精品視頻

2021-02-23 08:10:18

Nginx反向代理負(fù)載均衡器

2014-03-19 13:58:47

canvasHTML5

2022-06-02 07:34:09

機(jī)器學(xué)習(xí)CNN深度學(xué)習(xí)

2023-09-26 22:13:09

深度學(xué)習(xí)

2018-01-03 10:00:39

深度學(xué)習(xí)摳圖消除背景
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號