◆張沛陽
(西南大學電子信息工程學院 重慶 400715)
深度學習是使用深層架構的機器學習方法,已經廣泛應用于人工智能所涉及的眾多領域,例如語音識別、計算機視覺、自然語言、在線廣告等。其靈感來源于腦科學中神經元的構造及它們之間的信息流傳播方式。為了解決某一類問題,研究者需要從中抽象出一種數學模型,即建立具有階層結構的人工神經網絡(Artifitial Neural Networks,ANNs)。ANNs 對輸入信息進行逐層提取和篩選,利用反向傳播算法來指導機器修改內部參數,使計算機在使用特征的同時,找到數據隱含在內部的關系,學習如何提取特征。深度學習使學習到的特征更具有表達力,最終通過計算機實現人工智能。
深度學習的概念是在 2006 年由 GE Hinton 和 RR Salakhutdinov 正式提出的。為了降低數據的維數,他們采用了神經網絡,并通過訓練具有小中心層的多層神經網絡以重建高維輸入向量,將高維數據轉換為低維碼,巧妙地利用梯度下降法微調這種“自動編碼器”網絡中的權重。早期的深度學習由于受到硬件的限制進展緩慢,隨著計算機技術突飛猛進的發展,計算機的運算能力和運算速度顯著提升,支持深度學習中大規模的矩陣運算,從而使深度學習的應用范圍越來越廣泛。隨著深度學習的發展,計算機視覺領域取得了不俗的成就,已經廣泛應用于醫療、公共安全等與人們生活息息相關的領域。在現代醫療上,由于神經網絡經過海量數據集的訓練,具有極高的準確度,在判斷病人醫療影像時可以利用深度學習的方法讓計算機的診斷結果作為重要評判依據,這一方法在診斷惡性腫瘤時尤其有效。在公共安全上,可通過攝像頭采集有關人臉的圖像或視頻,提取其面部信息,并與數據庫中的信息進行對比,當與不法分子的相似度達到閾值時系統會警告當地公安機關采取相應措施。由于人臉識別能做到24小時不間斷和重要地段無死角的監控,能實時、精準掌控不法分子行蹤,在很大程度上減輕了公安部門的工作壓力。
卷積神經網絡(Convolutional Neural Networks,CNN)模仿了生物視覺系統結構,即當具有相同參數的神經元應用于前一層的不同位置時,能獲取變換不變性的特征,是一類包含卷積計算且具有深度結構的前饋神經網絡(Feedforward Neural Networks)。CNN 能勝任大型圖像處理的工作,在深度學習算法中影響深遠。
訓練圖像識別首先要提取特征,圖片中各個部分的“輪廓”是一種低級的形狀特征,且其只與相鄰近的像素有關,此時可采用卷積神經網絡提取。賀秀偉(2017)研究表明,為了提取更高維度的特征,需要構建多層神經網絡從低級特征中提取。通俗地說,卷積神經網絡的意義在于過濾出相鄰像素之間的“輪廓”。CNN 一般包括數據輸入層(Input layer)、卷積計算層(Convolutional layer)、激勵層(一般采用ReLU)、池化層(Pooling layer)和全連接層(Fully Connected layer)。前四層通過卷積運算和疊加提取特征,全連接層將卷積層產生的特征圖映射成一個長度不變的特征向量,舍棄了圖像的位置信息,卻通過該向量將圖像中特點最鮮明的特征保留了下來,從而實現圖像識別、分類等功能。
CNN 采用一個過濾器掃描待測圖像,而圖像的每個位置是被同樣的過濾器掃描,所以權重一樣。共享權值減少了權值的數量,導致網絡模型的復雜度降低。這種特點在大圖像數據的機器學習中具有明顯優勢,能不斷降低復雜圖像識別問題的維度,進而實現減少訓練用時、使數據可視化等要求。相比于全連接網絡,CNN 適應性強,在挖掘數據局部特征時效果非凡,成為多領域的重點研究對象。隨著GPU 并行計算的發展,卷積神經網絡逐漸成為深度學習的主流算法。
循環神經網絡(Recurrent Neural Network,RNN)輸入的數據是序列,所有循環單元按鏈式連接,遞歸方向與演進方向相同。與CNN 類似,RNN 的參數在不同時刻也是共享的。然而CNN和人工神經網絡均以元素、輸入與輸出分別相互獨立為前提,故不方便處理元素相互關聯的問題。RNN擅長解決序列數據問題,相比于前饋神經網絡,RNN 擁有記憶重要信息,選擇性地遺忘次要信息的能力,這讓它在語音識別、筆跡鑒定等方面表現突出。
包曉安等(2018)研究認為,RNN 網絡中最小單元的前時刻輸出是由記憶和當前時刻的輸入等決定的。假如在某一時刻有一個輸入tx,那么就能根據上一時刻的狀態 1A-t和此刻輸入tx得到輸出th。正因如此,它可以通過一系列參數將復雜的內容整合,再學習這個參數。許多個這樣的最小單元之間記憶部分相連,展開就組成了RNN。為了過濾掉次要信息,RNN 還需要激活函數通過非線性映射來完成此功能。為了將當前時刻的狀態轉換成最終的輸出,RNN 依靠另一個全連接神經網絡完成此過程,故要求不同時刻用于輸出的全連接神經網絡中的參數相同。RNN能有效運用傳統神經網絡結構所不能建模的信息,卻會產生長期依賴、有用信息的間隔大小與長短均不一致的問題。
深度置信網絡(Deep Belief Network,DBN)由多個限制玻爾茲曼機(Restricted Boltzmann Machines,RBM)層層疊加組成,每一個RBM 都可以單獨用作聚類器。王瀚文(2018)研究發現,DBN 通過RBM 的疊加,逐層學習數據概率分布,提取多種概率特征。傳統判別模型的神經網絡僅評估了P(Label|Observation),而DBN 還評估了P(Observation|Label)。訓練DBN 首先單獨無監督地訓練每一層 RBM 網絡,確保特征向量映射到不同特征空間時,都盡量保留相關特征信息,最后在末層設置 BP 網絡,以RBM 的輸出特征向量作為它的輸入,有監督地訓練實體關系分類器,調整網絡參數。每層 RBM 網絡僅能保證自身層內特征向量映射達到最優。為了使DBN 整體特征向量映射實現最優,需利用反向傳播網絡微調DBN 網絡。故DBN 的缺陷在于易陷入局部最優的困境和訓練時間長。
DBN 的靈活性很高,所以容易拓展。例如,卷積深度置信網絡(CDBNs)能運用鄰域像素的空域關系,建立卷積RBMs的模型區從而實現生成模型的變換不變性,能變換得到高維圖像。再如堆疊時間RBMs,能處理觀察變量的時間聯系。如今,基于序列學習的臨時卷積器的研究成為語音信號處理的新研究方向。
梯度下降法是用來求解最小二乘問題的一種迭代法。在求解損失函數最大值或最小值時,可以使用梯度上升法或梯度下降法。機器學習從基本的梯度下降法發展出了隨機梯度下降法。
以最小化損失函數為例,SGD 的算法過程是每次隨機取一組樣本jθ,得到對應的待擬合函數 ( )h x,根據梯度下降法,用損失函數 ( )θJ對θ求偏導,再不斷根據學習率α更新θ,得到SGD 一輪迭代只用一條隨機選取的數據,所以一次學習時間非常快。在非凸函數上,梯度下降法求得的可能是極值而非最值,因此耗費大量的時間和內存,而隨機梯度下降法擁有最終收斂于一個較好的局部極值點的優勢,但缺點在于容易出現損失函數波動和有時無法判斷是否收斂。
Adam 是一種能替代傳統隨機梯度下降過程的一階優化算法,它可以基于訓練數據迭代更新神經網絡權重。傳統隨機梯度下降算法的學習率在訓練過程中并不會改變,而 Adam 擁有獨立的自適應性和學習率的優勢,在解決非凸優化問題中具有計算高效、所需內存少、易調參等優點。Adam 結合了適應性梯度算法(AdaGrad)和均方根傳播(RMSProp)的優點,既提升了稀疏梯度上的性能,在非穩態和在線問題上也有不錯的表現。因此,Adam 優化算法在解決大型模型和數據集的局部深度學習問題上效率很高。
Sigmoid 函數及其導數公式如下:

