機(jī)器學(xué)習(xí)的課程已經(jīng)過半冒冬,中間凸優(yōu)化翘簇,對偶問題占了很大一部分蜀踏。由于數(shù)學(xué)公式的繁瑣和我掌握的不夠透徹维蒙,就不寫成blog了。這一篇寫一下CNN(卷積神經(jīng)網(wǎng)絡(luò))果覆,在CNN之前老師講了DNN颅痊,實際上和之前自己學(xué)習(xí)的BP神經(jīng)網(wǎng)絡(luò)大同小異,主要內(nèi)容都是反向傳播局待,權(quán)重網(wǎng)絡(luò)結(jié)構(gòu)等等斑响,就先不寫了!這篇是用來復(fù)習(xí)周一的小測钳榨,剛得知作業(yè)的DDL 并不是周一而是明天周六恋捆,感到悲傷。之后作業(yè)也寫在這篇里重绷。
CNN
CNN 為卷積神經(jīng)網(wǎng)絡(luò)沸停,CNN要做的事情舉例來講,給定一張圖片昭卓,如果是狗愤钾,那么要提取出狗的特征,為什么是狗候醒。我的理解就是人類看到狗的時候會看到狗有耳朵有鼻子有嘴有他們的位置等這些特征能颁,而卷積神經(jīng)網(wǎng)絡(luò)也是同樣提取出這些特征。
圖像處理的一些算子
卷積與信號
在圖像處理之前倒淫,首先回憶一下卷積處理是一個什么東西伙菊。(忘了)
不急,先回憶一下信號與系統(tǒng)。
用不同的函數(shù)的線性組合镜硕,表示原信號运翼。
傅里葉分析用的是不同的正弦函數(shù)的線性組合;
而卷積兴枯,用的是h[n]移位不同的k得到的一系列h[n-k]的線性組合血淌。
天哪,連信號也有點忘了财剖。想起來以前一個非常優(yōu)秀的解釋悠夯。
以下為轉(zhuǎn)載
作者:魚膩
鏈接:https://www.zhihu.com/question/22298352/answer/91131073
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)躺坟,非商業(yè)轉(zhuǎn)載請注明出處沦补。
關(guān)于卷積的一個血腥的講解比如說你的老板命令你干活,你卻到樓下打臺球去了咪橙,后來被老板發(fā)現(xiàn)夕膀,他非常氣憤,扇了你一巴掌(注意匣摘,這就是輸入信號店诗,脈沖)裹刮,于是你的臉上會漸漸地(賤賤地)鼓起來一個包音榜,你的臉就是一個系統(tǒng),而鼓起來的包就是你的臉對巴掌的響應(yīng)捧弃,好赠叼,這樣就和信號系統(tǒng)建立起來意義對應(yīng)的聯(lián)系。下面還需要一些假設(shè)來保證論證的嚴(yán)謹(jǐn):假定你的臉是線性時不變系統(tǒng)违霞,也就是說嘴办,無論什么時候老板打你一巴掌,打在你臉的同一位置(這似乎要求你的臉足夠光滑买鸽,如果你說你長了很多青春痘涧郊,甚至整個臉皮處處連續(xù)處處不可導(dǎo),那難度太大了眼五,我就無話可說了哈哈)批旺,你的臉上總是會在相同的時間間隔內(nèi)鼓起來一個相同高度的包來,并且假定以鼓起來的包的大小作為系統(tǒng)輸出诵姜。好了,那么心例,下面可以進(jìn)入核心內(nèi)容——卷積了!如果你每天都到地下去打臺球坯门,那么老板每天都要扇你一巴掌矩肩,不過當(dāng)老板打你一巴掌后叉袍,你5分鐘就消腫了,所以時間長了,你甚至就適應(yīng)這種生活了……如果有一天典蝌,老板忍無可忍柱告,以0.5秒的間隔開始不間斷的扇你的過程,這樣問題就來了眶熬,第一次扇你鼓起來的包還沒消腫,第二個巴掌就來了窟坐,你臉上的包就可能鼓起來兩倍高盔憨,老板不斷扇你,脈沖不斷作用在你臉上萍摊,效果不斷疊加了片酝,這樣這些效果就可以求和了猴仑,結(jié)果就是你臉上的包的高度隨時間變化的一個函數(shù)了(注意理解)篡诽;如果老板再狠一點吊圾,頻率越來越高项乒,以至于你都辨別不清時間間隔了,那么梁沧,求和就變成積分了廷支×蹬模可以這樣理解羡藐,在這個過程中的某一固定的時刻,你的臉上的包的鼓起程度和什么有關(guān)呢垃僚?和之前每次打你都有關(guān)集绰!但是各次的貢獻(xiàn)是不一樣的,越早打的巴掌改淑,貢獻(xiàn)越小碍岔,所以這就是說,某一時刻的輸出是之前很多次輸入乘以各自的衰減系數(shù)之后的疊加而形成某一點的輸出朵夏,然后再把不同時刻的輸出點放在一起蔼啦,形成一個函數(shù),這就是卷積仰猖,卷積之后的函數(shù)就是你臉上的包的大小隨時間變化的函數(shù)捏肢。本來你的包幾分鐘就可以消腫掠河,可是如果連續(xù)打,幾個小時也消不了腫了猛计,這難道不是一種平滑過程么唠摹?反映到劍橋大學(xué)的公式上,f(a)就是第a個巴掌奉瘤,g(x-a)就是第a個巴掌在x時刻的作用程度勾拉,乘起來再疊加就ok了,大家說是不是這個道理呢盗温?
ok看到這里大致回憶起來卷積的事情了藕赞。
Hand-crafted features
這是提取特征的第一種方式
Sobel Operator
Robinson Compass Mask
以上兩個是矩陣和圖像進(jìn)行卷積得到的結(jié)果。將原來的圖像轉(zhuǎn)化為二維像素矩陣卖局,再和算子進(jìn)行卷積操作斧蜕。
那么矩陣的卷積是怎么實現(xiàn)的呢镜豹?垛耳?
https://mlnotebook.github.io/post/CNN1/
人家的動圖畫的已經(jīng)非常好了
Histogram Of Gradient(HOG)梯度方向直方圖
https://www.learnopencv.com/histogram-of-oriented-gradients/
老師PPT原文鏈接在此
以下是一篇不錯的翻譯
講的超級清楚
https://www.leiphone.com/news/201708/ZKsGd2JRKr766wEd.html
SIFT
這一部分感覺不是這門課程的重點,先放wiki耳舅,和算法的主頁染坯,日后再詳細(xì)學(xué)習(xí)均芽。
https://en.wikipedia.org/wiki/Scale-invariant_feature_transform
http://weitz.de/sift/
Learned Feature
特征學(xué)習(xí)這種方法就是自動識別出來狗的耳朵,狗的鼻子单鹿,狗的眼睛這樣不同的特征掀宋。當(dāng)然可以是局部
逐層分析CNN
首先先上一張圖
從這張圖開始進(jìn)行逐層的分析,其實可以看出仲锄,無非就是卷積劲妙,取樣,卷積儒喊,取樣····最后得到這樣的神經(jīng)網(wǎng)絡(luò)镣奋。
分析第一步
重點是每一個filter代表一個特征。
當(dāng)我有好多個filter的時候我就可以得到很多的feature maps
Pooling Layer
研究第二個層澄惊,subsampling唆途。實際上叫池化層富雅。準(zhǔn)確的說就是縮小參數(shù)矩陣的大小掸驱。當(dāng)然有很多種不同的池化的方法。
沒有去上課的我對池化這個過程感到懷疑没佑,覺得實際應(yīng)用效果不一定好呀毕贼。
Fully Connected Layer
最后這一步就很好理解了。將反復(fù)卷積求得的特征矩陣扁平化蛤奢,然后就變成數(shù)了鬼癣,然后就和最簡單的神經(jīng)網(wǎng)絡(luò)是一樣的了陶贼。
未完待續(xù)。待秃。