Lecture 1 課程介紹&資源整合

一、課程介紹

官網(wǎng)介紹:計算機視覺已經(jīng)在我們的社會中無處不在,應(yīng)用于搜索、圖像理解、應(yīng)用程序、繪圖、醫(yī)學、無人駕駛飛機和自動駕駛汽車。這些應(yīng)用程序的核心許多都是視覺識別任務(wù),例如圖像分類、定位和檢測。神經(jīng)網(wǎng)絡(luò)(又名“深度學習”)方法的最新發(fā)展極大地提高了這些最先進的視覺識別系統(tǒng)的性能。本課程深入探討深度學習架構(gòu)的細節(jié),重點是學習這些任務(wù)的端到端模型,尤其是圖像分類。在為期10周的課程中,學生將學習如何實施,訓練和調(diào)試他們自己的神經(jīng)網(wǎng)絡(luò),并詳細了解計算機視覺的前沿研究。最終任務(wù)將涉及訓練數(shù)百萬參數(shù)的卷積神經(jīng)網(wǎng)絡(luò)并將其應(yīng)用于最大圖像分類數(shù)據(jù)集(ImageNet)。我們將專注于教授如何設(shè)置圖像識別問題、學習算法(例如反向傳播)、培訓和微調(diào)網(wǎng)絡(luò)的實用工程技巧,并指導學生完成動手作業(yè)和最終課程項目。本課程的大部分背景和材料將來自ImageNet挑戰(zhàn)賽。

CS231n的全稱是CS231n: Convolutional Neural Networks for Visual Recognition,即面向視覺識別的卷積神經(jīng)網(wǎng)絡(luò)。該課程是斯坦福大學計算機視覺實驗室推出的課程。本系列筆記針對的是2017年春版本(4-6月),由斯坦福大學人工智能實驗室主任李飛飛及其兩位博士生Justin Johnson和Serena Yeung主講。

官方資源:點擊這里 ?? 講義漢化(2016冬季版):點擊這里 ?? 官方GitHub:點擊這里 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 進入官方資源頁面后,按下圖所示操作即可:

圖1 官方資源使用說明

視頻地址:官方Y(jié)ouTube(無字幕)網(wǎng)易云課堂(中英字幕)、B站(中英字幕)、慕課(中英字幕)

選讀教材: 《Deep Learning》by Goodfellow, Bengio, and Courville

- 授課視頻14課。每節(jié)課時約1小時左右,每節(jié)課一份PPT。

- 客座講座2課。每節(jié)講座約1小時30分左右。

- 授課知識詳解筆記共16份。光看課程視頻是不夠的,深入理解課程筆記才能比較扎實地學習到知識。

- 課程作業(yè)3次。其中每次作業(yè)中又包含多個小作業(yè),完成作業(yè)能確保對于課程關(guān)鍵知識的深入理解和實現(xiàn)。

- 課程項目1個。這個更多是面向斯坦福的學生,組隊實現(xiàn)課程項目。

- 拓展閱讀若干。課程推薦的拓展閱讀大多是領(lǐng)域內(nèi)的經(jīng)典著作節(jié)選或論文,推薦想要深入學習的同學閱讀。

-?相關(guān)課程:CS131、CS224n(深度學習與自然語言處理NLP相關(guān))、CS231a(全面的計算機視覺課程,包括圖像處理、相機原理、3D重建、目標識別、場景理解、機器人視覺等。)、CS231n(主要圍繞計算機視覺的算法比如CNN)以及CS331、CS431等前沿CV課程。

課程大綱

第一講:課程簡介。計算機視覺概述、歷史回顧、課程邏輯順序

第二講:圖像分類。數(shù)據(jù)驅(qū)動方法、K-最近鄰算法、線性分類I

第三講:損失函數(shù)和優(yōu)化。線性分類II、損失函數(shù)、優(yōu)化

第四講:介紹神經(jīng)網(wǎng)絡(luò)。反向傳播算法、神經(jīng)網(wǎng)絡(luò)

第五講:卷積神經(jīng)網(wǎng)絡(luò)。卷積神經(jīng)網(wǎng)絡(luò)的歷史、卷積神經(jīng)網(wǎng)絡(luò)詳述、層的排列與尺寸設(shè)置、經(jīng)典案例