Sigmoid 函數用于隱層神經元輸出,可以將輸入映射到(0,1)的值域區間,故常用作二分類的激活函數。在特征相差較為復雜或者差別不是很大時應用效果較好。Sigmoid 作為激活函數的優點在于:輸出單調、連續、處處可導、收斂,可作為輸出層。缺點是:激活函數計算量大,反向傳播時由于存在軟飽和性,極易發生梯度消失,無法正常訓練深層網絡。
Softmax 函數公式如下:

其中,i表示從輸入的多位向量中取出的某個一維向量,K表示輸入向量的維數。
Softmax 用于多分類過程,它將多個神經元的輸出映射到(0,1)范圍內表示概率,因而所有輸出的和為1。Softmax 函數又稱歸一化指數函數,作用是將有限項離散概率分布的梯度對數歸一化。因此,Softmax 在基于概率的多分類問題中有著廣泛應用。
深度學習是一種革命性的機器學習方法,它沒有具體的公式,更不會以某一損失函數為特征。深度學習可以采用擴大數據集或者改進算法的方式來提高學習算法的準確性,在大數據集上的表現明顯優于其他機器學習方法。越來越多的領域將會應用到深度學習,深度學習也會促進其他領域的發展。由此,可推測出深度學習在未來有廣闊的發展。首先,模型層數會增多,更加深層的模型可以減少訓練樣本的數量,這也會更加適應數據沒有標簽的無監督學習。其次,深度學習的成本會降低,訓練時的參數、對硬件的要求都會下降。這使深度神經網絡能夠在廉價的移動設備上運行,例如已經有突破性進展的無人駕駛領域。最后,深度神經網絡將成為其他科研領域研究的重要工具,比如研發新型藥物、醫療診斷等。