Deep Learning

Deep learning

[Reference]

Lecun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553):436.

Abstract

深度學習是由多處理層組成的計算層模型,通過多層抽象學習數據表示,這種方法在語言識別(Speech Recognition)、視覺物體識別、物體檢測和其他諸如藥理發現和基因組學等領域顯著提升了state-of-the-art,深度學習通過使用反向傳播算法,從大量數據中學習發現物體的複雜結構,而這種反向傳播機制向系統指示瞭如何通過從前層網絡中的特徵表示來計算後面每一層的特徵表示以達到改變網絡中的參數的目的。深度卷積神經網絡已經將反向傳播機制引入到圖像、視頻、音頻、報告的研究分析之中,而循環網絡結構使得像文本、語音等序列型數據的前景光明。


Declaration

深度學習方法是帶有多層表示的表示學習方法,由簡單但是非線性的模塊所構成,每一個模塊將一層上的表示轉化成更高層,更抽象層的表示。在足夠的表示參與構成的情況下,複雜的功能結構就此形成,對於分類任務而言,高層特徵表示可以強化輸入數據,而這種強化對鑑別檢測和抑制不相關變形是非常重要的。

深度學習擅長在高維數據中發現複雜結構


Supervised Learning

爲了正常地調整權重向量,對於每一個向量,學習算法需要計算梯度向量,它表示如果權重增加或減少一個很小的量,誤差將增加或減少的量。然後權重就會沿着梯度反方向進行調整。

目標函數,是在所有訓練樣本上的平均,在高維的權值向量空間中,可以被視作是具有波浪形狀的函數,在這種結構中,梯度反方向被視爲是權重下降最快的方向,使其接近最小值,輸出誤差平均值較低。

在實踐過程中,實踐者經常使用的處理方法叫做“隨機梯度下降”(SGD),這包括顯示幾個樣本的輸入向量,計算輸出和誤差,計算這些示例的平均梯度,以及相應地調整權重。這一過程需要對在訓練樣本中的許多小的樣本上進行不斷重複,直到目標函數停止下降爲止,其之所以被稱之爲“隨機”,主要是由於每一個小規模的數據樣本都對所有樣本的平均梯度提供了一個噪聲估計,與更精細的優化技術相比,這種簡單的程序通常能夠以驚人的速度快速找到一組良好的權重值。

圖像和語音識別等問題要求輸入輸出函數對輸入的無關變化(如位置的變化,物體的方向或照明,或者語音的音調或重音的變化)不敏感,而對特定的微小變化非常敏感。


Backpropagation to train multilayer architectures

用於計算目標函數相對於多層模塊堆棧的權重的梯度的反向傳播過程僅僅是衍生物鏈規則的實際應用。關鍵點在於,可以通過利用負反饋算法來計算該模塊的輸出(或後續模塊的輸入)相對於模塊輸入的導數(或梯度)。反向傳播算法可以重複應用於傳播所有模塊的梯度,從頂部的輸出(網絡產生其預測)一直到底部(外部輸入被饋送)。一旦這些梯度被計算完畢,前向網絡就會計算與每一個模塊有關的梯度。

許多深度學習的應用利用了前向傳播網絡,學習將固定大小的輸入(例如,圖像)映射到固定大小的輸出(例如,幾個類別中的每個類別的概率),從一層到下一層中,前一層的輸入的加權和,並通過非線性函數傳遞結果形成一個小的計算單元。目前,最經常使用的非線性函數是經由線性函數(Relu)轉變而來,而Relu函數是一個半波(half-wave)矯正器:

f(z)=max(z,0)

在過去的十幾年間,神經網絡使用平滑的非線性激活函數,像tanh函數或者sigmoid函數,但是典型的Relu函數通常在具有多層的網絡中學得更快,允許在沒有無人監督的預訓練的情況下訓練深度監督網絡,那些既不屬於輸入層也不屬於輸出層的層級被稱爲隱藏單元,隱藏層被認爲是以一種非線性的方式對輸入進行適當擾動,使得在最終的輸出層,類別變得線性可分。

人們普遍認爲一般梯度下降很可能會陷入局部最小值,重量配置,不小的變化會降低平均誤差。