第六講:訓練神經(jīng)網(wǎng)絡(luò)(Part1)。激活函數(shù)、數(shù)據(jù)預處理、批量歸一化、權(quán)重初始化、監(jiān)控學習過程、超參數(shù)調(diào)優(yōu)

第七講:訓練神經(jīng)網(wǎng)絡(luò)(Part2)。更新原則、正則化、遷移學習、模型集成

第八講:深度學習軟件。深度學習硬件、深度學習框架

第九講:卷積神經(jīng)網(wǎng)絡(luò)架構(gòu)。AlexNet、VGG、GoogLeNet、ResNet 等

第十講:循環(huán)神經(jīng)網(wǎng)絡(luò)。RNN、語言模型、圖像標注、視覺問答、注意力模型、LSTM、GRU

第十一講:檢測與分割。分割、定位、檢測

第十二講:可視化和理解CNN。特征可視化、DeepDream和風格遷移

第十三講:生成模型。Pixel RNN/CNN、變分自編碼器、生成對抗網(wǎng)絡(luò)

第十四講:深度增強學習。方法梯度、硬性關(guān)注、Q-學習、評價器

第十五講:Song Han、Ian Goodfellow 教授客座講授。深度學習的方法和硬件、對抗樣本和對抗訓練

(此外還有第16講,主要是學生推導和討論)

二、計算機視覺概述與歷史回顧


圖2 計算機視覺與其他學科的關(guān)系

? ? ?? 計算機視覺( CV, Computer Vision)和很多學科都有關(guān)聯(lián)。既然是計算機視覺首先就需要物理學上的光學成像、圖像處理、圖像構(gòu)成原理等;然后需要生物學、心理學,了解動物的大腦視覺處理過程;然后需要計算機科學,了解圖像、算法、系統(tǒng)架構(gòu)等;還需要數(shù)學,了解信息檢索、機器學習;最后還會用到的工程學上的機器人科學。

視覺的歷史

? ? ? ? 視覺的歷史可追溯到5億4千3百萬年以前,那時生物都在海洋中游蕩甚至沒有眼睛。大約在5億4千萬年前,出現(xiàn)物種大爆炸,一千萬年間物種從幾種爆發(fā)到上千種,研究發(fā)現(xiàn)是因為生物出現(xiàn)了眼睛可以促進生物的進化。如今的智慧生物大腦中約有一半的神經(jīng)元是和視覺有關(guān)的。

計算機視覺的歷史

? ? ? ? 最早的相機是18世紀文藝復興的暗箱,利用小孔成像(1545年就有記載)的原理。

????????1959年,Hubel & Wiesel 通過觀察貓大腦的電流信號發(fā)現(xiàn)視覺處理始于視覺世界的簡單結(jié)構(gòu),面向邊緣,沿著視覺處理途徑移動,信息在變化,大腦也建立了復雜的視覺信息,直到可以識別更復雜的視覺世界。

????????計算機視覺從1963年開始,源自計算機視覺領(lǐng)域的第一篇論文,Block world by?Larry Roberts,視覺世界被簡化為簡單的幾何形狀,目的是識別它,重建幾何形狀。

????????1966年,有一個著名的MIT暑期項目,目的是解決視覺識別系統(tǒng)中的大部分問題。50年后,已成為全世界數(shù)千人研究的領(lǐng)域,并仍然處理一些根本的問題,雖然至今無法真正理解視覺的原理,但已經(jīng)是AI中發(fā)展迅速的領(lǐng)域之一。

????????1970年,David Marr在《Vision》一書中,闡明為了拍攝一副圖像,并獲得視覺世界的最終全面的3D表現(xiàn),我們必須經(jīng)歷幾個過程,第一部分是原始草圖,大部分邊緣,斷點和虛擬線條,曲線,邊界等都被用其他元素來表示,視覺處理的早期階段有很多關(guān)于像邊緣的簡單結(jié)構(gòu),之后下一步是“2.5維草圖”,我們開始將表面,深度信息,層或視覺場景的不連續(xù)性拼湊在一起,最終將所有內(nèi)容放在一起,并在表面和體積圖等分層組織了一個3D模型。這種理想化的思維影響了計算機視覺領(lǐng)域幾十年。

