深度學習是什么


前言

加里·卡斯帕羅夫 vs 深藍(1997年)

1997年,美國IBM公司的“深藍”(Deep Blue)超級計算機以2勝1負3平戰勝了當時世界排名第一的國際象棋大師卡斯帕羅夫。
深藍能算出12手棋之后的最優解,而身為人類的卡斯帕羅夫只能算出10手棋。
深藍的核心是通過窮舉方法,生成所有可能的下法,然后執行盡可能深的搜索,並不斷對局面進行評估,嘗試找出最佳的一手。
簡單地說,深藍是以暴力窮舉為基礎,並且是專注國際象棋的專用人工智能

李世石 vs Alpha Go(2016年)

2016年3月,AlphaGo與圍棋世界冠軍、職業九段棋手李世石進行圍棋人機大戰,以4比1的總比分獲勝

AlphaGo 核心是基於深度神經網絡,從數據中預測人類棋手在做任意的棋盤狀態下走子的概率,模擬人類棋手的思維方式。在整個算法中,除了“獲勝”概念,AlphaGo對於圍棋規則一無所知。
簡單地說,AlphaGo是基於機器學習,不限定領域的人工智能。

AlphaGo vs AlphaGo Zero(2017年)

2017年,僅僅通過3天的自我訓練的,AlphaGo Zero就打敗了戰勝李世石的AlphaGo,戰績100:0。
和AlhaGo不同,AlphaGo Zero完全拋棄來自棋譜數據的人類經驗,而是通過“左右手互搏”,迅速提戰力。
AlphaGo Zero依賴神經網絡來評估落子位置,成功證明了在沒有人類指導和經驗的前提下,深度強化學習方法在圍棋領域里仍然能夠出色的完成指定的任務。

AlphaGo和AlphaGo Zero的核心都是深度學習,那深度學習究竟是什么呢?

一、什么是深度學習

深度學習是利用包含多個隱藏層的人工神經網絡實現的學習。
深度學習思想來源於人類處理視覺信息方式,人類視覺系統是這個世界上最為神奇的一個系統。

1981年的諾貝爾醫學獎得主David H.Hubel 和Torsten Wiesel的研究表明:即人腦視覺機理,是指視覺系統的信息處理在可視皮層是分級的,大腦的工作過程是一個不斷迭代、不斷抽象的過程。視網膜在得到原始信息后,首先經由區域V1初步處理得到邊緣和方向特征信息,其次經由區域V2的進一步抽象得到輪廓和形狀特征信息,如此迭代地經由更多更高層的抽象最后得到更為精細的分類。

人眼處理來自外界的視覺信息時,首先提取出目標物的邊緣,再從邊緣特性中提取出目標物的特征,最后將不同特征組合成相應的整體,進而准確地區分不同的物體,在這個過程中,高層特征是低層特征的組合,從低導到高層,特征變得越來越抽象,對目標物的識別也越來越精確 。

在深度學習中,每個層可以對數據進行不同水平的抽象,層間的交互使較高層在較低層得到的特征基礎上實現更加復雜的特征提取。
深度學習是建立在大數據量和超強的計算能力之上,因為多個隱藏層使用了大量的隱藏神經元,龐大的數據處理需要有非常強的計算能力做支撐

前饋神經網絡

具有深度結構的前饋神經網絡,可以看成是進化版的多層感知器。

前饋神經網絡是一種最簡單的神經網絡,各神經元分層排列。每個神經元只與前一層的神經元相連。接收前一層的輸出,並輸出給下一層.各層間沒有反饋。是目前應用最廣泛、發展最迅速的人工神經網絡之一。

在層與層之間,深度架構采用的最常見的方式是全連接,意味着相鄰層次中的任意神經元都是兩兩相連。

任何機器學習算法都可以看成是對某個預設函數的最優化方法,深度前饋網絡也一樣。深度前饋神經網絡也是利用梯度信息進行學習,處理誤差采用反向傳播方法,利用反向傳播求出梯度后再使用隨機梯度下降法尋找損失函數的最小值。

