成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談深度學習的基本概念和方法

人工智能 深度學習
本文旨在提供直觀簡明的深度學習引導,涵蓋深度學習的基本概念,而不涉及很多數學和理論細節。當然如果要做更深入的研究,數學肯定是必不可少的,但是本系列主要還是用圖片和類比等方式,幫助初學者快速建立大局觀。

本文旨在提供直觀簡明的深度學習引導,涵蓋深度學習的基本概念,而不涉及很多數學和理論細節。當然如果要做更深入的研究,數學肯定是必不可少的,但是本系列主要還是用圖片和類比等方式,幫助初學者快速建立大局觀。

核心概念

機器學習(Machine Learning)

在機器學習中,我們(1)讀取數據,(2)訓練模型,(3)使用模型對新數據做預測。訓練可以看作是當模型拿到新數據的時候、逐步學習一個的過程。在每一步,模型做出預測并且得到準確度的反饋。反饋的形式即是某種衡量標準(比如與正確解的距離)下的誤差,再被用于修正預測誤差。

學習是一個在參數空間里循環往復的過程:當你調整參數改正一次預測,但是模型卻可能把原先對的又搞錯了。需要很多次的迭代,模型才能具有良好的預測能力,這一“預測-修正”的過程一直持續到模型再無改良空間。

特征工程(Feature Engineering)

特征工程從數據中提取有用的模式,使之更容易被機器學習模型進行分類。比如,把一堆綠色或藍色的像素區域作為標準,來判斷照片上是陸生動物還是水生動物。這一特征對于機器學習模型十分有效,因為其限制了需要考慮的類別數量。

在多數預測任務中,特征工程是取得好結果的必備技能。然而,因為不同的數據集有著不同的特征工程方法,所以很難得出普遍規律,只有一些大概的經驗,這使得特征工程更是一門藝術而非科學。一個數據集里極其關鍵的特征,到了另一個數據集里可能沒有卵用(比如下一個數據集里全是植物)。正因為特征工程這么難,才會有科學家去研發自動提取特征的算法。

很多任務已經可以自動化(比如物體識別、語音識別),特征工程還是復雜任務中最有效的技術(比如Kaggle機器學習競賽中的大多數任務)。

特征學習(Feature Learning)

特征學習算法尋找同類之間的共有模式,并自動提取用以分類或回歸。特征學習就是由算法自動完成的特征工程。在深度學習中,卷積層就極其擅長尋找圖片中的特征,并映射到下一層,形成非線性特征的層級結構,復雜度逐漸提升(例如:圓圈,邊緣 -> 鼻子,眼睛,臉頰)。最后一層使用所有生成的特征來進行分類或回歸(卷積網絡的最后一層,本質上就是多項式邏輯回歸)。

深度學習算法學得的層級特征 

圖1:深度學習算法學得的層級特征。  

每個特征都相當于一個濾波器,

用特征(比如鼻子)去過濾輸入圖片。

如果這個特征找到了,相應的單元就會產生高激勵,

在之后的分類階段中,就是此類別存在的高指標。

圖1顯示了深度學習算法生成的特征,很難得的是,這些特征意義都很明確,因為大多數特征往往不知所云,特別是循環神經網絡、LSTM或特別深的深度卷積網絡。

深度學習(Deep Learning)

在層級特征學習中,我們提取出了好幾層的非線性特征,并傳遞給分類器,分類器整合所有特征做出預測。我們有意堆疊這些深層的非線性特征,因為層數少了,學不出復雜特征。數學上可以證明,單層神經網絡所能學習的最好特征,就是圓圈和邊緣,因為它們包含了單個非線性變換所能承載的最多信息。為了生成信息量更大的特征,我們不能直接操作這些輸入,而要對第一批特征(邊緣和圓圈)繼續進行變換,以得到更復雜的特征。

研究顯示,人腦有著相同的工作機理:視錐細胞接受信息的第一層神經,對邊緣和圓圈更加敏感,而更深處的大腦皮層則對更加復雜的結構敏感,比如人臉。

層級特征學習誕生在深度學習之前,其結構面臨很多嚴重問題,比如梯度消失——梯度在很深的層級處變得太小,以致于不能提供什么學習信息了。這使得層級結構反而表現不如一些傳統機器學習算法(比如支持向量機)。

