李宏毅機器學習2016 第九講 卷積神經網路
視頻鏈接:李宏毅機器學習(2016)_演講?公開課_科技_bilibili_嗶哩嗶哩
課程資源:Hung-yi Lee
課程相關PPT已經打包命名好了:鏈接:https://pan.baidu.com/s/1c3Jyh6S 密碼:77u5
我的第八講筆記:李宏毅機器學習2016 第八講 深度學習網路優化小訣竅
Convolutional Neural Network
本章節主要講解了CNN的原理、實現以及應用。
1.為什麼用CNN處理圖片?
這是基於圖片的三大特性:
① 一些模式比起整張圖片來說更小,即尋找模式不用看完整的圖像。
例如上圖鴨嘴這個模式就僅僅存在於特定的區域,因此我們可以不用全部連接,而可以使用較少的參數檢測小區域。
②同一個模式可能會出現在不同的區域。
檢測鴨嘴這個模式,不同圖片可能會出現在上面或者是中間,因此可以使用參數共享。
③子採樣不會改變物體。
子採樣使得圖片變小了,但不會影響圖片原本的特徵。因此可以使用更少的參數。
2. CNN
基於上述的三個特性,我們就可以了解CNN。CNN主要是有卷積操作和池化操作(可重複多次)。
卷積操作對應於特性1和2,池化操作對應特性3.
3. 卷積
卷積操作主要是學習過濾器的值。讓過濾器和圖像做卷積運算,得到新的特徵圖譜。
這裡涉及過濾器的大小,數量以及步長和是否填充。
這裡就不詳細介紹相關知識了,有興趣的可以觀看CS231n課程,裡面有很詳細的關於這方面的知識。
對比卷積和全連接,其實全連接拿掉一些weight就是卷積操作。
這裡只連接9個輸入,更少的參數,並且權值共享,參數又進一步減少了。
4.池化
池化操作是比較好理解的,主要作用是降維,由特性3可知可知子採樣不會影響圖片原有特性。舉例Maxpooling。
5. 用keras實現CNN
這裡值得注意的是每一層參數的數量。
6.CNN應用
①Deep Dream
給機器一張圖,然後對權重進行修改,可以得到不同的結果。
這裡是使正的權值更正,值更大,負的權值更負,值更小。
結果得到的圖片出現了一些奇異的動物,可以看出很多原來是石頭的現在變成了動物。
②Deep Style
一張原圖的內容(Content)加上一張名畫的風格(Style)就可以生成一張別有趣味的圖。
③下圍棋(Alpha Go就使用了CNN,但是沒有使用池化操作)
為什麼CNN能用於下圍棋呢?對於下圍棋而言,第一部分所講的特性1,2同樣具有。
特性3如果進行了池化會縮小圖片尺寸(減少某些行和列),顯然對下圍棋來說是不可接受的。
④Speech
⑤text
⑥Machine Draw an image
⑦more
7.總結
本章較為粗略的講解了CNN卷積神經網路的原理以及實現方法,最後講述了其廣泛的應用。
推薦閱讀:
※直播預告 · Machine Learning Security & Taint Style Vulnerability Research - Week 17
※Probably Approximately Correct
※我的Kaggle初體驗 -- Grupo Bimbo Inventory Demand
※「深度學習入行門檻太低了,不開心!」
※parameter server的代碼要怎麼讀?
TAG:机器学习 |