深度前饋網絡的損失函數通常是交叉熵或最小均方差,回歸問題的損失函數通常是最小均方誤差,而分類問題的損失函數通常是交叉熵。

二、正則化

正則化是抑制過擬合的手段,是一類通過顯式設計降低泛化誤差,提升通用性的策略的統稱。
通常來說,泛化誤差的下降是以訓練誤差的上升為代價的。
從概率論角度,許多正則化技術對應的是在模型參數上施加一定的先驗分布,作用是改變泛化誤差的結構。機器學習的任務是擬合出一個從輸入x到輸出y的分布,擬合過程是使期望風險函數最小化的過程。

奧卡姆剃刀原則

正則化處理可以看成是奧卡姆剃刀原則在學習算法上的應用。

奧卡姆剃刀原則 :如無必要,勿增實體

簡單地說,就是當兩個假說具有完全相同的解釋力和預測力時,以那個較為簡單的假說作為討論依據。
機器學習中,正則化得到的是更加簡單的模型、

常用正則化

  • 數據增強。數據增強是提升算法性能、滿足深度學習模型對大量數據的需求的重要工具。數據增強通過向訓練數據添加轉換或擾動來人工增加訓練數據集。數據增強技術如水平或垂直翻轉圖像、裁剪、色彩變換、擴展和旋轉通常應用在視覺表象和圖像分類中
  • Dropout。一種集成方法,通過結合多個模型來降低泛化誤差,在訓練期間從神經網絡中隨機丟棄神經元及其連接,得到簡化的網絡。
  • L2 & L1 正則化。L1 和 L2 正則化是最常用的正則化方法。L1和L2是最常見的正則化方法。它們在損失函數中增加一個正則項,權重矩陣的值減小,會在一定程度上減少過擬合。
  • 早停法。是一種交叉驗證策略,將一部分訓練集作為驗證集, 當看到驗證集的性能越來越差時,立即停止對該模型的訓訓。

三、優化

深度神經網絡中隱藏層比較多,將整個網絡作為一個整體進行優化是非常困難的事,出於效率和精確性的考慮,需要采取一些優化的手段。

存在問題

  • 病態矩陣
    在線性方程 \(Ax=b\) 中,當系數矩陣A的微小擾動會給解集 x 帶來較大幅度的波動時,這樣的矩陣就被稱為病態矩陣。
    在神經網絡訓練中,病態矩陣的影響體現在梯度下降的不穩定性上,在使用隨機梯度下降解決優化解決優化問題時,病態矩陣對輸入的敏感性會導致很小的更新步長也會增加代價函數,使得學習的速度變得異常緩慢
  • 局部極小值
    絕大多數深度學習的目標函數有若干局部最優值。當一個優化問題的數值解在局部最優解附近時,由於梯度接近或變成零,最終得到的數值解可能只令目標函數局部最小化而非全局最小化。
  • 鞍點
    梯度接近或變成0可能是由於當前解在局部最優解附近所造成的。事實上,另一種可能性是當前解在鞍點附近。鞍點是梯度為 0 的臨界點,由於牛頓法的目標是尋找梯度為0的臨界點,因而會受鞍點的影響較大,高維空間中鞍點數目的激增就會嚴重限制牛頓法的性能。

優化方法

隨機梯度下降法是在機器學習的經典算法,是對原始梯度下降法的一種改良。為了節省每次迭代的計算成本,隨機梯度下降在每一次迭代中都使用訓練數據集的一個較小子集來求解梯度的均值,隨機梯度下降法讓每幾個樣本的風險函數最小化,雖然不是每次迭代的結果都是指向全局的最優方向,但是大方向沒有錯,最終的結果也在全局最優解附近。
在隨機梯度下降法的基礎上改進,常見方法有:

  1. 隨機降低噪聲。常用的降噪方法有動態采樣 、梯度聚合、迭代平均。
  2. 使用二階導數近似。主要的優勢在於提升收斂速度,可以看成對傳統的牛頓法的改進
  3. 動量法、加速下降、坐標下降法。

四、自編碼器

