卷積網(wǎng)絡(luò)主要應(yīng)用在計算機視覺凭需,具體的常規(guī)網(wǎng)絡(luò)有LeNet, AlexNet, InceptionNet, ResNet畏浆。 每個網(wǎng)絡(luò)的設(shè)計相對于上一個網(wǎng)絡(luò)均有新的創(chuàng)新和設(shè)計。下邊依次總結(jié)這些網(wǎng)絡(luò)結(jié)構(gòu)赞枕。
LeNet-5是1998年提出的一個卷積神經(jīng)網(wǎng)絡(luò),假設(shè)輸入一張32x32x1的灰度圖幔妨,LeNet-5可以識別圖片中的手寫數(shù)字鹦赎。LeNet 的網(wǎng)絡(luò)結(jié)構(gòu)很淺,通過卷積與池化得到一維向量误堡,對這個向量做兩層全連接進行預(yù)測古话。用的激活函數(shù)是sigmod.
AlexNet 相對于LeNet 做了相應(yīng)的改進。主要是改進點是添加了多層的隱藏層和使用Relu 作為激活函數(shù)锁施。AlexNet 使用訓(xùn)練的圖片2242243陪踩,采用了復(fù)雜雙GPU進行訓(xùn)練杖们。AlexNet 最突出的創(chuàng)新點在于采用了Relu 激活函數(shù),成功解決了Sigmoid在網(wǎng)絡(luò)較深時的梯度彌散問題肩狂。同時也采用了DropOut, 隨機忽略一部分神經(jīng)元摘完,以避免模型過擬合。
image.png
VGG的網(wǎng)絡(luò)相對規(guī)整傻谁,增加了網(wǎng)絡(luò)的深度孝治。發(fā)現(xiàn)深度越深,學(xué)習(xí)的效果越好审磁。相對應(yīng)的訓(xùn)練參數(shù)增多谈飒,難度加大。
ResNet 網(wǎng)絡(luò)是有何凱明提出的态蒂,常深的網(wǎng)絡(luò)很難訓(xùn)練杭措,因為存在梯度消失和梯度爆炸問題。跳躍連接(skip connection)可以從一個網(wǎng)絡(luò)層獲得激活钾恢,然后迅速反饋給另外一層手素,甚至是更深的層,利用跳躍連接構(gòu)建能夠訓(xùn)練非常深網(wǎng)絡(luò)的ResNet瘩蚪,有時深度能超過100層泉懦。
InceptionNet 是由谷歌提出的,采用的結(jié)構(gòu)也很規(guī)整疹瘦。網(wǎng)絡(luò)采用了11祠斧,33, 5*5 的卷積核拱礁。InceptionNet 創(chuàng)新點事對于一個Inception模塊通過使用1x1卷積來減少計算成本,并行構(gòu)建多種卷積操作但保持特征圖大小不變辕漂,通道數(shù)可以任意變換呢灶,最后將所有的特征圖的通道拼接起來。如此钉嘹,又可以通過數(shù)據(jù)訓(xùn)練自動選擇需要的卷積操作鸯乃,又減少了計算成本。
介紹了基礎(chǔ)網(wǎng)絡(luò)跋涣,常用的還有遷移學(xué)習(xí)缨睡。遷移學(xué)習(xí)是指在其他數(shù)據(jù)集pretrained的網(wǎng)絡(luò)遷移到其他的應(yīng)用上。例如陈辱,我們經(jīng)常用ImageNet 上訓(xùn)練好的網(wǎng)絡(luò)(一般只修改后兩層網(wǎng)絡(luò)結(jié)果)放在其他的數(shù)據(jù)集上進行fine tunning 操作奖年。其結(jié)果相對較好,是因為低層次的網(wǎng)絡(luò)學(xué)習(xí)到了較低層次的信息沛贪,該信息可在其他的任務(wù)上進行復(fù)用陋守。
數(shù)據(jù)擴充也是在計算機視覺中常用的技巧(畢竟可以低成本線性擴充數(shù)據(jù))常用的技巧:翻轉(zhuǎn)變換(flip)震贵,縮放變換(zoom),
平移變換(shift)水评,對比度變換(contrast)猩系,噪聲擾動(noise),顏色變換(color)中燥。這些操作在openCV 都有相應(yīng)的操作寇甸,我們只需修改部分參數(shù)即可獲獲得數(shù)據(jù)擴充。這些操作在github中也可以找到~疗涉。