為什么是卷積、池化的交替進行?
卷積做的是特征提取,池化做的是一種降采樣。
早期學習的主要是:低級特征(邊緣、角點、紋理、顏色)。這些特征分布相對局部且空間位置信息很重要。
卷積將這些特征學習出來,然后通過池化降采樣,突出其位置信息。然后再卷積進行學習池化后的特征。
如果連續卷積不池化會怎樣?
第一、不斷地學習局部特征,不池化就無法學習到全局的信息。
第二、不斷卷積,計算量會很大,時間和內存消耗會很高
以卷積替代池化效果如何?
可行,且比較常見,在深層網絡運用較多
具體操作:nn.Conv2d(in_channels, out_channels, kernel_size=3, stride=2, padding=1) 替代一個2x2 MaxPooling。
- 優點:
卷積核有參數可學習
卷積可以保持特征維度(增加通道數),而池化不改變通道數 - 缺點:
最大池化具有一定的“平移不變性”,而卷積比較敏感,卷積對于定位是優勢,對泛化是劣勢
卷積增加了參數和計算量
最大池化會強化邊緣特征,卷積比較弱
綜合,總體來說效果持平或更優,建議早期層保留最大池化
為什么不分別做卷積池化,和池化卷積,通過結合做相互補充?
可行,后續一些網絡有這種思想的體現。
池化和縮放的底層邏輯有何不同,能否替代池化?
縮放,不具備特征提取的能力,他平等的對待所有信息包括噪音。縮放后的特征圖在空間上更敏感。
CNN的卷積層學習依賴于特征圖的空間結構和局部相關性。粗暴縮放會扭曲這種結構,會導致信息模糊和細節丟失,影響后續層的學習。
在卷積池化中插入全連接層,會不會效果更好?
錯誤,效果會非常差。
第一,卷積層輸出的特征圖是具有明確空間維度,全連接層的操作完全