為解決梯度消失問題,以便我們能夠訓練幾十層的非線性層及特征,很多新的方法和策略應運而生,“深度學習”這個詞就來自于此。在2010年代早期,研究發現在GPU的幫助下,激勵函數擁有足以訓練出深層結構的梯度流,從此深度學習開始了穩步發展。

深度學習并非總是與深度非線性層級特征綁定,有時也與序列數據中的長期非線性時間依賴相關。對于序列數據,多數其他算法只有最后10個時間步的記憶,而LSTM循環神經網絡(1997年由Sepp Hochreiter和Jürgen Schmidhuber發明),使網絡能夠追溯上百個時間步之前的活動以做出正確預測。盡管LSTM曾被雪藏將近10年,但自從2013年與卷積網絡結合以來,其應用飛速成長。

基本概念

邏輯回歸(Logistic Regression)

回歸分析預測統計輸入變量之間的關系,以預測輸出變量。邏輯回歸用輸入變量,在有限個輸類別變量中產生輸出,比如“得癌了” / “沒得癌”,或者圖片的種類如“鳥” / “車” / “狗” / “貓” / “馬”。

邏輯回歸使用logistic sigmoid函數(見圖2)給輸入值賦予權重,產生二分類的預測(多項式邏輯回歸中,則是多分類)。

logistic sigmoid函數 

邏輯回歸與非線性感知機或沒有隱藏層的神經網絡很像。主要區別在于,只要輸入變量滿足一些統計性質,邏輯回歸就很易于解釋而且可靠。如果這些統計性質成立,只需很少的輸入數據,就能產生很穩的模型。因而邏輯回歸在很多數據稀疏的應用中,具有極高價值。比如醫藥或社會科學,邏輯回歸被用來分析和解釋實驗結果。因為邏輯回歸簡單、快速,所以對大數據集也很友好。

在深度學習中,用于分類的神經網絡中,最后幾層一般就是邏輯回歸。本系列將深度學習算法看作若干特征學習階段,然后將特征傳遞給邏輯回歸,對分類進行輸入。

人工神經網絡(Aritificial Neural Network)

人工神經網絡(1)讀取輸入數據,(2)做計算加權和的變換,(3)對變換結果應用非線性函數,計算出一個中間狀態。這三步合起來稱為一“層”,變換函數則稱為一個“單元”。中間狀態——特征——也是另一層的輸入。

通過這些步驟的重復,人工神經網絡學的了很多層的非線性特征,最后再組合起來得出一個預測。神經網絡的學習過程是產生誤差信號——網絡預測與期望值的差——再用這些誤差調整權重(或其他參數)使預測結果更加準確。

Kaiser:以下為幾個名詞的辨析,包括最近幾年的習慣變遷,我認為不需要深究。

單元(Unit)

單元有時指一層中的激勵函數,輸入正是經由這些非線性激勵函數進行變換,比如logistic sigmoid函數。通常一個單元會連接若干輸入和多個輸出,也有更加復雜的,比如長短期記憶(LSTM)單元就包含多個激勵函數,并以特別的布局連接到非線性函數,或最大輸出單元。LSTM經過對輸入的一系列非線性變換,計算最終的輸出。池化,卷積及其他輸入變換函數一般不稱作單元。

人工神經元(Artificial Neuron)

人工神經元——或神經元——與“單元”是同義詞,只不過是為了表現出與神經生物學和人腦的緊密聯系。實際上深度學習和大腦沒有太大關系,比如現在認為,一個生物神經元更像是一整個多層感知機,而不是單個人工神經元。神經元是在上一次AI寒冬時期被提出來的,目的是將最成功的神經網絡與失敗棄置的感知機區別開來。不過自從2012年以后深度學習的巨大成功以來,媒體經常拿“神經元”這個詞來說事兒,并把深度學習比作人腦的擬態。這其實是具有誤導性,對深度學習領域來講也是危險的。如今業界不推薦使用“神經元”這個詞,而改用更準確的“單元”。

激勵函數(Acitivation Function)

激勵函數讀取加權數據(輸入數據和權重進行矩陣乘法),輸出數據的非線性變換。比如output = max(0, weight_{data})就是修正線性激勵函數(本質上就是把負值變成0)。“單元”和“激勵函數”之間的區別是,單元可以更加復雜,比如一個單元可以包含若干個激勵函數(就像LSTM單元)或者更復雜的結構(比如Maxout單元)。

Kaiser:原文這個例子顯然把簡單的問題說復雜了,建議跳過。

