一個還不錯的入門教程:https://www.cnblogs.com/skyfsm/p/6790245.html
計算機視覺上應(yīng)用的多點宪巨,但這種思想絕不僅僅在圖像上起作用硬霍。為什么不能使用全連接網(wǎng)絡(luò)來做呢?因為混滔。业汰。龐大的參數(shù)吶,所以必須采用一種別的方法:卷積~
一個簡單的垂直邊緣檢測器澄耍,以及為什么能夠?qū)崿F(xiàn)垂直邊緣檢測。白色代表亮的像素點晌缘,至于為何邊緣那么寬齐莲,是因為圖片太小磷箕?
實際上filter上的九個數(shù)字也可以通過反向傳播來求
padding:以上的卷積操作有以下的弊端:1选酗。每次卷積后圖片尺寸都會shrink,可能經(jīng)過幾輪卷積后就會變成1X1搀捷,這是我們不想看到的星掰;2.很多邊緣信息都被省略了,而中間的像素點則被很多次掃描嫩舟。
那么如何選擇padding的層數(shù)呢氢烘?公式如下,并且一般使用奇數(shù)的呢
步長也是一個很重要的點家厌,這樣輸出的矩陣的公式變成如下了:but 使用取下整數(shù)那個符號意味著只能夠選擇filter里面全是數(shù)字的 也就是說當filter溢出了就不行了的哦
立體怎么卷積 如下圖·
多個filter時 如何做呢播玖?filter的層數(shù)要和輸入矩陣一樣,然后依次做卷積就可以了惹
將卷積神經(jīng)網(wǎng)絡(luò)類比于普通的神經(jīng)網(wǎng)絡(luò)時饭于,filter就像是特征一樣蜀踏。計算有十個filter的卷積神經(jīng)網(wǎng)絡(luò)時,無論輸入的圖片有多大掰吕,他的參數(shù)始終是(3*3*3+1 bias)*10=280.這也是CNN能夠“避免過擬合的原因”
CNN一層的工作原理以及一些notation
一個簡單卷積神經(jīng)網(wǎng)絡(luò)(conv),為了更好的效果果覆,后面還會添加池化層和全連接層
Max pooling:underlying reason 未知但它的確效果很好。當是個立體的輸入時殖熟,也用立體的filter在每個通道作pooling即可局待。
Average pooling:顧名思義,用每一區(qū)域的平均值做計算菱属。
Attention :Pooling層沒有需要學(xué)習(xí)的參數(shù)钳榨,一旦f和s超參定下來了,結(jié)果也就定下來了纽门,只不過是計算一下就可以了薛耻。
一個完整的卷積神經(jīng)網(wǎng)絡(luò)。對于某些超參數(shù)的選擇赏陵,Andrew 建議最好是看別人的選擇選最佳的饼齿,而不是自己嘗試
那么,為什么要使用卷積呢蝙搔,如下圖候醒,當使用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)時,光兩層之間就存在14M 的參數(shù)杂瘸,而用卷積可以大大減小參數(shù)數(shù)目
卷積優(yōu)點:參數(shù)共享(比如碩一個垂直filter能夠檢測圖片中所有的垂直線條倒淫,)2.稀疏連接,紅色的塊僅由紅色區(qū)域連接败玉。3.可以解決translation invariance 敌土,這是因為即使圖片中像素全部平移一兩個像素,圖片大致看起來還是沒變的运翼。
這是卷積神經(jīng)網(wǎng)絡(luò)歷史上的幾種經(jīng)典模型
通過殘差塊可以訓(xùn)練更深層的網(wǎng)絡(luò)返干,也叫跳遠連接,注意跳過去的那部分沒有經(jīng)過激活函數(shù)計算哦血淌!
他可以使效果更好 現(xiàn)實中當層數(shù)越多時矩欠,效果會像那個曲線一樣
為什么殘差網(wǎng)絡(luò)有效
ResNet
1*1 卷積财剖,也叫做Network in Network
通過pooling層可以shrink 長與寬,通過這個可以shrinkNc層癌淮,也就是channel層躺坟。
Google提出的一種不需要人為設(shè)計filter的東西,
使用了inception 參數(shù)從1.2億減少了2400w
這就是inception模型圖乳蓄,并且他的名字取自《盜夢空間》的原名《Inception》哈哈小李子
Transfer Learning:遷移學(xué)習(xí)咪橙。可以先將別人再很大數(shù)據(jù)集上學(xué)到的參數(shù)和權(quán)重虚倒。前提是當你帶標簽的數(shù)據(jù)集越多時美侦,你在前面凍結(jié)的層就會越少。而且可以將之前訓(xùn)練好的部分存在硬盤上魂奥,就不用每次都重新學(xué)習(xí)菠剩,
數(shù)據(jù)擴增的方法(我記得之前有一節(jié)已經(jīng)講過,當時也是拿圖像舉的例子耻煤。)可以將圖片進行旋轉(zhuǎn)赠叼,對稱,局部剪切
顏色改變的方法:也可以用PCA(主成分分析)顏色增強等方法违霞。
第三周:目標檢測
localization:不僅分類嘴办,還要定位目標
通過輸出是否有對象,然后輸出那些邊框
特征點檢測:landmark detection买鸽。就是輸出眼角等坐標點
開始用卷積來做目標檢測啦涧郊。1.首先切割照片,來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)眼五,2.滑動窗口檢測目標(計算成本高)
怎么用卷積來代替全連接層呢妆艘?
使用卷積來處理,在最后的小格子里某一個格子是汽車所在的格子了看幼,就不需要滑動窗口了批旺,因為這樣有很多重復(fù)計算
YOLO algorithm:有點像之前的卷積
衡量指標:IOU 交并比
非極大值抑制:1.找出所有框中pc最大的高亮 ,將其他的框變暗或者直接舍棄诵姜。如果有多個對象汽煮,最好是獨立進行三次非極大值抑制
anchor boxes:(用一個格子檢測多個對象):用多個anchor來定義多個對象。這里有兩種情況不好處理:(1)兩個anchor但是有三個對象棚唆,無法檢測暇赤。(2)一個anchor里面有兩個對象∠瑁——不好處理鞋囊。人工選擇anchor的長寬,或者使用k-means方法聚類選擇均值
YOLO:
先用圖像分割算法:Region-CNN
首先得到候選區(qū)域瞎惫,然后在進行分類檢測溜腐。
第四周:人臉識別
one-shot:只通過一張照片時译株,就識別出一個人。計算相似度函數(shù)挺益。越小越相似~
Siamese network歉糜。上下兩個網(wǎng)絡(luò)的參數(shù)是一樣的,我們要訓(xùn)練這樣的一種網(wǎng)絡(luò)矩肩,
Triplet損失:就是anchor和正例圖片很近现恼,和負例圖片很遠肃续,which means you need to? watch three pictures at once ,so it is called triplet loss.
面部驗證與二分類:將之前的三個照片一組轉(zhuǎn)化成 一對一對的黍檩,然后用來二分類問題
神經(jīng)風(fēng)格遷移:
深度卷積網(wǎng)絡(luò)在學(xué)什么
風(fēng)格遷移的cost function:
content cost function
style cost function:在不同通道的相同位置數(shù)對,數(shù)值間有很高相關(guān)性始锚,也就意味著在有線條的地方刽酱,很大概率這塊是橙色的,
1D和3D瞧捌。3D的可以看做電影~