一、激活函數(shù)(Activation Function)
為了讓神經(jīng)網(wǎng)絡(luò)能夠?qū)W習(xí)復(fù)雜的決策邊界(decision boundary),我們在其一些層應(yīng)用一個(gè)非線性激活函數(shù)。常用的函數(shù)有sigmoid、tanh、ReLU(Rectified Linear Unit 線性修正單元)和以及這些函數(shù)的變體。
二、Adadelta
Adadelta?是基于梯度下降的學(xué)習(xí)算法,可以隨時(shí)間調(diào)整每個(gè)參數(shù)的學(xué)習(xí)率,它比超參數(shù)(hyperparameter)更敏感而且可能會(huì)降低學(xué)習(xí)率。Adadelta 類似于 rmsprop,而且可被用來替代 vanilla SGD。
論文:Adadelta:一種自適應(yīng)學(xué)習(xí)率方法
三、Adagrad
Adagrad?是一種自適應(yīng)學(xué)習(xí)率算法,能夠隨時(shí)間跟蹤平方梯度并自動(dòng)適應(yīng)每個(gè)參數(shù)的學(xué)習(xí)率。它可被用來替代vanillaSGD (#sgd),稀疏數(shù)據(jù)上更是特別有用,可以將更高的學(xué)習(xí)率分配給更新不頻繁的參數(shù)。
論文:用于在線學(xué)習(xí)和隨機(jī)優(yōu)化的自適應(yīng)次梯度方法
四、Adam
Adam?是類似于 rmsprop 的自適應(yīng)學(xué)習(xí)率算法,它通過使用梯度的第一和第二時(shí)刻的運(yùn)行平均值(running average)直接估計(jì),并具有偏差校正功能。
論文:Adam:一種隨機(jī)優(yōu)化方法
五、仿射層(Affine Layer)
這是神經(jīng)網(wǎng)絡(luò)中的一個(gè)全連接層。仿射(Affine)的意思是前面一層中的每一個(gè)神經(jīng)元都連接到當(dāng)前層中的每一個(gè)神經(jīng)元。在許多方面,這是神經(jīng)網(wǎng)絡(luò)的「標(biāo)準(zhǔn)」層。仿射層通常被加在卷積神經(jīng)網(wǎng)絡(luò)或循環(huán)神經(jīng)網(wǎng)絡(luò)做出最終預(yù)測前頂層。仿射層的一般形式為 y = f(Wx + b),其中 x 是層輸入,w 是參數(shù),b 是一個(gè)偏差矢量,f 是一個(gè)非線性激活函數(shù)。
六、注意機(jī)制(Attention Mechanism)
注意機(jī)制由人類視覺注意所啟發(fā),是一種關(guān)注圖像中特定部分的能力。注意機(jī)制可被整合到語言處理和圖像識(shí)別的架構(gòu)中,以幫助網(wǎng)絡(luò)學(xué)習(xí)在做出預(yù)測時(shí)應(yīng)該「關(guān)注」什么。
七、Alexnet
Alexnet?是一種卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)的名字,這種架構(gòu)曾在 2012 年 ILSVRC 挑戰(zhàn)賽中以巨大優(yōu)勢獲勝,它使導(dǎo)致人們重新關(guān)注對用于圖像識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)(CNN)。它由 5 個(gè)卷積層組成。其中一些后面跟隨著最大池化(max-pooling)層和帶有最終 1000 條路徑的 softmax (1000-way softmax)的 3個(gè)全連接層。Alexnet 被引入到了使用深度卷積神經(jīng)網(wǎng)絡(luò)的 ImageNet 分類中。
八、自編碼器(Autoencoder)
自編碼器是一種神經(jīng)網(wǎng)絡(luò)模型,它的目標(biāo)是預(yù)測輸入自身,這通常通過網(wǎng)絡(luò)中某個(gè)地方的「瓶頸(bottleneck)」實(shí)現(xiàn)。通過引入瓶頸,使得網(wǎng)絡(luò)學(xué)習(xí)輸入更低維度的表征,從而將輸入壓縮成一個(gè)好的表征。自編碼器和 PCA 等降維技術(shù)相關(guān),但因?yàn)樗鼈兊姆蔷€性本質(zhì),它們可以學(xué)習(xí)更為復(fù)雜的映射。目前已有一些范圍涵蓋較廣的自編碼器存在,包括降噪自編碼器(Denoising Autoencoders)、變自編碼器(VariationalAutoencoders)和序列自編碼器(Sequence Autoencoders)。
降噪自編碼器論文:
Stacked Denoising Autoencoders: Learning Useful Representationsin a Deep Network with a Local Denoising Criterion
變自編碼器論文:
Auto-Encoding Variational Bayes
序列自編碼器論文:
Semi-supervised Sequence Learning
九、平均池化(Average-Pooling)
平均池化是一種在卷積神經(jīng)網(wǎng)絡(luò)中用于圖像識(shí)別的池化(Pooling)技術(shù)。它的原理是,在特征的局部區(qū)域上滑動(dòng)窗口(如像素),然后再取窗口中所有值的平均值。它將輸入表征壓縮成一種更低維度的表征。
十、反向傳播(Backpropagation)
反向傳播是一種在神經(jīng)網(wǎng)絡(luò)中用來有效地計(jì)算梯度的算法,或稱為前饋計(jì)算圖(feedforwardcomputational graph)。它可以歸結(jié)成從網(wǎng)絡(luò)輸出開始應(yīng)用分化的鏈?zhǔn)椒▌t,然后向后傳播梯度。
論文:
Learning representations by back-propagating errors
十一、通過時(shí)間的反向傳播BPTT:BackpropagationThrough Time
通過時(shí)間的反向傳播是應(yīng)用于循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的反向傳播算法,可被看作是應(yīng)用于 RNN 的標(biāo)準(zhǔn)反向傳播算法,其中的每一個(gè)時(shí)間步驟(time step)都代表一個(gè)計(jì)算層,而且它的參數(shù)是跨計(jì)算層共享的。
RNN?在所有的時(shí)間步驟中都共享了同樣的參數(shù),一個(gè)時(shí)間步驟的錯(cuò)誤必然能「通過時(shí)間」反向到之前所有的時(shí)間步驟,該算法因此得名。處理長序列(數(shù)百個(gè)輸入)時(shí),為降低計(jì)算成本常常使用一種刪節(jié)版的 BPTT。刪節(jié)的 BPTT 會(huì)在固定數(shù)量的步驟之后停止反向傳播錯(cuò)誤。
論文:
Backpropagation Through Time: What It Does and How to Do It
十二、分批標(biāo)準(zhǔn)化(BN:Batch Normalization)
分批標(biāo)準(zhǔn)化是一種按小批量的方式標(biāo)準(zhǔn)化層輸入的技術(shù)。它能加速訓(xùn)練過程,允許使用更高的學(xué)習(xí)率,還可用作規(guī)范器(regularizer)。分批標(biāo)準(zhǔn)化在卷積和前饋神經(jīng)網(wǎng)絡(luò)中應(yīng)用較多,但尚未應(yīng)用到循環(huán)神經(jīng)網(wǎng)絡(luò)上。
論文:分批標(biāo)準(zhǔn)化:通過減少內(nèi)部協(xié)變量位移(Covariate Shift)加速深度網(wǎng)絡(luò)訓(xùn)練(Batch Normalization: Accelerating Deep Network Training by ReducingInternal Covariate Shift)
論文:使用分批標(biāo)準(zhǔn)化的循環(huán)神經(jīng)網(wǎng)絡(luò)(Batch Normalized Recurrent NeuralNetworks)
十三、雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional RNN)
雙向循環(huán)神經(jīng)網(wǎng)絡(luò)是一類包含兩個(gè)方向不同的 RNN 的神經(jīng)網(wǎng)絡(luò)。其中的前向 RNN 從起點(diǎn)向終點(diǎn)讀取輸入序列,而反向 RNN 則從終點(diǎn)向起點(diǎn)讀取。這兩個(gè) RNN 互相彼此堆疊,它們的狀態(tài)通常通過附加兩個(gè)矢量的方式進(jìn)行組合。雙向 RNN 常被用在自然語言問題中,因?yàn)樵谧匀徽Z言中我們需要同時(shí)考慮話語的前后上下文以做出預(yù)測。
論文:雙向循環(huán)神經(jīng)網(wǎng)絡(luò)(Bidirectional Recurrent Neural Networks)
十四、Caffe
Caffe?是由伯克利大學(xué)視覺和學(xué)習(xí)中心開發(fā)的一種深度學(xué)習(xí)框架。在視覺任務(wù)和卷積神經(jīng)網(wǎng)絡(luò)模型中,Caffe應(yīng)用較多。
十五、分類交叉熵?fù)p失(Categorical Cross-Entropy Loss)
分類交叉熵?fù)p失也被稱為負(fù)對數(shù)似然(negative log likelihood)。這是一種用于解決分類問題的流行的損失函數(shù),可用于測量兩種概率分布(通常是真實(shí)標(biāo)簽和預(yù)測標(biāo)簽)之間的相似性。它可用 L = -sum(y * log(y_prediction)) 表示,其中 y 是真實(shí)標(biāo)簽的概率分布(通常是一個(gè)one-hot vector),y_prediction 是預(yù)測標(biāo)簽的概率分布,通常來自一個(gè) softmax。
十六、信道(Channel)
深度學(xué)習(xí)模型的輸入數(shù)據(jù)可以有多個(gè)信道。圖像就是個(gè)典型的例子,它有紅、綠和藍(lán)三個(gè)顏色信道。一個(gè)圖像可以被表示成一個(gè)三維的張量(Tensor),其中的維度對應(yīng)于信道、高度和寬度。自然語言數(shù)據(jù)也可以有多個(gè)信道。
十七、卷積神經(jīng)網(wǎng)絡(luò)(CNN/ConvNet:ConvolutionalNeural Network)
CNN?使用卷積連接從輸入的局部區(qū)域提取特征。大部分 CNN 都包含了卷積層、池化層和仿射層的組合。CNN 憑借其在視覺識(shí)別任務(wù)的卓越性能而獲得普及,它已經(jīng)在該領(lǐng)域保持了好幾年的領(lǐng)先地位。
十八、深度信念網(wǎng)絡(luò)(DBN:Deep Belief Network)
DBN?是一類以無監(jiān)督的方式學(xué)習(xí)數(shù)據(jù)的分層表征的概率圖形模型。DBN 由多個(gè)隱藏層組成,這些隱藏層每一對連續(xù)層之間的神經(jīng)元相互連接。DBN 通過堆疊多個(gè) RBN(限制波爾茲曼機(jī))并一個(gè)接一個(gè)地訓(xùn)練而創(chuàng)建。
論文:深度信念網(wǎng)絡(luò)的一種快速學(xué)習(xí)算法
(A fast learning algorithm for deep belief nets)
十九、Deep Dream
這是谷歌發(fā)明的試圖用來提煉深度卷積神經(jīng)網(wǎng)絡(luò)獲取知識(shí)的技術(shù)。這種技術(shù)可以生成新的圖像或轉(zhuǎn)換已有的圖片從而給它們一種幻夢般的感覺。
二十、Dropout
Dropout?是用于神經(jīng)網(wǎng)絡(luò)防止過擬合的正則化技術(shù)。它通過在每次訓(xùn)練迭代中,隨機(jī)設(shè)置神經(jīng)元中的一小部分為0 來阻止神經(jīng)元共適應(yīng)(co-adapting)。Dropout可以通過多種方式進(jìn)行解讀,例如,從不同網(wǎng)絡(luò)的指數(shù)數(shù)字中隨機(jī)取樣。Dropout 層通過它們在卷積神經(jīng)網(wǎng)絡(luò)中的應(yīng)用而得到普及,也被應(yīng)用到了其它層上,包括輸入嵌入或循環(huán)網(wǎng)絡(luò)。
論文:Dropout: 一種防止神經(jīng)網(wǎng)絡(luò)過擬合的簡單方法
Dropout: A Simple Way to Prevent Neural Networks fromOverfitting
論文:循環(huán)神經(jīng)網(wǎng)絡(luò)正則化
Recurrent Neural Network Regularization
二十一、嵌入(Embedding)
一個(gè)嵌入映射到一個(gè)輸入表征,例如一個(gè)詞或一句話映射到一個(gè)矢量。一種流行的嵌入是詞語嵌入(word embedding,國內(nèi)常用的說法是:詞向量),如 word2vec 或 GloVe。也可以嵌入句子、段落或圖像。例如,把圖像和他們的文本描述映射到一個(gè)共同的嵌入空間,并最小化它們之間的距離,就可以將標(biāo)簽和圖像進(jìn)行匹配。嵌入也可作為監(jiān)督任務(wù)的一部分,例如情感分析(Sentiment Analysis)。一般地,一個(gè)網(wǎng)絡(luò)的輸入層通過預(yù)先訓(xùn)練的嵌入進(jìn)行初始化,然后根據(jù)當(dāng)前任務(wù)進(jìn)行微調(diào)(fine-tuned)。
二十二、梯度爆炸問題(Exploding Gradient Problem)
梯度爆炸問題是梯度消失問題(Vanishing Gradient Problem)的對立面。在深度神經(jīng)網(wǎng)絡(luò)中,梯度可能會(huì)在反向傳播過程中爆炸,導(dǎo)致數(shù)字溢出。解決梯度爆炸的一個(gè)常見技術(shù)是梯度裁剪(Gradient Clipping)。
論文:訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)的困難之處
On the difficulty of training Recurrent Neural Networks
二十三、微調(diào)(Fine-Tuning)
Fine-Tuning使用來自另一個(gè)任務(wù)(例如一個(gè)無監(jiān)督訓(xùn)練網(wǎng)絡(luò))的參數(shù)初始化網(wǎng)絡(luò),再基于當(dāng)前任務(wù)更新這些參數(shù)。例如,自然語言處理架構(gòu)通常使用 word2vec 這樣的預(yù)訓(xùn)練的詞向量(word embeddings),然后這些詞向量會(huì)在訓(xùn)練過程中基于特定的任務(wù)(如情感分析)進(jìn)行更新。
二十四、梯度裁剪(Gradient Clipping)
梯度裁剪是一種在深度較高的網(wǎng)絡(luò)(通常是循環(huán)神經(jīng)網(wǎng)絡(luò))中用于防止梯度爆炸(exploding gradient)的技術(shù)。執(zhí)行梯度裁剪的方法有很多,常見的一種是,當(dāng)參數(shù)矢量的 L2 范數(shù)(L2 norm)超過一個(gè)特定閾值時(shí),對參數(shù)矢量的梯度進(jìn)行標(biāo)準(zhǔn)化,這個(gè)特定閾值根據(jù)以下函數(shù)確定:新梯度=梯度*閾值/L2范數(shù)(梯度){new_gradients = gradients * threshold / l2_norm(gradients)}。
論文:訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)的困難之處
On the difficulty of training Recurrent Neural Networks
二十五、GloVe
GloVe?是一種為話語獲取矢量表征(嵌入)的無監(jiān)督學(xué)習(xí)算法。GloVe 的使用目的和 word2vec 一樣,但 GloVe 具有不同的矢量表征,因?yàn)樗窃诠铂F(xiàn)(co-occurrence)統(tǒng)計(jì)數(shù)據(jù)上訓(xùn)練的。
論文:GloVe:用于詞匯表征(WordRepresentation)的全局矢量(Global Vector)
GloVe: Global Vectors for Word Representation
二十六、GoogleLeNet
GoogleLeNet?是一種卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),曾贏得2014 年 ILSVRC 挑戰(zhàn)賽。這種網(wǎng)絡(luò)使用 Inception 模塊(Inception Module)以減少參數(shù)和提高網(wǎng)絡(luò)中計(jì)算資源的利用率。
論文:使用卷積獲得更深
Going Deeper with Convolutions
二十七、GRU
GRU(Gated Recurrent Unit:門控循環(huán)單元)是一種 LSTM 單元的簡化版本,擁有更少的參數(shù)。和LSTM cell一樣,它使用門控機(jī)制,通過防止梯度消失問題(vanishing gradient problem)讓循環(huán)神經(jīng)網(wǎng)絡(luò)可以有效學(xué)習(xí)長程依賴(long-range dependency)。GRU 包含一個(gè)復(fù)位和更新門,它們可以根據(jù)當(dāng)前時(shí)間步驟的新值決定舊記憶中哪些部分需要保留或更新。
論文:為統(tǒng)計(jì)機(jī)器翻譯使用 RNN 編碼器-解碼器學(xué)習(xí)短語表征
Learning Phrase Representations using RNN Encoder-Decoder forStatistical Machine Translation
二十八、Highway Layer
Highway Layer 是使用門控機(jī)制控制通過層的信息流的一種神經(jīng)網(wǎng)絡(luò)層。堆疊多個(gè) HighwayLayer 層可讓訓(xùn)練非常深的網(wǎng)絡(luò)成為可能。Highway Layer 的基本公式是 T * h(x) + (1 - T) * x。其中, T 是學(xué)習(xí)過的門控函數(shù),取值在 0 到 1 之間;h(x) 是一個(gè)任意的輸入變換;x 是輸入。
? ? ? ? 論文:Highway Networks
二十九、ICML
即國際機(jī)器學(xué)習(xí)大會(huì)(International Conference for Machine Learning),一個(gè)頂級(jí)的機(jī)器學(xué)習(xí)會(huì)議。
三十、ILSVRC
ILSVRC#e#
即 ImageNet 大型視覺識(shí)別挑戰(zhàn)賽(ImageNetLarge Scale Visual Recognition Challenge),該比賽用于評(píng)估大規(guī)模對象檢測和圖像分類的算法。它是計(jì)算機(jī)視覺領(lǐng)域最受歡迎的學(xué)術(shù)挑戰(zhàn)賽。過去幾年中,深度學(xué)習(xí)讓錯(cuò)誤率出現(xiàn)了顯著下降,從 30% 降到了不到 5%,在許多分類任務(wù)中擊敗了人類。
三十一、Inception模塊(Inception Module)
Inception模塊被用在卷積神經(jīng)網(wǎng)絡(luò)中,通過堆疊 1×1 卷積的降維(dimensionality reduction)實(shí)現(xiàn)高效計(jì)算。
論文:使用卷積獲得更深(Going Deeper with Convolutions)
三十二、Keras
Kears?是一個(gè)基于 Python 的深度學(xué)習(xí)庫,包括許多用于深度神經(jīng)網(wǎng)絡(luò)的高層次構(gòu)建模塊。它可以運(yùn)行在 TensorFlow 或 Theano 上。
三十三、LSTM
長短期記憶(Long Short-Term Memory)網(wǎng)絡(luò)通過使用內(nèi)存門控機(jī)制防止循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)中的梯度消失問題(vanishing gradient problem)。使用 LSTM 單元計(jì)算RNN 中的隱藏狀態(tài),可以幫助該網(wǎng)絡(luò)有效地傳播梯度和學(xué)習(xí)長程依賴(long-range dependency)。
論文:長短期記憶
LONG SHORT-TERM MEMORY
三十四、最大池化(Max-Pooling)
池化(Pooling)操作通常被用在卷積神經(jīng)網(wǎng)絡(luò)中。一個(gè)最大池化層從一塊特征中選取最大值。與卷積層一樣,池化層也是通過窗口(塊)大小和步幅尺寸進(jìn)行參數(shù)化。例如,在一個(gè) 10×10 特征矩陣上以 2 的步幅滑動(dòng)一個(gè) 2×2 的窗口,然后選取每個(gè)窗口的 4個(gè)值中的最大值,得到一個(gè) 5×5 特征矩陣。池化層通過只保留最突出的信息來減少表征的維度;在這個(gè)圖像輸入的例子中,它們?yōu)檗D(zhuǎn)譯提供了基本的不變性(即使圖像偏移了幾個(gè)像素,仍可選出同樣的最大值)。池化層通常被安插在連續(xù)卷積層之間。
三十五、MNIST
MNIST數(shù)據(jù)集可能是最常用的一個(gè)圖像識(shí)別數(shù)據(jù)集。它包含 60,000 個(gè)手寫數(shù)字的訓(xùn)練樣本和 10,000 個(gè)測試樣本。每一張圖像的尺寸為 28×28像素。目前最先進(jìn)的模型通常能在該測試集中達(dá)到 99.5% 或更高的準(zhǔn)確度。
三十六、動(dòng)量(Momentum)
動(dòng)量是梯度下降算法(Gradient Descent Algorithm)的擴(kuò)展,可以加速和阻抑參數(shù)更新。在實(shí)際應(yīng)用中,在梯度下降更新中包含一個(gè)動(dòng)量項(xiàng),可在深度網(wǎng)絡(luò)中得到更好的收斂速度(convergence rate)。
論文:通過反向傳播(back-propagating error)錯(cuò)誤學(xué)習(xí)表征
三十七、多層感知器(MLP:MultilayerPerceptron)
多層感知器是一種帶有多個(gè)全連接層的前饋神經(jīng)網(wǎng)絡(luò),這些全連接層使用非線性激活函數(shù)(activationfunction)處理非線性可分的數(shù)據(jù)。MLP 是多層神經(jīng)網(wǎng)絡(luò)或有兩層以上的深度神經(jīng)網(wǎng)絡(luò)的最基本形式。
三十八、負(fù)對數(shù)似然(NLL:Negative LogLikelihood)
參見分類交叉熵?fù)p失(Categorical Cross-Entropy Loss)。
三十九、神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯(NMT:Neural MachineTranslation)
NMT?系統(tǒng)使用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)語言(如英語和法語)之間的翻譯。NMT 系統(tǒng)可以使用雙語語料庫進(jìn)行端到端的訓(xùn)練,這有別于需要手工打造特征和開發(fā)的傳統(tǒng)機(jī)器翻譯系統(tǒng)。NMT 系統(tǒng)通常使用編碼器和解碼器循環(huán)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn),它可以分別編碼源句和生成目標(biāo)句。
論文:使用神經(jīng)網(wǎng)絡(luò)的序列到序列學(xué)習(xí)(Sequence to Sequence Learning withNeural Networks)
論文:為統(tǒng)計(jì)機(jī)器翻譯使用 RNN 編碼器-解碼器學(xué)習(xí)短語表征(Learning Phrase Representations using RNN Encoder-Decoder forStatistical Machine Translation)
四十、神經(jīng)圖靈機(jī)(NTM:Neural Turing Machine)
NTM?是可以從案例中推導(dǎo)簡單算法的神經(jīng)網(wǎng)絡(luò)架構(gòu)。例如,NTM 可以通過案例的輸入和輸出學(xué)習(xí)排序算法。NTM 通常學(xué)習(xí)記憶和注意機(jī)制的某些形式以處理程序執(zhí)行過程中的狀態(tài)。
論文:神經(jīng)圖靈機(jī)(Neural Turing Machines)
四十一、非線性(Nonlinearity)
參見激活函數(shù)(Activation Function)。
四十二、噪音對比估計(jì)(NCE:noise-contrastiveestimation)
噪音對比估計(jì)是通常用于訓(xùn)練帶有大輸出詞匯的分類器的采樣損失(sampling loss)。在大量可能的類上計(jì)算 softmax 是異常昂貴的。使用 NCE,可以將問題降低成二元分類問題,這可以通過訓(xùn)練分類器區(qū)別對待取樣和「真實(shí)」分布以及人工生成的噪聲分布來實(shí)現(xiàn)。
論文:噪音對比估計(jì):一種用于非標(biāo)準(zhǔn)化統(tǒng)計(jì)模型的新估計(jì)原理
(Noise-contrastive estimation: A new estimation principlefor unnormalized statistical models )
論文:使用噪音對比估計(jì)有效地學(xué)習(xí)詞向量(Learning word embeddings efficientlywith noise-contrastive estimation)
四十三、池化
參見最大池化(Max-Pooling)或平均池化(Average-Pooling)。
四十四、受限玻爾茲曼機(jī)(RBN:RestrictedBoltzmann Machine)
RBN?可被看作隨機(jī)人工神經(jīng)網(wǎng)絡(luò)的概率圖形模型。RBN 以無監(jiān)督的形式學(xué)習(xí)數(shù)據(jù)的表征。RBN 由可見層、隱藏層和這些層中的二元神經(jīng)元的連接構(gòu)成。RBN 可以使用對比散度(contrastive divergence)進(jìn)行有效的訓(xùn)練,這是梯度下降的一種近似。
論文:受限玻爾茲曼機(jī)簡介(An Introduction to Restricted BoltzmannMachines)
四十五、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN:Recurrent NeuralNetwork)
RNN?模型通過隱藏狀態(tài)(或稱記憶)連續(xù)相互作用。它可以使用最多 N 個(gè)輸入,并產(chǎn)生最多 N 個(gè)輸出。例如,輸入是一個(gè)句子,輸出是每個(gè)單詞的詞性標(biāo)注(part-of-speechtag)(N 到 N),或是這個(gè)句子的情感分類(N 到 1);再如,輸入是單個(gè)圖像,輸出是描述該圖像所對應(yīng)一系列詞語(1 到 N)。在每一個(gè)時(shí)間步驟中,RNN會(huì)基于當(dāng)前輸入和之前的隱藏狀態(tài),計(jì)算新的隱藏狀態(tài)「記憶」。其中,「循環(huán)(recurrent)」一詞是指,在每一步中都使用了同樣的參數(shù),該網(wǎng)絡(luò)根據(jù)不同的輸入執(zhí)行同樣的計(jì)算。
四十六、遞歸神經(jīng)網(wǎng)絡(luò)(Recursive Neural Network)
遞歸神經(jīng)網(wǎng)絡(luò)是循環(huán)神經(jīng)網(wǎng)絡(luò)的樹狀結(jié)構(gòu)的一種泛化(generalization)。每一次遞歸都使用相同的權(quán)重。就像 RNN 一樣,遞歸神經(jīng)網(wǎng)絡(luò)可以使用向后傳播(backpropagation)進(jìn)行端到端的訓(xùn)練。盡管可以學(xué)習(xí)樹結(jié)構(gòu)以將其用作優(yōu)化問題的一部分,但遞歸神經(jīng)網(wǎng)絡(luò)通常被用在已有預(yù)定義結(jié)構(gòu)的問題中,如自然語言處理的解析樹中。
論文:使用遞歸神經(jīng)網(wǎng)絡(luò)解析自然場景和自然語言(Parsing Natural Scenes and NaturalLanguage with Recursive Neural Networks )
四十七、ReLU
線性修正單元(Rectified Linear Unit)常在深度神經(jīng)網(wǎng)絡(luò)中被用作激活函數(shù)。它們的定義是 f(x) = max(0, x) 。較于tanh 等函數(shù),ReLU往往很稀疏(它們的活化可以很容易設(shè)置為 0),而且它們受到梯度消失問題的影響也更小。ReLU 主要被用在卷積神經(jīng)網(wǎng)絡(luò)中用作激活函數(shù)。ReLU 存在幾種變體,如Leaky ReLUs、Parametric ReLU (PReLU) 或更為流暢的 softplus近似。
論文:深入研究修正器(Rectifiers):在 ImageNet 分類上超越人類水平的性能(Delving Deep into Rectifiers: Surpassing Human-Level Performance onImageNet Classification)
論文:修正非線性改進(jìn)神經(jīng)網(wǎng)絡(luò)聲學(xué)模型(Rectifier Nonlinearities Improve NeuralNetwork Acoustic Models )
論文:線性修正單元改進(jìn)受限玻爾茲曼機(jī)(Rectified Linear Units ImproveRestricted Boltzmann Machines? )
四十八、殘差網(wǎng)絡(luò)(ResNet)
深度殘差網(wǎng)絡(luò)(Deep Residual Network)贏得了2015 年的 ILSVRC 挑戰(zhàn)賽。這些網(wǎng)絡(luò)的工作方式是,引入跨層堆棧的快捷連接,讓優(yōu)化器可以學(xué)習(xí)更「容易」的殘差映射(residual mapping)而非更為復(fù)雜的原映射(original mapping)。這些快捷連接與 Highway Layer 類似,但它們與數(shù)據(jù)無關(guān)且不會(huì)引入額外的參數(shù)或訓(xùn)練復(fù)雜度。ResNet在 ImageNet 測試集中實(shí)現(xiàn)了 3.57% 的錯(cuò)誤率。
論文:用于圖像識(shí)別的深度殘差網(wǎng)絡(luò)(Deep Residual Learning for ImageRecognition)
四十九、RMSProp
RMSProp?是一種基于梯度的優(yōu)化算法。它與 Adagrad 類似,但引入了一個(gè)額外的衰減項(xiàng)抵消 Adagrad 下降的學(xué)習(xí)率。
五十、序列到序列(Seq2Seq)
序列到序列(Sequence-to-Sequence)模型讀取一個(gè)序列(如一個(gè)句子)作為輸入,然后產(chǎn)生另一個(gè)序列作為輸出。它與標(biāo)準(zhǔn)的 RNN 不同。在標(biāo)準(zhǔn)的 RNN 中,輸入序列會(huì)在網(wǎng)絡(luò)開始產(chǎn)生任何輸出之前被完整地讀取。通常,Seq2Seq 通過兩個(gè)分別作為編碼器和解碼器的 RNN 實(shí)現(xiàn)。神經(jīng)網(wǎng)絡(luò)機(jī)器翻譯是典型的 Seq2Seq 模型。
論文:使用神經(jīng)網(wǎng)絡(luò)的序列到序列學(xué)習(xí)(Sequence to Sequence Learning withNeural Networks)
五十一、隨機(jī)梯度下降(SGD:Stochastic GradientDescent)
隨機(jī)梯度下降是用于訓(xùn)練階段學(xué)習(xí)網(wǎng)絡(luò)參數(shù)的基于梯度的優(yōu)化算法。梯度通常使用反向傳播算法計(jì)算。使用微小批量版本的 SGD,其中的參數(shù)更新基于批案例而非單個(gè)案例進(jìn)行執(zhí)行,這能增加計(jì)算效率。vanilla SGD 存在許多擴(kuò)展,包括動(dòng)量(Momentum)、Adagrad、rmsprop、Adadelta或 Adam。
論文:用于在線學(xué)習(xí)和隨機(jī)優(yōu)化的自適應(yīng)次梯度方法(Adaptive Subgradient Methods forOnline Learning and Stochastic Optimization)
五十二、Softmax
Softmax?函數(shù)通常用于將原始分?jǐn)?shù)(raw score)的矢量轉(zhuǎn)換成用于分類的神經(jīng)網(wǎng)絡(luò)的輸出層上的類概率(class probability)。它通過對歸一化常數(shù)(normalizationconstant)進(jìn)行指數(shù)化和相除運(yùn)算而對分?jǐn)?shù)進(jìn)行規(guī)范化。如果我們正在處理大量的類,例如機(jī)器翻譯中的大量詞匯,計(jì)算歸一化常數(shù)是很昂貴的。有許多種可以讓計(jì)算更高效的替代選擇,如分層 Softmax(Hierarchical Softmax),或使用基于取樣的損失函數(shù),如 NCE。
五十三、TensorFlow
TensorFlow是一個(gè)開源 C ++ / Python 軟件庫,用于使用數(shù)據(jù)流圖的數(shù)值計(jì)算,尤其是深度神經(jīng)網(wǎng)絡(luò)。它由谷歌創(chuàng)建。在設(shè)計(jì)方面,它最類似于 Theano,但比 Caffe 或Keras 更低級(jí)。
五十四、Theano
Theano?是一個(gè)讓你可以定義、優(yōu)化和評(píng)估數(shù)學(xué)表達(dá)式的 Python 庫。它包含許多用于深度神經(jīng)網(wǎng)絡(luò)的構(gòu)造模塊。Theano 是類似于 TensorFlow 的低級(jí)別庫。更高級(jí)別的庫包括Keras 和 Caffe。
五十五、梯度消失問題(Vanishing Gradient Problem)
梯度消失問題出現(xiàn)在使用梯度很?。ㄔ?0 到 1 的范圍內(nèi))的激活函數(shù)的非常深的神經(jīng)網(wǎng)絡(luò)中,通常是循環(huán)神經(jīng)網(wǎng)絡(luò)。因?yàn)檫@些小梯度會(huì)在反向傳播中相乘,它們往往在這些層中傳播時(shí)「消失」,從而讓網(wǎng)絡(luò)無法學(xué)習(xí)長程依賴。解決這一問題的常用方法是,使用 ReLU 這樣的不受小梯度影響的激活函數(shù),或使用明確針對消失梯度問題的架構(gòu),如LSTM。這個(gè)問題的反面被稱為梯度爆炸問題(exploding gradient problem)。
論文:訓(xùn)練循環(huán)神經(jīng)網(wǎng)絡(luò)的困難之處(On the difficulty of training RecurrentNeural Networks)
五十六、VGG
VGG?是在 2014 年 ImageNet 定位和分類比賽中分別獲得第一和第二名的卷積神經(jīng)網(wǎng)絡(luò)模型。這個(gè) VGG 模型包含 16-19 個(gè)權(quán)重層,并使用了大小為 3×3 和 1×1 的小型卷積過濾器。
論文:用于大規(guī)模圖像識(shí)別的非常深度的卷積網(wǎng)絡(luò)(Very Deep Convolutional Networksfor Large-Scale Image Recognition)
五十七、word2vec
word2vec?是一種試圖通過預(yù)測文檔中話語的上下文來學(xué)習(xí)詞向量(word embedding)的算法和工具 (https://code.google.com/p/word2vec/)。最終得到的詞矢量(word vector)有一些有趣的性質(zhì),例如vector('queen') ~=vector('king') - vector('man') + vector('woman') (女王~=國王-男人+女人)。兩個(gè)不同的目標(biāo)函數(shù)可以用來學(xué)習(xí)這些嵌入:Skip-Gram 目標(biāo)函數(shù)嘗試預(yù)測一個(gè)詞的上下文,CBOW? 目標(biāo)函數(shù)則嘗試從上下文預(yù)測這個(gè)詞。
論文:向量空間中詞匯表征的有效評(píng)估(Efficient Estimation of WordRepresentations in Vector Space)
論文:分布式詞匯和短語表征以及他們的組合性(Distributed Representations of Wordsand Phrases and their Compositionality)
論文:解釋 word2vec 參數(shù)學(xué)習(xí)(word2vecParameter Learning Explained)
電子發(fā)燒友App







評(píng)論