線性激勵函數,與非線性激勵函數的區別,可以通過一組加權值之間的關系體現:想象4個點A1, A2, B1, B2。點(A1 / A2),和(B1 / B2)很接近,但是A1和B1, B2都很遠,A2亦然。

經過線性變換,點之間的關系會變化,比如A1和A2遠離了,但同時B1和B2也遠離了。但是(A1 / A2)和(B1 / B2)的關系不變。

而非線性變換則不同,我們可以增加A1和A2的距離,同時減小B1和B2的距離,如此就建立了復雜度更高的新關系。在深度學習中,每一次層的非線性激勵函數都創造了更復雜的特征。

而純線性變換,哪怕有1000層,也可以用一個單層來表示(因為一連串的矩陣相乘可以用一個矩陣乘法來表示)。這就是為什么非線性激勵函數在深度學習中如此重要。

層(Layer)

層是深度學習更高級的基本構成單位。一層,就是接受加權輸入、經過非線性激勵函數變換、作為輸出傳遞給下一層的容器。一層通常只含一種激勵函數,池化、卷積等等,所以可以簡單地與網絡其他部分作對比。第一層和最后一層分別稱為“輸入層”和“輸出層”,中間的都稱作“隱藏層”。

卷積深度學習

卷積(Convolution)

卷積是一種數學操作,表述了混合兩個函數或兩塊信息的規則:(1)特征映射或輸入數據嗎,與(2)卷積核混合,形成(3)變換特征映射。卷積也經常被當做是一種濾波器,卷積核(kernel)過濾特征映射以找到某種信息,比如一個卷積核可能是只找邊緣,而拋掉其他信息。

 

用邊緣檢測卷積核,對圖像進行卷積操作 

圖3:用邊緣檢測卷積核,對圖像進行卷積操作。

卷積在物理和數學中都很重要,因為他建立了時域和空間(位置(0,30)的,像素值147)以及頻域(幅度0.3,頻率30Hz,相位60度)的橋梁。這一橋梁的建立是通過傅里葉變換:當你對卷積核與特征映射都做傅里葉變換時,卷積操作就被極大簡化了(積分變成了相乘)。

用圖像窗在整個圖像上滑動計算卷積 

圖4:用圖像窗在整個圖像上滑動計算卷積。

原始圖像(綠色)的圖像窗(黃色)

與卷積核(紅字)相乘再相加,

得到特征映射中的一個向量

(Convolved Feature里的粉紅單元)。

卷積,可以描述信息的擴散。比如當你把牛奶倒進咖啡卻不攪拌,這是擴散就發生了,而且可以通過卷積精確描述(像素向著圖像邊緣擴散)。在量子力學當中,這描述了當你測量一個量子的位置時,其在特定位置出現的概率(像素在邊緣處于最高位置的概率)。在概率論中,者描述了互相關,也就是兩個序列的相似度(如果一個特征(如鼻子)里的像素,與一個圖像(比如臉)重疊,那么相似度就高)。在統計學中,卷積描述了正太輸入血獵的加權動平均(邊緣權重高,其他地方權重低)。另有其它很多不同角度的解釋。

Kaiser:這里的“邊緣”不同于之前的edge,原詞為contour,指決策邊界。比如對于人臉識別,人臉的輪廓就是contour,識別的重點。

 

不過對于深度學習,我們也不知道卷積的哪一種解釋才是正確的,互相關(cross-correlation)解釋是目前最有效的:卷積濾波器是特征檢測器,輸入(特征映射)被某個特征(kernel)所過濾,如果該特征被檢測到了,那么輸出就高。這也是圖像處理中互相關的解釋。

圖像的互相關 

圖5: 圖像的互相關。

卷積核上下倒過來,就是互相關了。

核Kernel可以解釋為特征檢測器,

如果檢測到了,就會產生高輸出(白色),

反之則為低輸出(黑色)。

池化/下采樣(Pooling/Sub-Sampling)

池化過程從特定區域讀取輸入,并壓縮為一個值(下采樣)。在卷積神經網絡中,信息的集中是種很有用的性質,這樣輸出連接通常接收的都是相似信息(信息像經過漏斗一樣,流向對應下一個卷積層的正確位置)。這提供了基本的旋轉/平移不變性。比如,如果臉不在圖片的中心位置,而是略有偏移,這應該不影響識別,因為池化操作將信息導入到了正確位置,故卷積濾波器仍能檢測到臉。

