深度學習常見的專業術語

(部份內容轉載自網絡,有修改)html

  1. 激活函數(Activation Function) 爲了讓神經網絡可以學習複雜的決策邊界(decision boundary),咱們在其一些層應用一個非線性激活函數。最經常使用的函數包括 sigmoid、tanh、ReLU(Rectified Linear Unit 線性修正單元) 以及這些函數的變體。python

  2. 優化器git

    • Adadelta Adadelta 是一個基於梯度降低的學習算法,能夠隨時間調整適應每一個參數的學習率。它是做爲 Adagrad 的改進版提出的,它比超參數(hyperparameter)更敏感並且可能會太過嚴重地下降學習率。Adadelta 相似於 rmsprop,並且可被用來替代 vanilla SGD。 論文:Adadelta:一種自適應學習率方法(ADADELTA: An Adaptive Learning Rate Method) 技術博客:斯坦福 CS231n:優化算法(http://cs231n.github.io/neural-networks-3/) 技術博客:梯度降低優化算法概述(http://sebastianruder.com/optimizing-gradient-descent/)github

    • Adagrad Adagrad 是一種自適應學習率算法,可以隨時間跟蹤平方梯度並自動適應每一個參數的學習率。它可被用來替代vanilla SGD (http://www.wildml.com/deep-learning-glossary/#sgd);並且在稀疏數據上更是特別有用,在其中它能夠將更高的學習率分配給更新不頻繁的參數。 論文:用於在線學習和隨機優化的自適應次梯度方法(Adaptive Subgradient Methods for Online Learning and Stochastic Optimization) 技術博客:斯坦福 CS231n:優化算法(http://cs231n.github.io/neural-networks-3/) 技術博客:梯度降低優化算法概述(http://sebastianruder.com/optimizing-gradient-descent/)算法

    • Adam Adam是一種相似於 rmsprop 的自適應學習率算法,但它的更新是經過使用梯度的第一和第二時刻的運行平均值(running average)直接估計的,並且還包括一個誤差校訂項。 論文:Adam:一種隨機優化方法(Adam: A Method for Stochastic Optimization) 技術博客:梯度降低優化算法概述(http://sebastianruder.com/optimizing-gradient-descent/)網絡

  3. 仿射層(Affine Layer) 神經網絡中的一個全鏈接層。仿射(Affine)的意思是前面一層中的每個神經元都鏈接到當前層中的每個神經元。在許多方面,這是神經網絡的「標準」層。仿射層一般被加在卷積神經網絡或循環神經網絡作出最終預測前的輸出的頂層。仿射層的通常形式爲 y = f(Wx + b),其中 x 是層輸入,w 是參數,b 是一個誤差矢量,f 是一個非線性激活函數。架構

  4. 注意機制(Attention Mechanism) 注意機制是由人類視覺注意所啓發的,是一種關注圖像中特定部分的能力。注意機制可被整合到語言處理和圖像識別的架構中以幫助網絡學習在作出預測時應該「關注」什麼。 技術博客:深度學習和天然語言處理中的注意和記憶(http://www.wildml.com/2016/01/attention-and-memory-in-deep-learning-and-nlp/)app

  5. Alexnet Alexnet 是一種卷積神經網絡架構的名字,這種架構曾在 2012 年 ILSVRC 挑戰賽中以巨大優點獲勝,並且它還致使了人們對用於圖像識別的卷積神經網絡(CNN)的興趣的復甦。它由 5 個卷積層組成。其中一些後面跟隨着最大池化(max-pooling)層和帶有最終 1000條路徑的 softmax (1000-way softmax)的 3個全鏈接層。Alexnet 被引入到了使用深度卷積神經網絡的 ImageNet 分類中。框架

  6. 自編碼器(Autoencoder) 自編碼器是一種神經網絡模型,它的目標是預測輸入自身,這一般經過網絡中某個地方的「瓶頸(bottleneck)」實現。經過引入瓶頸,咱們迫使網絡學習輸入更低維度的表徵,從而有效地將輸入壓縮成一個好的表徵。自編碼器和 PCA 等降維技術相關,但由於它們的 非線性本質,它們能夠學習更爲複雜的映射。目前已有一些範圍涵蓋較廣的自編碼器存在,包括 降噪自編碼器(Denoising Autoencoders)、變自編碼器(Variational Autoencoders)和序列自編碼器(Sequence Autoencoders)。 降噪自編碼器論文:Stacked Denoising Autoencoders: Learning Useful Representations in a Deep Network with a Local Denoising Criterion 變自編碼器論文:Auto-Encoding Variational Bayes 序列自編碼器論文:Semi-supervised Sequence Learning機器學習

  7. 平均池化(Average-Pooling) 平均池化是一種在卷積神經網絡中用於圖像識別的池化(Pooling)技術。它的工做原理是在特徵的局部區域上滑動窗口,好比像素,而後再取窗口中全部值的平均。它將輸入表徵壓縮成一種更低維度的表徵。

  8. 反向傳播(Backpropagation) 反向傳播是一種在神經網絡中用來有效地計算梯度的算法,或更通常而言,是一種前饋計算圖(feedforward computational graph)。其能夠歸結成從網絡輸出開始應用分化的鏈式法則,而後向後傳播梯度。反向傳播的第一個應用能夠追溯到 1960 年代的 Vapnik 等人, 但論文 Learning representations by back-propagating errors經常被做爲引用源。 技術博客:計算圖上的微積分學:反向傳播(http://colah.github.io/posts/2015-08-Backprop/) 經過時間的反向傳播(BPTT:Backpropagation Through Time) 經過時間的反向傳播是應用於循環神經網絡(RNN)的反向傳播算法。BPTT 可被看做是應用於 RNN 的標準反向傳播算法,其中的每個時間步驟(time step)都表明一個計算層,並且它的參數是跨計算層共享的。由於 RNN 在全部的時間步驟中都共享了一樣的參數,一個時間步驟的錯誤必然能「經過時間」反向到以前全部的時間步驟,該算法也於是得名。當處理長序列(數百個輸入)時,爲下降計算成本經常使用一種刪節版的 BPTT。刪節的 BPTT 會在固定數量的步驟以後中止反向傳播錯誤。 論文:Backpropagation Through Time: What It Does and How to Do It

  9. 批標準化(BN:Batch Normalization) 分批標準化是一種按小批量的方式標準化層輸入的技術。它能加速訓練過程,容許使用更高的學習率,還可用做規範器(regularizer)。人們發現,分批標準化在卷積和前饋神經網絡中應用時很是高效,但還沒有被成功應用到循環神經網絡上。 論文:分批標準化:經過減小內部協變量位移(Covariate Shift)加速深度網絡訓練(Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift) 論文:使用分批標準化的循環神經網絡(Batch Normalized Recurrent Neural Networks)

  10. 雙向循環神經網絡(Bidirectional RNN) 雙向循環神經網絡是一類包含兩個方向不一樣的 RNN 的神經網絡。其中的前向 RNN 從起點向終點讀取輸入序列,而反向 RNN 則從終點向起點讀取。這兩個 RNN 互相彼此堆疊,它們的狀態一般經過附加兩個矢量的方式進行組合。雙向 RNN 常被用在天然語言問題中,由於在天然語言中咱們須要同時考慮話語的先後上下文以作出預測。 論文:雙向循環神經網絡(Bidirectional Recurrent Neural Networks)

  11. Caffe Caffe 是由伯克利大學視覺和學習中心開發的一種深度學習框架。在視覺任務和卷積神經網絡模型中,Caffe 格外受歡迎且性能優異

  12. 分類交叉熵損失(Categorical Cross-Entropy Loss) 分類交叉熵損失也被稱爲負對數似然(negative log likelihood)。這是一種用於解決分類問題的流行的損失函數,可用於測量兩種機率分佈(一般是真實標籤和預測標籤)之間的類似性。它可用 L = -sum(y * log(y_prediction)) 表示,其中 y 是真實標籤的機率分佈(一般是一個one-hot vector),y_prediction 是預測標籤的機率分佈,一般來自於一個 softmax。

  13. 通道(Channel) 深度學習模型的輸入數據能夠有多個信道。圖像就是個典型的例子,它有紅、綠和藍三個顏色信道。一個圖像能夠被表示成一個三維的張量(Tensor),其中的維度對應於信道、高度和寬度。天然語言數據也能夠有多個信道,好比在不一樣類型的嵌入(embedding)形式中。

  14. 卷積神經網絡(CNN/ConvNet:Convolutional Neural Network) CNN 使用卷積鏈接從輸入的局部區域中提取的特徵。大部分 CNN 都包含了卷積層、池化層和仿射層的組合。CNN 尤爲憑藉其在視覺識別任務的卓越性能表現而得到了普及,它已經在該領域保持了好幾年的領先。 技術博客:斯坦福CS231n類——用於視覺識別的卷積神經網絡(http://cs231n.github.io/neural-networks-3/) 技術博客:理解用於天然語言處理的卷積神經網絡(http://www.wildml.com/2015/11/understanding-convolutional-neural-networks-for-nlp/)

  15. 深度信念網絡(DBN:Deep Belief Network) DBN 是一類以無監督的方式學習數據的分層表徵的機率圖形模型。DBN 由多個隱藏層組成,這些隱藏層的每一對連續層之間的神經元是相互鏈接的。DBN 經過彼此堆疊多個 RBN(限制波爾茲曼機)並一個接一個地訓練而建立。 論文:深度信念網絡的一種快速學習算法(A fast learning algorithm for deep belief nets)

  16. Deep Dream 這是谷歌發明的一種試圖用來提煉深度卷積神經網絡獲取的知識的技術。這種技術能夠生成新的圖像或轉換已有的圖片從而給它們一種幻夢般的感受,尤爲是遞歸地應用時。 代碼:Github 上的 Deep Dream(https://github.com/google/deepdream) 技術博客:Inceptionism:向神經網絡掘進更深(https://research.googleblog.com/2015/06/inceptionism-going-deeper-into-neural.html)

  17. Dropout Dropout 是一種用於神經網絡防止過擬合的正則化技術。它經過在每次訓練迭代中隨機地設置神經元中的一小部分爲 0 來阻止神經元共適應(co-adapting),Dropout 能夠經過多種方式進行解讀,好比從不一樣網絡的指數數字中隨機取樣。Dropout 層首先經過它們在卷積神經網絡中的應用而獲得普及,但自那之後也被應用到了其它層上,包括輸入嵌入或循環網絡。 論文:Dropout: 一種防止神經網絡過擬合的簡單方法(Dropout: A Simple Way to Prevent Neural Networks from Overfitting) 論文:循環神經網絡正則化(Recurrent Neural Network Regularization)

  18. 嵌入(Embedding) 一個嵌入映射到一個輸入表徵,好比一個詞或一句話映射到一個矢量。一種流行的嵌入是詞語嵌入(word embedding,國內經常使用的說法是:詞向量),如 word2vec 或 GloVe。咱們也能夠嵌入句子、段落或圖像。好比說,經過將圖像和他們的文本描述映射到一個共同的嵌入空間中並最小化它們之間的距離,咱們能夠將標籤和圖像進行匹配。嵌入能夠被明確地學習到,好比在 word2vec 中;嵌入也可做爲監督任務的一部分例如情感分析(Sentiment Analysis)。一般一個網絡的輸入層是經過預先訓練的嵌入進行初始化,而後再根據當前任務進行微調(fine-tuned)。

  19. 梯度爆炸問題(Exploding Gradient Problem) 梯度爆炸問題是梯度消失問題(Vanishing Gradient Problem)的對立面。在深度神經網絡中,梯度可能會在反向傳播過程當中爆炸,致使數字溢出。解決梯度爆炸的一個常見技術是執行梯度裁剪(Gradient Clipping)。 論文:訓練循環神經網絡的困難之處(On the difficulty of training Recurrent Neural Networks)

  20. 微調(Fine-Tuning) Fine-Tuning 這種技術是指使用來自另外一個任務(例如一個無監督訓練網絡)的參數初始化網絡,而後再基於當前任務更新這些參數。好比,天然語言處理架構一般使用 word2vec 這樣的預訓練的詞向量(word embeddings),而後這些詞向量會在訓練過程當中基於特定的任務(如情感分析)進行更新。

  21. 梯度裁剪(Gradient Clipping) 梯度裁剪是一種在很是深度的網絡(一般是循環神經網絡)中用於防止梯度爆炸(exploding gradient)的技術。執行梯度裁剪的方法有不少,但常見的一種是當參數矢量的 L2 範數(L2 norm)超過一個特定閾值時對參數矢量的梯度進行標準化,這個特定閾值根據函數:新梯度=梯度*閾值/L2範數(梯度){new_gradients = gradients * threshold / l2_norm(gradients)}肯定。 論文:訓練循環神經網絡的困難之處(On the difficulty of training Recurrent Neural Networks)

  22. GloVe Glove 是一種爲話語獲取矢量表徵(嵌入)的無監督學習算法。GloVe 的使用目的和 word2vec 同樣,但 GloVe 具備不一樣的矢量表徵,由於它是在共現(co-occurrence)統計數據上訓練的。 論文:GloVe:用於詞彙表徵(Word Representation)的全局矢量(Global Vector)(GloVe: Global Vectors for Word Representation )

  23. GoogleLeNet GoogleLeNet 是曾贏得了 2014 年 ILSVRC 挑戰賽的一種卷積神經網絡架構。這種網絡使用 Inception 模塊(Inception Module)以減小參數和提升網絡中計算資源的利用率。 論文:使用卷積得到更深(Going Deeper with Convolutions)

  24. GRU GRU(Gated Recurrent Unit:門控循環單元)是一種 LSTM 單元的簡化版本,擁有更少的參數。和 LSTM 細胞(LSTM cell)同樣,它使用門控機制,經過防止梯度消失問題(vanishing gradient problem)讓循環神經網絡能夠有效學習長程依賴(long-range dependency)。GRU 包含一個復位和更新門,它們能夠根據當前時間步驟的新值決定舊記憶中哪些部分須要保留或更新。 論文:爲統計機器翻譯使用 RNN 編碼器-解碼器學習短語表徵(Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation) 技術博客:循環神經網絡教程,第 4 部分:用 Python 和 Theano 實現 GRU/LSTM RNN(http://www.wildml.com/2015/10/recurrent-neural-network-tutorial-part-4-implementing-a-grulstm-rnn-with-python-and-theano/)

  25. Highway Layer Highway Layer 是使用門控機制控制經過層的信息流的一種神經網絡層。堆疊多個 Highway Layer 層可以讓訓練很是深的網絡成爲可能。Highway Layer 的工做原理是經過學習一個選擇輸入的哪部分經過和哪部分經過一個變換函數(如標準的仿射層)的門控函數來進行學習。Highway Layer 的基本公式是 T * h(x) + (1 - T) * x;其中 T 是學習過的門控函數,取值在 0 到 1 之間;h(x) 是一個任意的輸入變換,x 是輸入。注意全部這些都必須具備相同的大小。 論文:Highway Networks

  26. ICML 即國際機器學習大會(International Conference for Machine Learning),一個頂級的機器學習會議。

  27. ILSVRC 即 ImageNet 大型視覺識別挑戰賽(ImageNet Large Scale Visual Recognition Challenge),該比賽用於評估大規模對象檢測和圖像分類的算法。它是計算機視覺領域最受歡迎的學術挑戰賽。過去幾年中,深度學習讓錯誤率出現了顯著降低,從 30% 降到了不到 5%,在許多分類任務中擊敗了人類。

  28. Inception模塊(Inception Module) Inception模塊被用在卷積神經網絡中,經過堆疊 1×1 卷積的降維(dimensionality reduction)帶來更高效的計算和更深度的網絡。 論文:使用卷積得到更深(Going Deeper with Convolutions)

  29. Keras Kears 是一個基於 Python 的深度學習庫,其中包括許多用於深度神經網絡的高層次構建模塊。它能夠運行在 TensorFlow 或 Theano 上。

  30. LSTM 長短時間記憶(Long Short-Term Memory)網絡經過使用內存門控機制防止循環神經網絡(RNN)中的梯度消失問題(vanishing gradient problem)。使用 LSTM 單元計算 RNN 中的隱藏狀態能夠幫助該網絡有效地傳播梯度和學習長程依賴(long-range dependency)。 論文:長短時間記憶(LONG SHORT-TERM MEMORY) 技術博客:理解 LSTM 網絡(http://colah.github.io/posts/2015-08-Understanding-LSTMs/) 技術博客:循環神經網絡教程,第 4 部分:用 Python 和 Theano 實現 GRU/LSTM RNN(http://www.wildml.com/2015/10/recurrent-neural-network-tutorial-part-4-implementing-a-grulstm-rnn-with-python-and-theano/)

  31. 最大池化(Max-Pooling) 池化(Pooling)操做一般被用在卷積神經網絡中。一個最大池化層從一塊特徵中選取最大值。和卷積層同樣,池化層也是經過窗口(塊)大小和步幅尺寸進行參數化。好比,咱們可能在一個 10×10 特徵矩陣上以 2 的步幅滑動一個 2×2 的窗口,而後選取每一個窗口的 4 個值中的最大值,獲得一個 5×5 特徵矩陣。池化層經過只保留最突出的信息來減小表徵的維度;在這個圖像輸入的例子中,它們爲轉譯提供了基本的不變性(即便圖像偏移了幾個像素,仍可選出一樣的最大值)。池化層一般被安插在連續卷積層之間。

  32. MNIST MNIST數據集多是最經常使用的一個圖像識別數據集。它包含 60,000 個手寫數字的訓練樣本和 10,000 個測試樣本。每一張圖像的尺寸爲 28×28像素。目前最早進的模型一般能在該測試集中達到 99.5% 或更高的準確度。

  33. 動量(Momentum) 動量是梯度降低算法(Gradient Descent Algorithm)的擴展,能夠加速和阻抑參數更新。在實際應用中,在梯度降低更新中包含一個動量項可在深度網絡中獲得更好的收斂速度(convergence rate)。 論文:經過反向傳播(back-propagating error)錯誤學習表徵

  34. 多層感知器(MLP:Multilayer Perceptron) 多層感知器是一種帶有多個全鏈接層的前饋神經網絡,這些全鏈接層使用非線性激活函數(activation function)處理非線性可分的數據。MLP 是多層神經網絡或有兩層以上的深度神經網絡的最基本形式。

  35. 負對數似然(NLL:Negative Log Likelihood) 參見分類交叉熵損失(Categorical Cross-Entropy Loss)。

  36. 神經網絡機器翻譯(NMT:Neural Machine Translation) NMT 系統使用神經網絡實現語言(如英語和法語)之間的翻譯。NMT 系統可使用雙語語料庫進行端到端的訓練,這有別於須要手工打造特徵和開發的傳統機器翻譯系統。NMT 系統一般使用編碼器和解碼器循環神經網絡實現,它能夠分別編碼源句和生成目標句。 論文:使用神經網絡的序列到序列學習(Sequence to Sequence Learning with Neural Networks) 論文:爲統計機器翻譯使用 RNN 編碼器-解碼器學習短語表徵(Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation)

  37. 神經圖靈機(NTM:Neural Turing Machine) NTM 是能夠從案例中推導簡單算法的神經網絡架構。好比,NTM 能夠經過案例的輸入和輸出學習排序算法。NTM 一般學習記憶和注意機制的某些形式以處理程序執行過程當中的狀態。 論文:神經圖靈機(Neural Turing Machines)

  38. 非線性(Nonlinearity) 參見激活函數(Activation Function)。

  39. 噪音對比估計(NCE:noise-contrastive estimation) 噪音對比估計是一種一般被用於訓練帶有大輸出詞彙的分類器的採樣損失(sampling loss)。在大量的可能的類上計算 softmax 是異常昂貴的。使用 NCE,咱們能夠將問題下降成二元分類問題,這能夠經過訓練分類器區別對待取樣和「真實」分佈以及人工生成的噪聲分佈來實現。 論文:噪音對比估計:一種用於非標準化統計模型的新估計原理(Noise-contrastive estimation: A new estimation principle for unnormalized statistical models ) 論文:使用噪音對比估計有效地學習詞向量(Learning word embeddings efficiently with noise-contrastive estimation)

  40. 池化 參見最大池化(Max-Pooling)或平均池化(Average-Pooling)。

  41. 受限玻爾茲曼機(RBN:Restricted Boltzmann Machine) RBN 是一種可被解釋爲一個隨機人工神經網絡的機率圖形模型。RBN 以無監督的形式學習數據的表徵。RBN 由可見層和隱藏層以及每個這些層中的二元神經元的鏈接所構成。RBN 可使用對比散度(contrastive divergence)進行有效的訓練,這是梯度降低的一種近似。 第六章:動態系統中的信息處理:和諧理論基礎 論文:受限玻爾茲曼機簡介(An Introduction to Restricted Boltzmann Machines)

  42. 循環神經網絡(RNN:Recurrent Neural Network) RNN 模型經過隱藏狀態(或稱記憶)連續進行相互做用。它可使用最多 N 個輸入,併產生最多 N 個輸出。好比,一個輸入序列多是一個句子,其輸出爲每一個單詞的詞性標註(part-of-speech tag)(N 到 N);一個輸入多是一個句子,其輸出爲該句子的情感分類(N 到 1);一個輸入多是單個圖像,其輸出爲描述該圖像所對應一系列詞語(1 到 N)。在每個時間步驟中,RNN 會基於當前輸入和以前的隱藏狀態計算新的隱藏狀態「記憶」。其中「循環(recurrent)」這個術語來自這個事實:在每一步中都是用了一樣的參數,該網絡根據不一樣的輸入執行一樣的計算。 技術博客:瞭解 LSTM 網絡(http://colah.github.io/posts/2015-08-Understanding-LSTMs/) 技術博客:循環神經網絡教程第1部分——介紹 RNN (http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/)

  43. 遞歸神經網絡(Recursive Neural Network) 遞歸神經網絡是循環神經網絡的樹狀結構的一種泛化(generalization)。每一次遞歸都使用相同的權重。就像 RNN 同樣,遞歸神經網絡可使用向後傳播(backpropagation)進行端到端的訓練。儘管能夠學習樹結構以將其用做優化問題的一部分,但遞歸神經網絡一般被用在已有預約義結構的問題中,如天然語言處理的解析樹中。 論文:使用遞歸神經網絡解析天然場景和天然語言(Parsing Natural Scenes and Natural Language with Recursive Neural Networks )

  44. ReLU 即線性修正單元(Rectified Linear Unit)。ReLU 常在深度神經網絡中被用做激活函數。它們的定義是 f(x) = max(0, x) 。ReLU 相對於 tanh 等函數的優點包括它們每每很稀疏(它們的活化能夠很容易設置爲 0),並且它們受到梯度消失問題的影響也更小。ReLU 主要被用在卷積神經網絡中用做激活函數。ReLU 存在幾種變體,如Leaky ReLUs、Parametric ReLU (PReLU) 或更爲流暢的 softplus近似。 論文:深刻研究修正器(Rectifiers):在 ImageNet 分類上超越人類水平的性能(Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification) 論文:修正非線性改進神經網絡聲學模型(Rectifier Nonlinearities Improve Neural Network Acoustic Models ) 論文:線性修正單元改進受限玻爾茲曼機(Rectified Linear Units Improve Restricted Boltzmann Machines )

  45. 殘差網絡(ResNet) 深度殘差網絡(Deep Residual Network)贏得了 2015 年的 ILSVRC 挑戰賽。這些網絡的工做方式是引入跨層堆棧的快捷鏈接,讓優化器能夠學習更「容易」的殘差映射(residual mapping)而非更爲複雜的原映射(original mapping)。這些快捷鏈接和 Highway Layer 相似,但它們與數據無關且不會引入額外的參數或訓練複雜度。ResNet 在 ImageNet 測試集中實現了 3.57% 的錯誤率。 論文:用於圖像識別的深度殘差網絡(Deep Residual Learning for Image Recognition)

  46. RMSProp RMSProp 是一種基於梯度的優化算法。它與 Adagrad 相似,但引入了一個額外的衰減項抵消 Adagrad 在學習率上的快速降低。 PPT:用於機器學習的神經網絡 講座6a 技術博客:斯坦福CS231n:優化算法(http://cs231n.github.io/neural-networks-3/) 技術博客:梯度降低優化算法概述(http://sebastianruder.com/optimizing-gradient-descent/)

  47. 序列到序列(Seq2Seq) 序列到序列(Sequence-to-Sequence)模型讀取一個序列(如一個句子)做爲輸入,而後產生另外一個序列做爲輸出。它和標準的 RNN 不一樣;在標準的 RNN 中,輸入序列會在網絡開始產生任何輸出以前被完整地讀取。一般而言,Seq2Seq 經過兩個分別做爲編碼器和解碼器的 RNN 實現。神經網絡機器翻譯是一類典型的 Seq2Seq 模型。 論文:使用神經網絡的序列到序列學習(Sequence to Sequence Learning with Neural Networks)

  48. 隨機梯度降低(SGD:Stochastic Gradient Descent) 隨機梯度降低是一種被用在訓練階段學習網絡參數的基於梯度的優化算法。梯度一般使用反向傳播算法計算。在實際應用中,人們使用微小批量版本的 SGD,其中的參數更新基於批案例而非單個案例進行執行,這能增長計算效率。vanilla SGD 存在許多擴展,包括動量(Momentum)、Adagrad、rmsprop、Adadelta 或 Adam。 論文:用於在線學習和隨機優化的自適應次梯度方法(Adaptive Subgradient Methods for Online Learning and Stochastic Optimization) 技術博客:斯坦福CS231n:優化算法(http://cs231n.github.io/neural-networks-3/) 技術博客:梯度降低優化算法概述(http://sebastianruder.com/optimizing-gradient-descent/)

  49. Softmax Softmax 函數一般被用於將原始分數(raw score)的矢量轉換成用於分類的神經網絡的輸出層上的類機率(class probability)。它經過對歸一化常數(normalization constant)進行指數化和相除運算而對分數進行規範化。若是咱們正在處理大量的類,例如機器翻譯中的大量詞彙,計算歸一化常數是很昂貴的。有許多種可讓計算更高效的替代選擇,包括分層 Softmax(Hierarchical Softmax)或使用基於取樣的損失函數,如 NCE。

  50. TensorFlow TensorFlow是一個開源 C ++ / Python 軟件庫,用於使用數據流圖的數值計算,尤爲是深度神經網絡。它是由谷歌建立的。在設計方面,它最相似於 Theano,但比 Caffe 或 Keras 更低級。

  51. Theano Theano 是一個讓你能夠定義、優化和評估數學表達式的 Python 庫。它包含許多用於深度神經網絡的構造模塊。Theano 是相似於 TensorFlow 的低級別庫。更高級別的庫包括Keras 和 Caffe。

  52. 梯度消失問題(Vanishing Gradient Problem) 梯度消失問題出如今使用梯度很小(在 0 到 1 的範圍內)的激活函數的很是深的神經網絡中,一般是循環神經網絡。由於這些小梯度會在反向傳播中相乘,它們每每在這些層中傳播時「消失」,從而讓網絡沒法學習長程依賴。解決這一問題的經常使用方法是使用 ReLU 這樣的不受小梯度影響的激活函數,或使用明確針對消失梯度問題的架構,如LSTM。這個問題的反面被稱爲梯度爆炸問題(exploding gradient problem)。 論文:訓練循環神經網絡的困難之處(On the difficulty of training Recurrent Neural Networks)

  53. VGG VGG 是在 2014 年 ImageNet 定位和分類比賽中分別斬獲第一和第二位置的卷積神經網絡模型。這個 VGG 模型包含 16-19 個權重層,並使用了大小爲 3×3 和 1×1 的小型卷積過濾器。 論文:用於大規模圖像識別的很是深度的卷積網絡(Very Deep Convolutional Networks for Large-Scale Image Recognition)

  54. word2vec word2vec 是一種試圖經過預測文檔中話語的上下文來學習詞向量(word embedding)的算法和工具 (https://code.google.com/p/word2vec/)。最終獲得的詞矢量(word vector)有一些有趣的性質,例如vector('queen') ~= vector('king') - vector('man') + vector('woman') (女王~=國王-男人+女人)。兩個不一樣的目標函數能夠用來學習這些嵌入:Skip-Gram 目標函數嘗試預測一個詞的上下文,CBOW 目標函數則嘗試從詞上下文預測這個詞。 論文:向量空間中詞彙表徵的有效評估(Efficient Estimation of Word Representations in Vector Space) 論文:分佈式詞彙和短語表徵以及他們的組合性(Distributed Representations of Words and Phrases and their Compositionality) 論文:解釋 word2vec 參數學習(word2vec Parameter Learning Explained)

相關文章
相關標籤/搜索