編者按:入門深度學(xué)習(xí)的方法有很多,其中最便捷的是在線課程。但是,從做出這項(xiàng)選擇起,新手要面臨的就不僅是全新的知識(shí)體系,還有無(wú)數(shù)的陌生術(shù)語(yǔ)。在開始閱讀前,請(qǐng)自問(wèn)自答:什么是Adam、ReLU、YOLO?什么是AdaGrad、Dropout、Xavier Initialization?如果發(fā)現(xiàn)這很困難,請(qǐng)跟隨Jan Zawadzki的腳步,有條理地去回顧自己的記憶碎片。
本文旨在解釋深度學(xué)習(xí)的一些常用術(shù)語(yǔ),尤其是吳恩達(dá)在deeplearning.ai的Coursera課程中會(huì)頻繁提到的重要詞匯。每個(gè)詞條包含意義闡釋、圖片和相關(guān)鏈接(公眾號(hào)讀者請(qǐng)點(diǎn)擊原文查看),希望能對(duì)深度學(xué)習(xí)初學(xué)者和從業(yè)者有所幫助。
Activation Function(激活函數(shù))
激活函數(shù)的作用是對(duì)輸入執(zhí)行非線性變換,將輸入乘以權(quán)重并添加到偏置項(xiàng)中。目前最常用的激活函數(shù)有ReLU、tanh和sigmoid。
Adam Optimization?(Adam優(yōu)化)
Adam優(yōu)化可以代替隨機(jī)梯度下降,用來(lái)迭代調(diào)整網(wǎng)絡(luò)權(quán)重。根據(jù)論文Adam: A Method for Stochastic Optimization的說(shuō)法,Adam在計(jì)算上是高效的,適用于大數(shù)據(jù)集,并且?guī)缀醪恍枰瑓?shù)調(diào)整。它也沒(méi)有預(yù)定義的、固定的學(xué)習(xí)率,而是采用自適應(yīng)學(xué)習(xí)率。在實(shí)際應(yīng)用中,Adam現(xiàn)在是深度學(xué)習(xí)模型中的一種默認(rèn)優(yōu)化算法。
Adaptive Gradient Algorithm?(自適應(yīng)梯度算法)
AdaGrad是一種梯度下降優(yōu)化算法,它根據(jù)參數(shù)在訓(xùn)練期間的更新頻率進(jìn)行自適應(yīng)調(diào)整,更新幅度小、頻率快。它在非常稀疏的數(shù)據(jù)集上表現(xiàn)良好,如用于在自然語(yǔ)言處理任務(wù)中調(diào)整詞嵌入。相關(guān)論文:Adaptive Subgradient Methods for Online Learning and Stochastic Optimization。
Average Pooling(平均池化)
平均池化指的是對(duì)卷積操作的結(jié)果計(jì)算平均值,并把這個(gè)值作為圖像區(qū)域池化后的值。它通常用于縮小輸入的大小,主要出現(xiàn)在比較老的卷積神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)中,在現(xiàn)在流行的CNN里,更常見的是maximum pooling(最大池化)。
AlexNet
AlexNet是一個(gè)流行的CNN架構(gòu),有八層,它比LeNet更廣泛,因此訓(xùn)練用時(shí)也更長(zhǎng)。2012年,AlexNet贏得了ImageNet圖像分類挑戰(zhàn)。相關(guān)論文:ImageNet Classification with Deep Convolutional Neural Networks。
Backpropagation(反向傳播)
反向傳播是一種用于調(diào)整網(wǎng)絡(luò)權(quán)重以最小化神經(jīng)網(wǎng)絡(luò)損失函數(shù)的常用方法,它在神經(jīng)網(wǎng)絡(luò)中從后向前計(jì)算,通過(guò)對(duì)每個(gè)激活函數(shù)進(jìn)行梯度下降重新調(diào)整權(quán)重。
Batch Gradient Descent(BGD)
BGD是一種常規(guī)的梯度下降優(yōu)化算法,它更新的是整個(gè)訓(xùn)練集的參數(shù)。在更新參數(shù)前,它必須計(jì)算整個(gè)訓(xùn)練集的梯度,因此如果數(shù)據(jù)集很大,BGD可能會(huì)很慢。
Batch Normalization
Batch Normalization指的是把神經(jīng)網(wǎng)絡(luò)層中的值歸一化為0到1之間的值,方便更快訓(xùn)練神經(jīng)網(wǎng)絡(luò)。
Bias (偏差)
當(dāng)模型在訓(xùn)練集上精度欠佳時(shí),它被稱為欠擬合。當(dāng)模型具有高偏差時(shí),它通常不會(huì)在測(cè)試集上又高準(zhǔn)確率。
Classification?(分類)
分類指目標(biāo)變量屬于不同的類,它們不是連續(xù)變量。常見的分類任務(wù)有圖像分類、欺詐檢測(cè)、自然語(yǔ)言處理的某些問(wèn)題等。
Convolution?(卷積)
卷積指的是將輸入與filter相乘的操作。它是卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),在識(shí)別圖像中的邊緣和物體方面表現(xiàn)出色。
Cost Function?(損失函數(shù))
損失函數(shù)又稱loss function,指的是模型的輸出與實(shí)際情況之間的差異,這是深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的關(guān)鍵要素之一,因?yàn)樗鼈儤?gòu)成了參數(shù)更新的基礎(chǔ)。通過(guò)將前向傳播的結(jié)果與真實(shí)結(jié)果相比較,神經(jīng)網(wǎng)絡(luò)能相應(yīng)地調(diào)整網(wǎng)絡(luò)權(quán)重以最小化損失函數(shù),從而提高準(zhǔn)確率。常用的損失函數(shù)有均方根誤差。
Deep Neural Network(深度神經(jīng)網(wǎng)絡(luò))
深度神經(jīng)網(wǎng)絡(luò)是具有許多隱藏層(通常超過(guò)5層)的神經(jīng)網(wǎng)絡(luò),但具體以多少層為界,學(xué)界還沒(méi)有定義。這是機(jī)器學(xué)習(xí)算法的一種強(qiáng)大形式,它在自動(dòng)駕駛、發(fā)現(xiàn)行星等任務(wù)中已有應(yīng)用。
Derivative?(導(dǎo)數(shù))
數(shù)是特定點(diǎn)處函數(shù)的斜率。計(jì)算導(dǎo)數(shù)的作用是用梯度下降算法將權(quán)重參數(shù)調(diào)整到局部最小值。
Dropout
Dropout是一種在深度神經(jīng)網(wǎng)絡(luò)中隨機(jī)消除節(jié)點(diǎn)及其連接的正則化技術(shù)。它可以防止模型過(guò)擬合,同時(shí)加快深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練速度。每次更新參數(shù)時(shí),Dropout會(huì)在訓(xùn)練期間丟棄不同的節(jié)點(diǎn),這就迫使相鄰節(jié)點(diǎn)之間避免過(guò)多依賴,并始終保持自身的正確表示。它已經(jīng)在一些分類任務(wù)上明顯改善了模型精度,相關(guān)論文:Dropout: A Simple Way to Prevent Neural Networks from Overfitting。
End-to-End Learning?(端到端學(xué)習(xí))
端到端學(xué)習(xí)指的是算法能夠自行解決整個(gè)任務(wù),不需要額外的人為干預(yù)(如模型切換或新數(shù)據(jù)標(biāo)記)。案例:NVIDIA前年發(fā)表了一篇論文End to End Learning for Self-Driving Cars,他們訓(xùn)練了一個(gè)只需根據(jù)單個(gè)前置攝像頭的原始圖像就能讓自動(dòng)駕駛汽車自行轉(zhuǎn)向的CNN。
Epoch
一個(gè)Epoch表示訓(xùn)練集中的每個(gè)樣本都已經(jīng)進(jìn)行過(guò)一次完整的前向傳播和反向傳播。單個(gè)Epoch涉及每個(gè)訓(xùn)練樣本的迭代。
Forward Propagation?(前向傳播)
前向傳播就是數(shù)據(jù)被輸入神經(jīng)網(wǎng)絡(luò)后,經(jīng)過(guò)隱藏層、激活函數(shù),最后形成輸出的過(guò)程。當(dāng)節(jié)點(diǎn)權(quán)重經(jīng)過(guò)訓(xùn)練后,前向傳播能預(yù)測(cè)輸入樣本的結(jié)果。
Fully-Connected layer?(全連接層)
全連接層指的是和上一層的節(jié)點(diǎn)完全連接的神經(jīng)網(wǎng)絡(luò)層,它把上一層的輸出作為輸入,并用其權(quán)重轉(zhuǎn)換輸入,將結(jié)果傳遞給下一層。
Gated Recurrent Unit(GRU)
GRU是RNN的一種,主要用于自然語(yǔ)言處理任務(wù),作用是對(duì)給定輸入進(jìn)行多次變換。和LSTM一樣,GRU可以避免RNN中的梯度消失問(wèn)題,不同的是它只有兩個(gè)門(沒(méi)有遺忘門),因此在實(shí)現(xiàn)類似性能時(shí)計(jì)算效率更高。相關(guān)論文:Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation。
Human-Level Performance
Human-Level Performance從字面上理解就是人類級(jí)別的表現(xiàn),它表示一組人類專家的最佳表現(xiàn)。作為神經(jīng)網(wǎng)絡(luò)性能的一種常用衡量標(biāo)準(zhǔn),人類表現(xiàn)在改進(jìn)神經(jīng)網(wǎng)絡(luò)的過(guò)程中一直發(fā)揮著作用。
Hyperparameters?(超參數(shù))
超參數(shù)決定的神經(jīng)網(wǎng)絡(luò)的性能,常見的超參數(shù)有學(xué)習(xí)率、梯度下降迭代次數(shù)、隱藏層的數(shù)量和激活函數(shù)。不要將DNN自學(xué)的參數(shù)、權(quán)重和超參數(shù)混淆。
ImageNet
ImageNet是一個(gè)包含上千個(gè)圖像及其注釋的數(shù)據(jù)集,它是非常有用的圖像分類任務(wù)資源。
Iteration?(迭代)
迭代指的是神經(jīng)網(wǎng)絡(luò)前向傳播和反向傳播的總次數(shù)。例如,假設(shè)你的訓(xùn)練集有5個(gè)batch,一共訓(xùn)練了2個(gè)epoch,那么你就一共進(jìn)行了10次迭代。
Gradient Descent?(梯度下降)
梯度下降是一種幫助神經(jīng)網(wǎng)絡(luò)決定如何調(diào)整參數(shù)以最小化損失函數(shù)的方法。我們可以用它重復(fù)調(diào)整參數(shù),直到找到全局最小值。CSDN上翻譯了Sebastian Ruder的《梯度下降優(yōu)化算法綜述》,非常值得閱讀。
Layer
Layer指的是一組轉(zhuǎn)換輸入的激活函數(shù)。如下圖所示,神經(jīng)網(wǎng)絡(luò)通常會(huì)使用多個(gè)隱藏層來(lái)創(chuàng)建輸出,常見的有輸入層、隱藏層和輸出層。
Learning Rate Decay(學(xué)習(xí)率衰減)
學(xué)習(xí)率衰減指的是在訓(xùn)練期間改變神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率,它反映了學(xué)習(xí)的靈活性。在深度學(xué)習(xí)實(shí)踐中,隨著訓(xùn)練進(jìn)行,學(xué)習(xí)率一般是逐漸衰減的。
Maximum Pooling(最大池化)
最大池化表示只選擇特定輸入?yún)^(qū)域的最大值,它通常用于CNN。以減小輸入的大小。
Long Short-Term Memory(LSTM)
LSTM是一種特殊的RNN,能夠?qū)W習(xí)輸入的上下文。當(dāng)相應(yīng)的輸入遠(yuǎn)離彼此時(shí),常規(guī)RNN會(huì)存在梯度消失問(wèn)題,而LSTM可以學(xué)習(xí)這些長(zhǎng)期依賴性。相關(guān)論文:LONG SHORT-TERM MEMORY。
Mini-Batch Gradient Descent
Mini-Batch Gradient Descent是一種優(yōu)化算法,它先把訓(xùn)練數(shù)據(jù)分成一系列子集,再在上面進(jìn)行梯度下降。由于這個(gè)過(guò)程是可以并行的,各個(gè)worker可以同時(shí)分別迭代不同的mini batch,因此它計(jì)算效率更高、收斂更穩(wěn)健,是batch和SGD的一種有效組合。
Momentum(動(dòng)量)
Momentum也是一種梯度下降優(yōu)化算法,用于平滑隨機(jī)梯度下降法的振蕩。它先計(jì)算先前采取的步驟的方向的平均方向,并在此方向上調(diào)整參數(shù)更新。這一術(shù)語(yǔ)來(lái)自經(jīng)典物理學(xué)中的動(dòng)量概念,當(dāng)我們沿著一座小山坡向下扔球時(shí),球在沿著山坡向下滾動(dòng)的過(guò)程中收集動(dòng)量,速度不斷增加。參數(shù)更新也是如此。
Neural Network(神經(jīng)網(wǎng)絡(luò))
神經(jīng)網(wǎng)絡(luò)是一種轉(zhuǎn)換輸入的機(jī)器學(xué)習(xí)模型,最基礎(chǔ)的NN具有輸入層、隱藏層和輸出層,隨著技術(shù)的不斷發(fā)展,它現(xiàn)在已經(jīng)成為查找數(shù)據(jù)中復(fù)雜模式的首選工具。
Non-Max Suppression(非極大抑制)
非極大抑制是物體檢測(cè)領(lǐng)域的一種常用算法,它也是YOLO的一部分。它能消除多余的框,找到最佳的物體檢測(cè)的位置。相關(guān)論文:Learning non-maximum suppression。
Recurrent Neural Networks?(RNN)
RNN允許神經(jīng)網(wǎng)絡(luò)“理解”語(yǔ)音、文本和音樂(lè)的上下文。它通過(guò)讓信息循環(huán)通過(guò)網(wǎng)絡(luò),從而在較早和較晚的層之間保持輸入的重要特征。
ReLU
ReLU是一個(gè)簡(jiǎn)單的線性變換單元,如果輸入小于零,則輸出為零,否則輸出等于輸入。它通常是現(xiàn)在首選的激活函數(shù),可以幫助更快地訓(xùn)練。
Regression(回歸)
和分類相對(duì)應(yīng),回歸也是統(tǒng)計(jì)學(xué)習(xí)的一種形式,只不過(guò)它的輸出是連續(xù)的變量,而不是分類值。分類為輸入變量分配了一個(gè)類,但回歸為輸入變量分配的是無(wú)限多個(gè)可能的值,而且它通常是一個(gè)數(shù)字。常見的回歸任務(wù)有房?jī)r(jià)預(yù)測(cè)和客戶年齡預(yù)測(cè)。
Root Mean Squared Propagation(RMSProp)
RMSProp隨機(jī)梯度下降優(yōu)化方法的擴(kuò)展,它以每個(gè)參數(shù)的學(xué)習(xí)率為特征,根據(jù)參數(shù)在先前迭代中的變化速度來(lái)調(diào)整學(xué)習(xí)率。
Parameters?(參數(shù))
參數(shù)即在應(yīng)用激活函數(shù)之前轉(zhuǎn)換輸入的DNN的權(quán)重。神經(jīng)網(wǎng)絡(luò)的每一層都有自己的一組參數(shù)。利用反向傳播算法,我們可以通過(guò)調(diào)整參數(shù)最小化損失函數(shù)。
Softmax
Softmax函數(shù),或稱歸一化指數(shù)函數(shù),是邏輯函數(shù)的一種推廣,常用于DNN的最后一層。它的本質(zhì)就是將一個(gè)K維的任意實(shí)數(shù)向量壓縮(映射)成另一個(gè)K維的實(shí)數(shù)向量,其中向量中的每個(gè)元素取值都介于(0,1)之間。它非常適合有兩個(gè)以上輸出的分類任務(wù)。
Stochastic Gradient Descent?(隨機(jī)梯度下降)
隨機(jī)梯度下降法是梯度下降法在機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)變種,它通過(guò)抽樣的梯度來(lái)近似表示真實(shí)的梯度,從而避免大量的計(jì)算。
Supervised Learning(監(jiān)督學(xué)習(xí))
監(jiān)督學(xué)習(xí)是機(jī)器學(xué)習(xí)的一種形式,其中每個(gè)輸入樣本都包含經(jīng)注釋的標(biāo)簽。這些標(biāo)簽的作用是將DNN的輸出和真實(shí)結(jié)果做對(duì)比,并最小化損失函數(shù)。
Transfer Learning?(遷移學(xué)習(xí))
遷移學(xué)習(xí)是一種將一個(gè)神經(jīng)網(wǎng)絡(luò)的參數(shù)用于不同任務(wù)而無(wú)需重新訓(xùn)練整個(gè)網(wǎng)絡(luò)的技術(shù)。它的具體方法是使用先前訓(xùn)練過(guò)的網(wǎng)絡(luò)中的權(quán)重并刪除輸出層,然后用你自己的softmax或logistic圖層替換最后一層,再次訓(xùn)練網(wǎng)絡(luò)。之所以有效,是因?yàn)檩^低的層通常會(huì)檢測(cè)到類似的邊緣,這些邊緣對(duì)其他圖像分類任務(wù)也是有效的。
Unsupervised Learning(無(wú)監(jiān)督學(xué)習(xí))
無(wú)監(jiān)督學(xué)習(xí)也是機(jī)器學(xué)習(xí)的一種形式,但是它的輸出類是未知的。常見的無(wú)監(jiān)督學(xué)習(xí)方法有GAN和VAE。
Validation Set(驗(yàn)證集)
驗(yàn)證集通常被用于尋找深度神經(jīng)網(wǎng)絡(luò)的最佳超參數(shù)。訓(xùn)練好DNN后,我們可以在驗(yàn)證集上測(cè)試不同的超參數(shù)組合,然后選擇性能最好的組合在測(cè)試集上做最終預(yù)測(cè)。在使用過(guò)程中,注意平衡各集的數(shù)據(jù)占比,比如在有大量數(shù)據(jù)可用的情況下,訓(xùn)練集的數(shù)據(jù)占比應(yīng)該高達(dá)99%,而驗(yàn)證集合測(cè)試集應(yīng)該各占0.5%。
Vanishing Gradients(梯度消失)
梯度消失是神經(jīng)網(wǎng)絡(luò)到達(dá)一定深度后會(huì)出現(xiàn)的問(wèn)題。在反向傳播中,權(quán)重根據(jù)其梯度或衍生物進(jìn)行調(diào)整,但在深度神經(jīng)網(wǎng)絡(luò)中,較早層的梯度可能會(huì)變得非常小,以至于權(quán)重根本不會(huì)更新。避免這個(gè)問(wèn)題的一種做法是使用ReLU激活函數(shù)。
Variance(方差)
當(dāng)DNN過(guò)擬合訓(xùn)練數(shù)據(jù)時(shí),我們稱這之中存在方差。DNN無(wú)法將噪聲與模式區(qū)分開來(lái),并對(duì)訓(xùn)練數(shù)據(jù)中的每個(gè)方差進(jìn)行建模,具有高方差的模型通常無(wú)法準(zhǔn)確推廣到新數(shù)據(jù)。
VGG-16
VGG-16是一種CNN流行網(wǎng)絡(luò)架構(gòu),它簡(jiǎn)化了AlexNet,總共有16層。一些研究已經(jīng)證實(shí),許多經(jīng)預(yù)訓(xùn)練的VGG模型可以通過(guò)遷移學(xué)習(xí)被用于其他新任務(wù)。
Xavier Initialization?(Xavier初始化)
Xavier初始化是我們?cè)谧?a href="http://wenjunhu.com/tags/編碼器/" target="_blank">編碼器中會(huì)使用到一種參數(shù)初始化方法,它在第一個(gè)隱藏層中分配起始權(quán)重,以便輸入信號(hào)深入神經(jīng)網(wǎng)絡(luò)。之后,它再根據(jù)節(jié)點(diǎn)和輸出的數(shù)量來(lái)衡量權(quán)重,從而防止信號(hào)在網(wǎng)絡(luò)中變得太小或太大。
YOLO
YOLO是是目前比較流行的對(duì)象檢測(cè)算法,它把物體檢測(cè)問(wèn)題處理成回歸問(wèn)題,用一個(gè)卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)就可以從輸入圖像直接預(yù)測(cè)bounding box和類別概率。相關(guān)論文:YOLO9000: Better, Faster, Stronger。
希望本文能幫助你更深入地理解深度學(xué)習(xí)世界中使用的術(shù)語(yǔ),在學(xué)習(xí)Coursera課程時(shí),有需要的讀者不妨把這篇文章放在一旁,更專業(yè)、更高效地掌握老師教授的內(nèi)容。
-
算法
+關(guān)注
關(guān)注
23文章
4615瀏覽量
93017 -
數(shù)據(jù)集
+關(guān)注
關(guān)注
4文章
1208瀏覽量
24727 -
深度學(xué)習(xí)
+關(guān)注
關(guān)注
73文章
5506瀏覽量
121255
原文標(biāo)題:什么是Adam/ReLU/YOLO?這里有一份深度學(xué)習(xí)(.ai)詞典
文章出處:【微信號(hào):jqr_AI,微信公眾號(hào):論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論