池化區域越大,信息壓縮就越多,從而產生更“苗條”的網絡,也更容易配合顯存。但是如果池化面積太大,丟失信息太多,也會降低預測能力。

Kaiser:以下部分將之前羅列的概念串了起來,是全文的精華所在。

卷積神經網絡(Convolutional Neural Network, CNN)

卷積神經網絡,或卷積網絡,使用卷積層過濾輸入以獲得有效信息。卷積層有的參數是自動學習獲得的,濾波器自動調整以提取最有用的信息(特征學習)。比如對于一個普適的物體識別任務,物體的形狀可能是最有用的;而對于鳥類識別人物,顏色可能是最有用的(因為鳥的形狀都差不多,而顏色卻五花八門)。

一般我們使用多個卷積層過濾圖像,每一層之后獲得的信息,都越來越抽象(層級特征)。

卷積網絡使用池化層,獲得有限的平移/旋轉不變性(即使目標不在通常位置,也能檢測出來)。池化也降低了內存消耗,從而能夠使用更多卷積層。

最近的卷積網絡使用inception模塊,即1x1的卷積核進一步降低內存消耗,加速計算和訓練過程。

一個交通標志圖像被4個5x5卷積核濾波 

圖6:一個交通標志圖像被4個5x5卷積核濾波,

生成了4個特征映射,這些特征映射經過“最大池化”。

下一層對之前下采樣過的圖像應用10個5x5卷積核,

并在此池化。

最后一層是全連接層,

所有的特征都組合起來傳遞給分類器(本質上就是邏輯回歸)。

Inception

卷積網絡中,inception模塊的設計初衷是為了以更高的計算效率,執行更深、更大的卷積層。Inception使用1x1的卷積核,生成很小的特征映射。比如192個28x28的特征映射,可以經過64個1x1的卷積,被壓縮成64個28x28的特征映射。因為尺寸縮小了,這些1x1的卷積后面還可以跟跟大的卷積,比如3x3,5x5。除了1x1卷積,最大池化也用來降維。

Inception模塊的輸出,所有的大卷積都拼接成一個大的特征映射,再傳遞給下一層(或inception模塊)。 

責任編輯:龐桂玉 來源: 大數據
相關推薦

2010-02-03 11:11:18

C++類型轉換

2023-06-14 00:21:52

2009-11-25 14:56:43

2011-03-28 11:05:17

ODBC

2009-07-22 14:28:43

學習ASP.NET MASP.NET MVC

2020-06-03 15:35:10

數據挖掘算法大數據

2010-07-07 15:17:40

LDAP協議

2010-08-23 16:58:17

DHCP協議

2010-06-24 13:26:53

FTP協議

2010-04-19 10:08:46

Oracle視圖

2010-06-08 16:11:10

SPI總線協議

2017-07-10 16:40:09

2010-06-21 18:04:08

2009-09-07 04:29:28

SDI MDI

2014-04-16 15:11:19

Spark

2012-09-11 14:39:03

Moosefs

2009-03-20 11:46:10

MGCP協議網關

2010-07-21 17:00:58

bada接口

2010-06-29 13:00:49

EIGRP協議

2010-06-12 14:12:22

RSVP協議
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品久久九九 | 欧美精品黄 | 日韩有码一区二区三区 | 久久国产福利 | 99精品国产一区二区三区 | 亚洲成人av | 国产精品有限公司 | 亚洲一区二区视频在线观看 | 欧美网站一区二区 | 蜜桃av鲁一鲁一鲁一鲁 | 永久免费在线观看 | 麻豆国产一区二区三区四区 | 精品国产精品三级精品av网址 | 91精品一区| 午夜精品久久久久久久久久久久 | 欧美影院久久 | 亚洲一级视频在线 | 久久精品中文字幕 | 国产成人99久久亚洲综合精品 | 日韩视频高清 | 草草精品 | 久久久久久久久久一区 | 91麻豆产精品久久久久久夏晴子 | 欧美色综合天天久久综合精品 | 黄色免费观看 | 91精品国产色综合久久 | 日韩欧美三区 | 久久99精品久久久久久 | 日韩精品一区二区三区视频播放 | 欧美 日韩 国产 成人 | 精品成人佐山爱一区二区 | 国产一区二区成人 | 久草热线| 亚洲国产精品激情在线观看 | 福利av在线 | 亚洲成人一级 | 能免费看的av | 99久久久久 | 亚洲精品久久国产高清情趣图文 | 黑人一级片视频 | 欧美精品一区二区在线观看 |