實際上,對於大型網絡而言,局部極小值是很難成爲一個問題,忽略初始條件,該系統幾乎總能達到質量非常相似的解決方案。最新的理論和實驗結果表明,一般而言,局部極小值並不是一個非常嚴肅的問題,在目標函數中充滿了大量的梯度爲零鞍點,表現爲在大多數維度上向上彎曲,在剩餘部分向下彎曲的形式,分析似乎表明,只有少數向下彎曲方向的鞍點存在非常大的數量,但幾乎所有鞍點都具有非常相似的目標函數值。因此,算法陷入困境中的哪些鞍點並不重要。

應研究表明,無監督學習過程可以產生不需要標籤化數據的特徵檢測器層,學習每層特徵檢測器的目的是能夠重建或模擬下面層中特徵檢測器(或原始輸入)的活動。通過使用該重建目標“預訓練”幾層逐漸更復雜的特徵檢測器,可以將深度網絡的權重初始化爲合理的值。然後可以將最後一層輸出單元添加到網絡頂部,並且可以使用標準反向傳輸對整個深度系統進行微調。這非常適用於識別手寫數字或檢測行人,特別是當標記數據量非常有限時。

對於小型數據集:無監督預訓練過程可以幫助防止過擬合。或者當標記的樣本數較少時能夠做到很好的泛化效果。事實證明,只有小型數據集才需要預訓練過程。


【Question】針對較大型數據,模型的預訓練有沒有用?


前饋網絡比訓練相鄰層之間具有完全連通性的網絡要容易的多。


Convolutional neural networks

  • 卷積網絡旨在處理以多個數組形式形式出現的的數據,多數組形式的數據有如下幾種:

  1. 1D:信號或序列

  2. 2D:圖像、聲道頻譜

  3. 3D:視頻、體積圖像(volumetric images)

  • ConvNet之所以有效的優勢在於下面四個方法的使用:

  1. 局部連接

  2. 權值共享

  3. 池化

  4. 多層的使用

  • 典型的ConvNet的結構是由一系列階段組成:

    卷積池化:卷積層中的單元被用來形成特徵圖,其中每個單元通過稱爲濾波器組的一組權重連接到前一層的特徵圖的局部野中。局部權值和的結果會通過一個非線性的像ReLU的函數。特徵圖中的所有單元共享一組相同的濾波單元,在同一層的不同特徵圖會使用不同的濾波器。

  • 之所以這樣設計的原因:

  1. 在像圖像這種數組型數據中,局部值是高度相關的,可以形成獨一無二的可以被很容易檢測出來的motifs。

  2. 圖像和其他信號的局部統計數據的位置不變性

  • [Result]

  1. 在同特徵圖的不同的位置單元共享權值,在不同的特徵圖之間檢測相同的模式

  2. 特徵圖執行的過濾操作是離散卷積

卷積作用:用於檢測來自於前一層的局部連接特徵

池化作用:將語義相似模型聚合爲一個

鄰接池化單元可以從多個行或列移位的patch中獲取輸入,因此可以減小特徵表達的維度,並對小的變化和扭曲產生了不變性。

深度神經網絡利用了許多自然的信號是具有組合層次結構的這一特性,可以通過組合低層次的特徵來獲取高層次的特徵,當前一層的元素在位置或者外觀特徵上變化很小時,池化層允許特徵表示變化範圍就非常小。

被稱爲時滯神經網絡的原始一維卷積網絡被用作音素識別或簡單詞識別領域


Image understanding with deep concolutional networks

 


Distributed representations and language processing

深度學習理論表明深度網絡有着與基於離散特徵的傳統的學習算法不同的兩種指數特性,而這兩種特性源自於組合的力量,並且依賴於底層的數據分佈有着適當的組成結構。

  1. 學習離散特徵表示可以泛化習得的特徵的新的價值組合,而這些新特徵是不在訓練過程中的。

  2. 在深層網絡中組合表示層帶來了另一個潛在的指數級優勢

