神經(jīng)網(wǎng)絡(luò)和深度學(xué)習(xí)簡史
人工神經(jīng)網(wǎng)絡(luò)(ANN Artificial Neural Network)是一類學(xué)習(xí)的機(jī)器學(xué)習(xí)算法,它專注于模式識別,對數(shù)據(jù)進(jìn)行學(xué)習(xí),靈感來自大腦的結(jié)構(gòu)和功能深度學(xué)習(xí)屬于ANN算法的家族,在大多數(shù)情況下,兩者可以互換使用。
事實上,你可能會驚訝地發(fā)現(xiàn)深度學(xué)習(xí)領(lǐng)域已經(jīng)存在了60多年。自20世紀(jì)40年代以來,“深度學(xué)習(xí)”一直存在著各種各樣的名字
變化,包括控制論,連接主義和最熟悉的人工神經(jīng)網(wǎng)絡(luò)。

第一個神經(jīng)網(wǎng)絡(luò)模型來自McCulloch和Pitts,1943年。這個網(wǎng)絡(luò)是一個二元分類器,能夠根據(jù)一些輸入識別兩個不同的類別。
然后,在20世紀(jì)50年代,開創(chuàng)性的Perceptron算法由Rosenblatt發(fā)表 - 這個模型可以自動學(xué)習(xí)輸入分類所需的權(quán)重(無人為干預(yù)需要)。這個自動訓(xùn)練程序構(gòu)成了隨機(jī)梯度下降(SGD Stochastic Gradient Descent)的基礎(chǔ),今天仍用于訓(xùn)練非常深的神經(jīng)網(wǎng)絡(luò)。

在此期間,基于感知器的技術(shù)在神經(jīng)網(wǎng)絡(luò)社區(qū)中風(fēng)靡一時。然而,Minsky和Papert 在1969年出版的一本書有效地停滯了神經(jīng)
網(wǎng)絡(luò)研究近十年。他們的工作證明了具有線性的感知器激活函數(shù)(深度無關(guān))只是線性分類器,無法解決非線性問題問題。

上圖中無法用直線分隔藍(lán)色星星與紅色圓圈。此外,作者認(rèn)為(當(dāng)時)我們沒有計算資源來構(gòu)建大型深度神經(jīng)網(wǎng)絡(luò)(事后看來,它們絕對正確)。
反向傳播算法和Werbos(1974),Rumelhart(1986)和LeCun(1998)的研究[17]喚醒了神經(jīng)網(wǎng)絡(luò)。他們在反向傳播算法中的研究啟用了多層要訓(xùn)??練的前饋神經(jīng)網(wǎng)絡(luò)。