? ? ? ? 1979年的“廣義圓柱體”和1973年的“圖形結(jié)構(gòu)”都是識別和表示圖形的方法,基本思想都是每個對象都由簡單幾何圖單位構(gòu)成,將復雜結(jié)構(gòu)轉(zhuǎn)換為簡單結(jié)構(gòu)。

? ? ? ? 1987年,David Lowe 嘗試用線條和邊緣重建圖形,大多都是線條構(gòu)成的。

? ? ? ? 然而上面的這些嘗試都沒有促進計算機視覺的大幅度發(fā)展,沒有應(yīng)用價值,直到人們意識到既然目標識別很難,可以先將圖片分割,即把一張圖片的像素點歸類到有意義的區(qū)域。可能事先不知道是什么圖案,但是把像素點提取出來后,會發(fā)現(xiàn)原來是某個形狀,這個過程就是圖像分割。2000年左右,由于機器學習的快速發(fā)展,面部識別優(yōu)先發(fā)展,并且效果顯著。比如2001年Viola & Jones 的 Face Detection, 能夠?qū)崿F(xiàn)準實時面部檢測。之后2006年就出現(xiàn)了帶有面部檢測功能的相機。

? ? ? ? 關(guān)于如何更好地目標識別,一個非常有影響的方法是基于特征匹配的目標識別。1999年,David Lowe 的“SIFT” & Object Recognition 通過觀察目標的某些特征可以在環(huán)境改變時幾乎保持不變的特性,所有首要任務(wù)是獲取目標的特征,然后去匹配與目標相近的圖片,比用圖片本身直接匹配效果要好得多。還有2006年Lazebnik,Schmid & Ponce空間金字塔匹配,可以從圖片中獲取各種背景信息;2005年Dalal & Triggs的梯度直方圖方法和2009年Felzenswalb,McAllester,Ramanan的可變形部件模型,都是把特征放到一起研究在圖片中合理的設(shè)計和辨別人體姿勢。

圖3 "SIFT"特征匹配

? ? ?? 然而直到2006年才出現(xiàn)用于衡量目標識別成果的有標注的圖片數(shù)據(jù)集,一個是PASCAL Visual Object Challenge,有20個圖像類別,每個類別都有大量圖片,很多團隊開發(fā)算法和測試數(shù)據(jù)集做對抗訓練,準確率逐年上升;另外一個是 ImageNet,促使這個項目產(chǎn)生的原因有兩個,一是單純想知道算法能不能實現(xiàn)檢測世界上的大部分物體;另一個是機器學習中的現(xiàn)象,很多機器學習算法比如SVM、圖模型、AdaBoost都會在訓練過程出現(xiàn)過擬合,原因是可視圖像數(shù)據(jù)復雜維度過高,又有大量參數(shù)需要調(diào)優(yōu),當訓練數(shù)據(jù)不夠時就會出現(xiàn)過擬合,所以需要大量數(shù)據(jù)。這個項目有世界上幾乎所有物體,22000個類別,1.4億張圖片。是一個龐大的目標檢測數(shù)據(jù)集。

? ? ? ? 2009年開始,ImageNet 團隊開始組織比賽來檢驗計算機識別算法,使用嚴格篩選的1000個類別14萬張圖片來作為測試數(shù)據(jù)集,只要算法識識別目標輸出5個概率最高的物體其中有正確的目標即認為挑戰(zhàn)成功。2010年到2015年識別錯誤率逐年降低,2015年識別準確率已經(jīng)超過人類。其中2012年,識別錯誤率降低接近10%,這是因為卷積神經(jīng)網(wǎng)絡(luò)(CNN)的出現(xiàn)。CNN也是本系列課程要研究的內(nèi)容。

三、課程內(nèi)容介紹

? ? ? ? 第一個重點問題是圖像分類。生活中存在許多與圖像分類有關(guān)的視覺識別問題,例如目標檢測(object detection) 、圖像摘要生成(Image captioning)等。目標檢測要在圖片中用方框標識出各類物體所在的位置,圖像摘要生成要理解圖片生成一些句子。