在NLP領域中,對於輸入的語義特徵不是非常明確地出現在輸入向量中的,通過學習過程發現語義特徵的好方法是將輸入和輸出符號之間的結構化關係分解爲多個“微觀規則”。當單詞序列來自大量真實文本文集並且單個微觀規則不可靠時,學習單詞向量也能很好地工作。

像Tuesday和Wednesday這樣的詞的學習郭恆是類似的,這種特徵表示稱爲分佈式表示,因爲它們的元素(特徵)不是相互排斥的,並且它們的許多結構對應於觀察數據中看到的變化。

這些單詞向量由學習的特徵組成,這些特徵不是由專家提前確定的,而是由神經網絡自動發現的。

  • 表示性問題是邏輯啓發和神經網絡啓發的認知範式之間爭論的核心:

  1. 在邏輯啓發的範例中,符號的實例是唯一的屬性,即它與其他符號實例相同或不同。它沒有與其使用相關的內部結構; 並且用符號推理它們必須在明智選擇的推理規則中與變量綁定。

  2. 相反,神經網絡只是用大型的激活向量,大型權重矩陣和非線性尺度來執行快速“直觀”推理的類型,這種推理支持毫不費力的常識推理。

在未引入神經語言模型之前,統計建模的標準方法沒有利用分佈式表示:它基於計算長度達N的短符號序列出現頻率(N-gram),可能的N-gram的數量是V^n,其中V是詞彙量大小,因此考慮到超過少數幾個詞的上下文將需要非常大的訓練語料庫,因此,傳統模型不能生成與詞序列相關的語義特徵,而神經語言模型可以,因爲它將每個單詞與實值特徵向量相關聯,並且語義相關的單詞在該向量空間中最終彼此接近.


Recurrent neural networks

RNN模型是由反向傳播算法引入之後興起的,其在諸如語音識別和語言識別領域有着序列輸入特徵的輸入領域發揮着重要的作用。

RNN一次處理一個元素的輸入序列,在其隱藏單元中保存着“狀態向量”,該狀態向量隱式地包含關於序列的所有已經經過計算的元素序列的歷史的信息。當我們在不同的時間步中考慮隱藏單元的輸出時,就好像它們是深層多層網絡中不同神經元的輸出一樣(如下圖)。

RNNs是一個非常具有非常良好效果的動態系統,但是訓練RNNs網絡被證明是有一些問題的,因爲反向傳播過程中,梯度在每個時間步中都會或增加或減少,以至於經過很多步之後,梯度會顯著地擴大或消失。

理論和實踐表明,RNNs網絡的一大弊端在於,不能夠將信息保存時間太久久。爲了規避這一缺點,修正的模型是增加一個擁有較大內存的網絡,由此產生了擁有特殊隱藏層的LSTM(長短時記憶網絡),自然的行爲被長時間保存,其中的一個特別單元是內存細胞(memory cells),其行爲特別像一個累加器或者稱做門控泄露的神經元,它在下一個權重爲1時與自身連接,因此它複製自己的實值狀態並累積外部信號,但這個自連接是由另一個學習決定何時到達的單元的乘法門控清除記憶的內容。【不太懂】

LSTM網絡比卷積RNNs網絡的性能要好,尤其是當他們在每一時間步上都有幾個卷積層的時候,能夠使整個語音識別系統從聲學一直到轉錄中的字符序列。

  • 向RNNs網絡中加入存儲模塊的方式:

  1. Neural Turing Machine:網絡通過“類似磁帶”的存儲器來增強性能,RNN可以選擇從中讀取或寫入,對於存儲網絡,通過獨立存儲進行一般網絡的強化,比如在問答系統中,存儲網絡被用來記錄日誌,標記被用來回答問題的最後面的網絡。NTM經常被用於需要推理和符號操作的網絡中,而Memory Nets可以訓練記憶網絡以在類似於文本冒險遊戲和閱讀故事之後的設置中跟蹤世界狀態


The future of deep learning

通過將特徵表示學習與複雜推理相結合的系統,人工智能將取得重大進展。 儘管深度學習和簡單推理已經被用於語音和手寫識別很長一段時間,但是需要新的範例來通過大型矢量上的操作來替換基於規則的符號表達式操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章