噪音對比估計(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 個輸入,并產(chǎn)生最多 N 個輸出。例如,輸入是一個句子,輸出是每個單詞的詞性標(biāo)注(part-of-speechtag)(N 到 N),或是這個句子的情感分類(N 到 1);再如,輸入是單個圖像,輸出是描述該圖像所對應(yīng)一系列詞語(1 到 N)。在每一個時間步驟中,RNN會基于當(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)且不會引入額外的參數(shù)或訓(xùn)練復(fù)雜度。ResNet在 ImageNet 測試集中實(shí)現(xiàn)了 3.57% 的錯誤率。
論文:用于圖像識別的深度殘差網(wǎng)絡(luò)(Deep Residual Learning for ImageRecognition)
四十九、RMSProp
RMSProp?是一種基于梯度的優(yōu)化算法。它與 Adagrad 類似,但引入了一個額外的衰減項(xiàng)抵消 Adagrad 下降的學(xué)習(xí)率。
五十、序列到序列(Seq2Seq)
序列到序列(Sequence-to-Sequence)模型讀取一個序列(如一個句子)作為輸入,然后產(chǎn)生另一個序列作為輸出。它與標(biāo)準(zhǔn)的 RNN 不同。在標(biāo)準(zhǔn)的 RNN 中,輸入序列會在網(wǎng)絡(luò)開始產(chǎn)生任何輸出之前被完整地讀取。通常,Seq2Seq 通過兩個分別作為編碼器和解碼器的 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ù)更新基于批案例而非單個案例進(jìn)行執(zhí)行,這能增加計(jì)算效率。vanilla SGD 存在許多擴(kuò)展,包括動量(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是一個開源 C ++ / Python 軟件庫,用于使用數(shù)據(jù)流圖的數(shù)值計(jì)算,尤其是深度神經(jīng)網(wǎng)絡(luò)。它由谷歌創(chuàng)建。在設(shè)計(jì)方面,它最類似于 Theano,但比 Caffe 或Keras 更低級。
五十四、Theano
Theano?是一個讓你可以定義、優(yōu)化和評估數(shù)學(xué)表達(dá)式的 Python 庫。它包含許多用于深度神經(jīng)網(wǎng)絡(luò)的構(gòu)造模塊。Theano 是類似于 TensorFlow 的低級別庫。更高級別的庫包括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)檫@些小梯度會在反向傳播中相乘,它們往往在這些層中傳播時「消失」,從而讓網(wǎng)絡(luò)無法學(xué)習(xí)長程依賴。解決這一問題的常用方法是,使用 ReLU 這樣的不受小梯度影響的激活函數(shù),或使用明確針對消失梯度問題的架構(gòu),如LSTM。這個問題的反面被稱為梯度爆炸問題(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ò)模型。這個 VGG 模型包含 16-19 個權(quán)重層,并使用了大小為 3×3 和 1×1 的小型卷積過濾器。
論文:用于大規(guī)模圖像識別的非常深度的卷積網(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') (女王~=國王-男人+女人)。兩個不同的目標(biāo)函數(shù)可以用來學(xué)習(xí)這些嵌入:Skip-Gram 目標(biāo)函數(shù)嘗試預(yù)測一個詞的上下文,CBOW? 目標(biāo)函數(shù)則嘗試從上下文預(yù)測這個詞。
論文:向量空間中詞匯表征的有效評估(Efficient Estimation of WordRepresentations in Vector Space)
論文:分布式詞匯和短語表征以及他們的組合性(Distributed Representations of Wordsand Phrases and their Compositionality)
論文:解釋 word2vec 參數(shù)學(xué)習(xí)(word2vecParameter Learning Explained)
電子發(fā)燒友App







評論