天天看點

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

課程快看完了,王樂業老師講的真不錯,準備看完資料分析後,接着再買爬蟲來好好看看。 還是把老師的筆記記下來,以後複習用。

定義:

人工神經網絡(Artificial Neural Networks,簡寫為ANNs)也簡稱為神經網絡(NNs)或稱作連接配接模型(Connection Model),它是一種模仿動物神經網絡行為特征,進行分布式并行資訊處理的算法數學模型。這種網絡依靠系統的複雜程度,通過調整内部大量節點之間互相連接配接的關系,進而達到處理資訊的目的。

原理:

所謂神經網絡就是将許多個單一“神經元”聯結在一起,這樣,一個“神經元”的輸出就可以是另一個“神經元”的輸入。例如,下圖就是一個簡單的神經網絡:

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

我們使用圓圈來表示神經網絡的輸入,标上“ +1”的圓圈被稱為偏置節點,也就是截距項。神經網絡最左邊的一層叫做輸入層(input layer),最右的一層叫做輸出層(output layer)。中間所有節點組成的一層叫做隐藏層(hidden layer)。以上神經網絡的例子中有3個輸入單元$x_{1},x_{2},x_{3}$(偏置單元不計在内),3個隐藏單元$a_{1},a_{2},a_{3}$及一個輸出單元$h_{w,b}(x)$。

本例神經網絡的計算步驟如下:

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

定義:

深度學習的概念源于人工神經網絡的研究。含多隐層的多層感覺器就是一種深度學習結構。深度學習通過組合低層特征形成更加抽象的高層表示屬性類别或特征,以發現資料的分布式特征表示。

卷積神經網絡(Convolutional Neural Network,CNN)是一種前饋神經網絡。卷積神經網絡由三部分構成。第一部分是輸入層。第二部分由n個卷積層和池化層的組合組成。第三部分由一個全連結的多層感覺機分類器構成。

卷積神經網絡判斷一個圖檔是否包含目标的過程,包括四個步驟:圖像輸入(Input Image)→卷積(Convolution)→最大池化(Max Pooling)→全連接配接神經網絡(Fully-Connected Neural Network)計算。

當圖檔通過輸入層進入卷積層,首先初始化一個卷積核,用卷積核(也叫濾波器)和圖檔局部連接配接(與圖檔局部進行點乘,得到feature map),以橫滑的方式,周遊整張圖檔。

下面展示了一個3×3的卷積核在5×5的圖像上做卷積的過程。每個卷積都是一種特征提取方式,就像一個篩子,将圖像中符合條件(激活值越大越符合條件)的部分篩選出來

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

RNN(Recurrent Neuron Network)是一種對序列資料模組化的神經網絡,即一個序列目前的輸出與前面的輸出也有關。具體的表現形式為網絡會對前面的資訊進行記憶并應用于目前輸出的計算中,即隐藏層之間的節點不再無連接配接而是有連接配接的,并且隐藏層的輸入不僅包括輸入層的輸出還包括上一時刻隐藏層的輸出。

RNNs包含輸入單元(Input units),輸入集标記為{$x_{0},x_{1},x_{2},...,x_{t},x_{t+1},...$},而輸出單元{$y_{0},y_{1},y_{2},...,y_{t},y_{t+1},...$}(Output units)的輸出集則被标記為{}。RNNs還包含隐藏單元(Hidden units),我們将其輸出集标記為{$s_{0},s_{1},s_{2},...,s_{t},s_{t+1},...$},這些隐藏單元完成了最為主要的工作。在RNNs中,在$t$時刻,經過運算得到隐藏層輸出$h_t$,然後将$h_t$與$x_{t+1}$一同作為輸入進入隐藏層,得到輸出$h_{t+1}$,一直疊代,直到循環結束。

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

2012 年以來,深度學習極大的推動了圖像識别的研究進展,突出展現在ImageNet ILSVRC 和人臉識别,而且正在快速推廣到與圖像識别相關的各個問題。深度學習的本質是通過多層非線性變換,從大資料中自動學習特征,進而替代手工設計的特征。深層的結構使其具有極強的表達能力和學習能力,尤其擅長提取複雜的全局特征和上下文資訊,而這是淺層模型難以做到的。一幅圖像中,各種隐含的因素往往以複雜的非線性的方式關聯在一起,而深度學習可以使這些因素分級開,在其最高隐含層不同神經元代表了不同的因素,進而使分類變得簡單。

機器翻譯研究60多年來的發展趨勢是不斷降低人在翻譯過程中的主導作用;基于深度學習的方法可以直接用神經網絡描述整個翻譯過程。在深度學習中,因為RNN具有記憶功能,能夠記住處理過的每個詞,是以它計算的最終編碼表示句子中的所有詞,第一個RNN可以給句子生成編碼。然後,第二RNN遵循相反的邏輯,解碼得到原始句子。

TensorFlow是将複雜的資料結構傳輸至人工智能神經網中進行分析和處理過程的系統。它可被用于語音識别或圖像識别等多項機器深度學習領域,對2011年開發的深度學習基礎架構DistBelief進行了各方面的改進,它可在小到一部智能手機、大到數千台資料中心伺服器的各種裝置上運作。TensorFlow完全開源,任何人都可以用。

強化學習(reinforcement learning),就是智能系統從環境到行為映射的學習,以使獎勵信号(強化信号)函數值最大。

強化學習把學習看作試探評價過程,Agent選擇一個動作用于環境,環境接受該動作後狀态發生變化,同時産生一個強化信号(獎或懲)回報給Agent,Agent根據強化信号和環境目前狀态再選擇下一個動作,選擇的原則是使受到正強化(獎)的機率增大。選擇的動作不僅影響立即強化值,而且影響環境下一時刻的狀态及最終的強化值。

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

遷移學習(Transfer Learning)可以從現有的資料中遷移知識,用來幫助将來的學習。遷移學習的目标是将從一個環境中學到的知識用來幫助新環境中的學習任務。

在這個架構中對三個部分進行訓練:一個是feature extractor,這個是用于提取特征的,一般由卷積層與pooling層組成;另一個是label classifier,使用全連接配接層+邏輯斯蒂分類器;第三個在一般的分類器中不會出現,也就是和feature extractor構成對抗網絡架構的分類器domain classifier,它也是一個分類器,由全連接配接層+交叉熵分類器構成。其中全連接配接層的激活函數都是relu函數。對抗展現在對于domain classifier損失在訓練階段兩個相反的要求。具體而言:對于domain adaptation應用,我們希望網絡學到的特征表示具有領域不變(domain invariant)的特征,那麼就要求domain classifier不能正确進行領域分類,也就是要求domain classifier的分類損失最大;另一方面在對domain classifier訓練時,我們肯定要求分類器能盡可能的正确分類,也就是domain classifier的分類損失最小。

DC學院學習筆記(二十三):進階機器學習技術概覽神經網絡深度學習強化學習遷移學習

繼續閱讀