? ? ? ? 第二個重點是卷積神經(jīng)網(wǎng)絡(luò)是目標識別(object recognition)中最重要的工具。過去幾年獲獎的方法,基本都包含了很多分層,首先計算一些特征,然后計算局部特征、一些池化操作,再經(jīng)過多層處理,然后將結(jié)果描述符傳遞給線性SVM。2012年的CNN使用了7層卷積神經(jīng)網(wǎng)絡(luò),2014年的VGG有19層網(wǎng)絡(luò),2015年微軟研究院提出的殘差網(wǎng)絡(luò)有152層。所以現(xiàn)在的工作基本都是微調(diào)CNN使其性能更優(yōu)異。

? ? ? ? 然而CNN是在1998年,貝爾實驗室的 LeCun 首次使用,用于自動識別手寫支票以及郵局識別地址。和2012年Krizhevsky 獲獎的結(jié)構(gòu)非常類似,都輸入原始像素,然后有很多卷積層和子采樣以及全連接層。之所以2012年以后才會極大應(yīng)用,原因一是硬件的進步,計算能力大大提高,尤其是GPU的使用;原因二是數(shù)據(jù)集越來越龐大。

? ? ? ? 第三個重點是對視覺智能(visual intelligence )的追求遠超過目標識別。人類可以在很短的時間理解一幅圖片的內(nèi)容,但是計算機視覺還遠不能實現(xiàn)。比如去識別動作、識別3D物體、目標識別的同時獲取各個目標間的關(guān)系、以及圖片上的故事等。

課程理念:

- 徹底而詳細 ? 了解如何從頭開始編寫,調(diào)試和訓練卷積神經(jīng)網(wǎng)絡(luò),完整實現(xiàn)正向傳播和反向傳播步驟。要對算法的深層機理有深刻的了解,明白神經(jīng)網(wǎng)絡(luò)內(nèi)部如何工作、架構(gòu)的設(shè)置會有什么影響、網(wǎng)絡(luò)如何訓練和測試以及結(jié)果的好壞。

- 務(wù)實 ?? 專注于訓練這些大規(guī)模網(wǎng)絡(luò)的實用技術(shù),以及GPU(例如分布式優(yōu)化、CPU與GPU之間的差異等)。會使用一些先進的軟件工具,如Caffe,TensorFlow和(PY)Torch。

- 最先進 ? 大多數(shù)材料都來自研究界過去1 - 3年的成果。

- 有趣 ?? 一些有趣的主題,如圖像摘要(使用RNN)還有DeepDream,NeuralStyle等使用神經(jīng)網(wǎng)絡(luò)生成著名畫家的繪畫風格。

先修條件

精通Python,熟悉C / C ++:所有課程作業(yè)都用Python完成并使用numpy;一些深度學習庫是用C ++編寫的,要能看懂。?

微積分,線性代數(shù)基礎(chǔ): 明白求導、矩陣運算等。

計算機圖像基礎(chǔ):CS131、CS231a等,沒學過也沒關(guān)系。

機器學習基礎(chǔ):CS229,一些重點課上會再講。

總結(jié)

1、課程介紹、資源整合、課程先修條件等;

2、計算機視覺歷史回顧

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 文章主要分為:一、深度學習概念;二、國內(nèi)外研究現(xiàn)狀;三、深度學習模型結(jié)構(gòu);四、深度學習訓練算法;五、深度學習的優(yōu)點...
    艾剪疏閱讀 22,185評論 0 58
  • 天氣:大風轉(zhuǎn)晴 目的地:獨山子 新疆克拉瑪依市獨山子區(qū)地處天山北麓,準噶爾盆地西南邊緣,南屏天山,北隔312國道與...
    輟飧饔之饕餮閱讀 621評論 0 1
  • 小芙自從戀愛以后便常常瞞著家人逃課,她每次和老師請假的理由是——看病。大家知道她身體不好,同時因為她乖孩子的形象深...
    白鹿黃昏閱讀 368評論 2 7

友情鏈接更多精彩內(nèi)容