自編碼器(autoencoder, AE)是一類在半監督學習和非監督學習中使用的人工神經網絡,其功能是通過將輸入信息作為學習目標,對輸入信息進行表征學習.
自編碼器包含編碼器和解碼器兩部分。
一個自編碼器接收輸入,將其轉換成高效的內部表示,然后再輸出輸入數據的類似物。
自編碼器通常包括兩部分:encoder(也稱為識別網絡)將輸入轉換成內部表示,decoder(也稱為生成網絡)將內部表示轉換成輸出。

從信息論的角度看,編碼器可以看成是對輸入信源的有損壓縮。
深度神經網絡既可以用於分類,也可以用於特征提取,而自編碼器具有提取特征的作用。

棧式自編碼器

自編碼器可以有多個隱層,這被稱作棧式自編碼器(或者深度自編碼器)
增加隱層可以學到更復雜的編碼,但也不能過於強大。
棧式自編碼器的架構一般是關於中間隱層對稱的。如果一個自編碼器的層次是嚴格軸對稱的,一個常用的技術是將decoder層的權重捆綁到encoder層。這使得模型參數減半,加快了訓練速度並降低了過擬合風險。

去噪自編碼器

接受損壞數據作為輸入,通過訓練之后得到無噪聲的輸出的自編碼器。
去噪自編碼器要求對非理想數據的處理結果盡可能逼近原始數據,這防止了自編碼器簡單的將輸入復制到輸出,從而提取出數據中有用的模式。噪聲可以是添加到輸入的純高斯噪聲,也可以是隨機丟棄輸入層的某個特征,類似於dropout。

五、強化學習

強化學習是智能系統從環境到行為的學習過程,智能體通過與環境的互動來發送自身的行為,改善准則是使某個累積獎勵函數最大化。
強化學習是基於環境反饋實現決策制定的通用框架,根據不斷試錯得到來自環境的獎勵或者懲罰,從而實現對趨我晚上信念的不斷增強。強調在與環境的交互過程中實現學習,產生能獲得最大利益的習慣性行為。

最常用的模式是馬爾可夫決策過程。

馬爾可夫決策過程

馬爾可夫決策過程(Markov Decision Processes,MDPs),簡單說是一個智能體(Agent)采取行動從而改變自己的狀態(State)獲得獎勵(Reward)與環境(Enviroment)發生交互的過程。
可以簡單表示為\(M=<S,A,P_{s,a},R>\),基本概念如下:

  • S:由智能體和環境所處的所有可能狀態構成的有限集合,s表示某個特定狀態
  • A:由智能體的所有可能動作構成的有限集合,a表示某個特定動作
  • \(Pa(s,s′)=Pr(s_{t+1}=s′∣s_t=s,a_t=a)\):智能體在t時刻做出的動作a使馬爾可夫過程的狀態從\(t\)時刻的\(s\)轉移為\(t+1\)時刻的\(s′\)的概率
  • \(Ra(s,s′)\):智能體通過a使狀態從\(s\)轉移到\(s′\)得到的實時獎勵
    在某個時間點上,智能體對環境進行觀察,得到這一時刻的獎勵,接下來會在動作集中選擇一個動作發送給環境。來自智能體的動作既能改變環境的狀態,也會改變來自環境的獎勵。
    在智能體與環境不斷互動的過程是為了讓自己得到的獎勵最大化。

深度強化學習

是深度學習和強化學習的結合,將深度學習的感知能力和強化學習的決策能力融為一體,用深度學習的運行機制達到強化學習的優化目標,是一種更接近人類思維方式的人工智能方法。
深度學習具有較強的感知能力,但是缺乏一定的決策能力;而強化學習具有決策能力,對感知問題束手無策。因此,將兩者結合起來,優勢互補,為復雜系統的感知決策問題提供了解決思路。按實施方式,分為以下三類

  • 基於價值。建立一個價值函數的表示,通過優化價值函數得到最優策略
  • 基於策略。直接搜索能夠使未來獎勵最大化的最優策略
  • 基於模型。構造關於環境的轉移概率模型,再用這個模型來指導決策。

以上由chenqionghe整理,light weight baby!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM