最近關注到一門28課時的《深度學習實戰》的公開課(B站上有全集資源),覺着1-2天可以對深度學習有一個具體的瞭解,所以就開看了,這一篇是記錄聽課的學習筆記。
人工智能主要有以下四部分:
- 語音(speech)
- 視覺(vision)
- 自然語言處理(NLP)
- 通用人工智能(AGI):目前還做不了,包括resoning/ self-learning/interacting
其中語音和視覺是自然的光信號啊、聲音信號啊,相對來說只要理解了其中的原理就可以做出來,也更容易推向市場;而NLP是人造出來的相對來說難一些,AGI輸出了更抽象的概念和理解,所以目前還沒辦法做。
什麼是計算機視覺:
- 人類用眼睛和大腦感知世界
- 計算機用攝像頭/傳感器感知世界
人腦的識別系統;
- 大腦皮層,有6層,每層2毫米厚
- 300億個神經元(neurons),每個有幾千個其他相連接。他們包含了我們所有的技藝,知識技能,生活經驗。物理上是毫無二致的表面,沒有明顯的邊界和分區。
- 層級結構:視覺有V1,V2,V4,IT區,MT負責運動檢測,A1的聽覺區域,S1的初級體感。還有聯合區域接受多個感官的輸入。M1負責向脊髓傳達指令驅動肌肉。
現在的科學家向從研究人腦的運作方式上來獲得啓發,以此來研究視覺的相關算法,但是目前來講沒有很大的進展。
計算機視覺終一些核心的問題:
- 分類:對整張圖片做分類,有沒有電視機、貓狗、人之類的。
- 檢測:對照片終的人/物做檢測。比較困難,比如計算機很難分出被大幅度遮擋的人/物。
- 分割:對像素級別的分類,這個像素是屬於哪個物體的。
- 序列:把圖片應用到視頻上等等。
計算機視覺的歷史:
- 1966年Marvin Minsky嘗試用相機連在計算機上,然後讓機器區描述它所看到的東西。但是這個難題至今也沒有很好地被人解出來。
- 1982年David Marr提出計算機視覺研究框架, 認爲計算機視覺需要將照片描述分成三層:計算層描述、 算法層描述、 實現層描述。
- Marvin Minsky認爲David 的想法很好但是,如果解決不了核心的知識表示問題,那麼即使去做邊緣檢測之類的也無法解決好計算機視覺的問題。
- 所以關於知識表示問題,最直接的就是吧物體分割成塊,然後分別識別。
- 1989 卷積神經網絡的應用,輸入一張小的照片通過各種計算,最後輸出圖片文字等信息
- 1998 人臉識別的應用
- 90年代中期,神經網絡因爲沒有更新的理論支持、沒有訓練數據、很難復現結果等一系列的原因,潮流褪去。
- 2006年開始,深度學習開始復興,因爲又更快的學習算法的支持,比如分層計算、無監督的預訓練、發現可以用GPU訓練,以及語音和圖像的一些突破性研究。
- 關於圖像深度的一些研究革命,最開始是AlexNet的8層(2010),到VGG的19層(2014),到GoogleNet的22層(2014),以及ResNet的152層。
- 之前一般到20多層就下不去了,因爲圖片會有梯度消失的問題,硬要往下可能因爲信號的衰減,就訓練不起來了,而ResNet在幾個連續層上加上了一條路徑,殘差學習有效地解決了這個問題,讓沒處的梯度足夠大。
- 2001年 Learning-based Representation
- 2000-2011年左右 Feature-based Reprecentation 成爲主流
- 2010年 Deep Convolutional Neural Networks,一個比較大的突破。
- …
深度神經網絡的發展歷史:
- ImageNet 計算機視覺領域最大的數據集。
- 。。。。。。
課程推薦的閱讀書籍:
- Computer Vision:Algorithms and Applications
- CS231n的斯坦福課程
- 張志華翻譯的《深度學習》花書:介紹深度學習的基礎