結(jié)合非線性激活函數(shù),研究人員現(xiàn)在可以學(xué)習(xí)非線性函數(shù)并解決XOR問題,為神經(jīng)網(wǎng)絡(luò)研究的全新領(lǐng)域打開了大門。
進(jìn)一步的研究表明神經(jīng)網(wǎng)絡(luò)是通用的近似,能夠近似任何連續(xù)函數(shù)(但不保證網(wǎng)絡(luò)是否正??梢詫W(xué)習(xí)表示函數(shù)所需的參數(shù))。
反向傳播算法是現(xiàn)代神經(jīng)網(wǎng)絡(luò)的基石.有效地訓(xùn)練神經(jīng)網(wǎng)絡(luò)并“教導(dǎo)”他們從錯誤中吸取教訓(xùn)。但即便如此,在由于(1)計算機(jī)速度慢(與現(xiàn)代機(jī)器相比)和(2)缺少大量標(biāo)記的訓(xùn)練集,研究人員無法(可靠地)訓(xùn)練超過兩個隱藏的層的神經(jīng)網(wǎng)絡(luò),因為計算上是不可行的。
今天最新神經(jīng)網(wǎng)絡(luò)為深度學(xué)習(xí),我們擁有更快,更專業(yè)的硬件,提供更多可用的訓(xùn)練數(shù)據(jù)。我們現(xiàn)在可以訓(xùn)練具有更多隱藏層的網(wǎng)絡(luò),能夠進(jìn)行分級學(xué)習(xí),在較低層和更多層次中學(xué)習(xí)簡單的概念,在較高層中的抽象模式。
應(yīng)用深度學(xué)習(xí)到特征學(xué)習(xí)的典型例子是應(yīng)用于手寫字符識別的Convo-lutional神經(jīng)網(wǎng)絡(luò)(LeCun 1988)。通過順序堆疊自動從圖像中學(xué)習(xí)區(qū)分模式(稱為“過濾器”)。網(wǎng)絡(luò)較低級別的過濾器代表邊緣和角落,而更高級別的圖層使用邊緣和角落來學(xué)習(xí)更有用的抽象概念以區(qū)分圖像類。
在許多領(lǐng)域中,CNN現(xiàn)在被認(rèn)為是最強大的圖像分類器,是目前負(fù)責(zé)推動計算機(jī)視覺子領(lǐng)域的最先進(jìn)技術(shù)。
分層特征學(xué)習(xí)
機(jī)器學(xué)習(xí)算法通常分為三個陣營 - 監(jiān)督,無人監(jiān)督和半監(jiān)督學(xué)習(xí)。
在監(jiān)督的情況下,機(jī)器學(xué)習(xí)算法被給予一組輸入和目標(biāo)輸出。然后,該算法嘗試學(xué)習(xí)可用于自動映射輸入數(shù)據(jù)的模式
指向正確的目標(biāo)輸出。監(jiān)督學(xué)習(xí)類似于讓老師看著你參加考試。鑒于您以前的知識,您盡力在您的標(biāo)記上標(biāo)記正確的答案
考試; 但是如果你不對老師會指導(dǎo)你做一個更好的,讓你更有根據(jù)的猜測下一次。
在無監(jiān)督的情況下,沒有任何提示關(guān)于輸入是什么,機(jī)器學(xué)習(xí)算法試圖自動發(fā)現(xiàn)。在這種情況下,我們的學(xué)生會嘗試
將類似的問題和答案組合在一起,即使學(xué)生不知道正確的答案,老師也不提供真正的答案。無監(jiān)督學(xué)習(xí)顯然是比監(jiān)督學(xué)習(xí)更具挑戰(zhàn)性的問題。
過去我們手工衡量圖像的內(nèi)容 ,很少使用原始像素強度作為我們機(jī)器學(xué)習(xí)模型的輸入?,F(xiàn)在對于每個圖像,我們執(zhí)行了特征提取,并返回旨在量化內(nèi)容的矢量。

局部二元模式(Local Binary Patterns),Haralick紋理[22]),形狀(shape)、Zernike Moments [24])和顏色(color moments, color histograms, color correlograms)廣發(fā)用于識別。
其他方法,如關(guān)鍵點檢測器(keypoint detector)和局部不變描述符(local invariant descriptor)用于處理圖像關(guān)鍵區(qū)域。
當(dāng)我們的圖像的視點角度和訓(xùn)練的分類器沒有顯著變化時,定向梯度直方圖(HOG Histogram of Oriented Gradient)非常擅長檢測圖像中的對象。
有一段時間,HOG及其變體引導(dǎo)了圖像中物體檢測的研究,如可變形零件模型( Deformable Parts Model)和范例SVM。
在深度學(xué)習(xí)中,特征提取由系統(tǒng)學(xué)習(xí)完成。
該有多深
我個人認(rèn)為可以考慮任何具有兩個以上隱藏層的網(wǎng)絡(luò)為“深”。

我們現(xiàn)在有:
1.更快的電腦
2.高度優(yōu)化的硬件(即GPU)
3.數(shù)百萬張圖像的大型標(biāo)記數(shù)據(jù)集
4.更好地理解權(quán)重初始化函數(shù)以及什么/不起作用
5.卓越的激活功能和對前一非線性原因的理解

可愛的python測試開發(fā)庫 請在github上點贊,謝謝!
- 技術(shù)支持qq群: 144081101(后期會錄制視頻存在該群群文件) 591302926 567351477 釘釘免費群:21745728
處理您自己的深度學(xué)習(xí)應(yīng)用程序的建議:
1.您使用的是專門的網(wǎng)絡(luò)架構(gòu),如卷積神經(jīng)網(wǎng)絡(luò),回歸神經(jīng)網(wǎng)絡(luò)或長期短期記憶(LSTM)網(wǎng)絡(luò)?如果是的話,是的,你正在進(jìn)行深度學(xué)習(xí)。
2.您的網(wǎng)絡(luò)深度是否> 2?如果是的話,你正在深入學(xué)習(xí)。
3.您的網(wǎng)絡(luò)深度是否> 10?如果是這樣,你正在進(jìn)行非常深入的學(xué)習(xí)。
不要太糾結(jié)于概念,無論如何你還在使用人工神經(jīng)網(wǎng)絡(luò)進(jìn)行機(jī)器學(xué)習(xí)。
代碼地址:https://github.com/whydna/Deep-Learning-For-Computer-Vision
注意不是: https://github.com/PacktPublishing/Deep-Learning-for-Computer-Vision