#### 2.2.2走向ConvNet不變性
使用ConvNets的挑戰之一是需要非常大的數據集來學習所有基礎參數。即使像ImageNet [126]這樣擁有超過一百萬張圖像的大型數據集也被認為太小而無法訓練某些深層架構。處理大數據集要求的一種方法是通過例如隨機翻轉,旋轉和抖動來改變圖像來人為地增加數據集。這些增強的主要優點是所得到的網絡對各種變換變得更加不變。事實上,這項技術是AlexNet取得巨大成功背后的主要原因之一。因此,除了改變網絡架構以便于培訓的方法之外,如前一節所述,其他工作旨在引入能夠產生更好培訓的新型構建模塊。具體而言,本節討論的網絡引入了新的塊,這些塊直接包含來自原始數據的學習不變表示。
一個明確解決不變性最大化的著名ConvNet是空間變壓器網絡(STN)[76]。特別地,該網絡利用了一種新的學習模塊,該模塊增加了對不重要的空間變換的不變性,_,例如_。在物體識別過程中由不同視點產生的那些。該模塊由三個子模塊組成:定位網,網格生成器和采樣器,如圖2.12(a)所示。執行的操作可以分為三個步驟。首先,定位網絡(通常是一個小的2層神經網絡)將一個特征圖作為輸入,并從該輸入中學習變換參數。例如,轉換可以定義為一般的仿射變換,允許網絡學習翻譯,縮放,旋轉和剪切。其次,給定變換參數和預定義大小的輸出網格,網格生成器為每個輸出坐標計算應從輸入中采樣的相應坐標,,根據
(2.17)
最后,采樣器采用特征圖和采樣網格,并插入像素值,以填充位置的輸出特征圖,如圖2.12所示(b) )。在任何ConvNet架構的每一層添加此類模塊,使其能夠從輸入中自適應地學習各種變換,以增加其不變性,從而提高其準確性。
|  |  |
| (一個) | (b)中 |
圖2.12:空間變壓器網絡運營。 (a)空間變換器模塊的描述,典型的變換操作在(b)中示出。圖[?]復制。
為了增強ConvNets的幾何變換建模能力,兩種現代方法,即Deformable ConvNet [29]和Active ConvNet [78],引入了靈活的卷積塊。這些方法的基本思想是避免在卷積過程中使用剛性窗口,以有利于學習進行卷積的感興趣區域(RoI)。這個想法類似于空間變換器模塊的定位網絡和網格生成器所做的事情。為了確定每層的RoI,修改卷積塊以使其從初始剛性卷積窗口學習偏移。具體來說,從在給定的剛性窗口上的卷積運算的標準定義開始
(2.18)
其中是執行卷積的區域,是區域內的像素位置,是相應的濾波器權重,添加新術語以包括根據的偏移量
(2.19)
其中是偏移量,現在最終的卷積步驟將在變形窗口上執行,而不是傳統的剛性窗口。為了學習偏移量,可以修改可變形ConvNets的卷積塊,使其包含一個新的子模塊,其作用是學習偏移,如圖2.13所示。與可交替學習子模塊參數和網絡權重的空間變換器網絡不同,可變形控制器可同時學習權重和偏移,從而使其在各種體系結構中的部署速度更快,更容易。

圖2.13:可變形或主動卷積。從固定的窗口大小開始,網絡通過一個小的子網絡(在圖的頂部顯示為綠色)學習偏移,最后在變形的窗口上執行卷積。圖[29]再版。
#### 2.2.3走向ConvNet本地化
除了簡單的分類任務,例如對象識別,最近ConvNets在需要精確定位的任務中也表現出色,例如語義分割和對象檢測。用于語義分割的最成功的網絡是所謂的完全卷積網絡(FCN)[98]。顧名思義,FCN沒有明確地使用完全連接的層,而是將它們轉換為卷積層,其感知域覆蓋整個底層特征映射。重要的是,網絡學習上采樣或反卷積濾波器,恢復最后一層圖像的完整分辨率,如圖2.14所示。在FCN中,通過將問題轉換為密集像素分類來實現分割。換句話說,softmax層附加到每個像素,并且通過對屬于相同類的像素進行分組來實現分割。值得注意的是,在這項工作中報告說,在上采樣步驟中使用來自架構的較低層的特征起著重要作用。它允許更精確的分割,因為較低層特征傾向于捕獲更細粒度的細節,與分類相比,這對于分割任務而言更為重要。學習反卷積濾波器的替代方法依賴于使用atrou或擴張卷積[24],_,即_。上采樣稀疏濾波器,有助于恢復更高分辨率的特征映射,同時保持可學習的參數數量可管理。

圖2.14:完全卷積網絡。在上采樣以在最后一層恢復圖像全分辨率之后,使用softmax對每個像素進行分類以最終生成片段。圖[98]再版。
在對象本地化方面,ConvNet框架中最早的方法之一被稱為Region CNN或R-CNN。該網絡將區域提議方法與ConvNet架構相結合[53]。盡管R-CNN是圍繞簡單的想法而建立的,但它產生了最先進的物體檢測結果。特別地,R-CNN首先使用用于區域提議的現成算法(_,例如_。選擇性搜索[140])來檢測可能包含對象的潛在區域。然后將這些區域扭曲以匹配所使用的ConvNet的默認輸入大小,并將其饋送到ConvNet以進行特征提取。最后,每個區域的特征用SVM分類,并在后處理步驟中通過非最大抑制進行細化。
在其天真的版本中,R-CNN簡單地使用ConvNets作為特征提取器。然而,它的突破性結果帶來了改進,更多地利用了ConvNets的強大代表性。例如,快速R-CNN [52],更快的R-CNN [116]和掩模R-CNN [61]。快速R-CNN ,提出通過網絡傳播獨立計算區域提議,以提取最后一個特征映射層中的相應區域。這種技術避免了從圖像中提取的每個區域的昂貴的網絡傳輸。此外,快速R-CNN避免了重載 - 處理步驟通過改變網絡的最后一層,使其學習對象類和精煉的邊界框坐標。重要的是,在R-CNN和快速R-CNN中,檢測瓶頸在于區域提議步驟,該步驟是在ConvNet范例。
更快的R-CNN通過在ConvNet的最后一個卷積層之后添加稱為區域提議網絡(RPN)的子模塊(或子網絡)來進一步推動使用ConvNets。 RPN模塊使網絡能夠學習區域提議,作為網絡優化的一部分。具體來說,RPN被設計為一個小的ConvNet,由卷積層和一個小的完全連接層組成,兩個輸出返回潛在的物體位置和物體分數(_,即_。屬于一個物體類的概率)。按照迭代的兩步程序完成整個網絡的培訓。首先,使用RPN單元優化網絡以進行區域建議提取。其次,保持提取的區域提議固定,網絡被微調用于對象分類和最終對象邊界框位置。最近,引入掩模R-CNN以增強更快的R-CNN,其具有分割檢測區域的能力,從而在檢測到的物體周圍產生緊密掩模。為此,掩碼R-CNN將分段分支添加到更快的R-CNN的分類和邊界框回歸分支。特別是,新分支實現為一個小FCN,它被優化用于將任何邊界框中的像素分類為兩個類中的一個;前景或背景。圖2.15說明了從簡單的R-CNN到屏蔽R-CNN的差異和進展。
|  |  |
| (a) | (b) |
|  |  |
| (C) | (d) |
圖2.15:突出區域提案網絡的進展情況。 (a)原始R-CNN的結構。圖[...]轉載。 (b)快速R-CNN的結構。圖[...]轉載。 (c)更快的R-CNN的結構。從[116]再現的圖。(d)掩模R-CNN的結構。圖[?]復制。
- TensorFlow 1.x 深度學習秘籍
- 零、前言
- 一、TensorFlow 簡介
- 二、回歸
- 三、神經網絡:感知器
- 四、卷積神經網絡
- 五、高級卷積神經網絡
- 六、循環神經網絡
- 七、無監督學習
- 八、自編碼器
- 九、強化學習
- 十、移動計算
- 十一、生成模型和 CapsNet
- 十二、分布式 TensorFlow 和云深度學習
- 十三、AutoML 和學習如何學習(元學習)
- 十四、TensorFlow 處理單元
- 使用 TensorFlow 構建機器學習項目中文版
- 一、探索和轉換數據
- 二、聚類
- 三、線性回歸
- 四、邏輯回歸
- 五、簡單的前饋神經網絡
- 六、卷積神經網絡
- 七、循環神經網絡和 LSTM
- 八、深度神經網絡
- 九、大規模運行模型 -- GPU 和服務
- 十、庫安裝和其他提示
- TensorFlow 深度學習中文第二版
- 一、人工神經網絡
- 二、TensorFlow v1.6 的新功能是什么?
- 三、實現前饋神經網絡
- 四、CNN 實戰
- 五、使用 TensorFlow 實現自編碼器
- 六、RNN 和梯度消失或爆炸問題
- 七、TensorFlow GPU 配置
- 八、TFLearn
- 九、使用協同過濾的電影推薦
- 十、OpenAI Gym
- TensorFlow 深度學習實戰指南中文版
- 一、入門
- 二、深度神經網絡
- 三、卷積神經網絡
- 四、循環神經網絡介紹
- 五、總結
- 精通 TensorFlow 1.x
- 一、TensorFlow 101
- 二、TensorFlow 的高級庫
- 三、Keras 101
- 四、TensorFlow 中的經典機器學習
- 五、TensorFlow 和 Keras 中的神經網絡和 MLP
- 六、TensorFlow 和 Keras 中的 RNN
- 七、TensorFlow 和 Keras 中的用于時間序列數據的 RNN
- 八、TensorFlow 和 Keras 中的用于文本數據的 RNN
- 九、TensorFlow 和 Keras 中的 CNN
- 十、TensorFlow 和 Keras 中的自編碼器
- 十一、TF 服務:生產中的 TensorFlow 模型
- 十二、遷移學習和預訓練模型
- 十三、深度強化學習
- 十四、生成對抗網絡
- 十五、TensorFlow 集群的分布式模型
- 十六、移動和嵌入式平臺上的 TensorFlow 模型
- 十七、R 中的 TensorFlow 和 Keras
- 十八、調試 TensorFlow 模型
- 十九、張量處理單元
- TensorFlow 機器學習秘籍中文第二版
- 一、TensorFlow 入門
- 二、TensorFlow 的方式
- 三、線性回歸
- 四、支持向量機
- 五、最近鄰方法
- 六、神經網絡
- 七、自然語言處理
- 八、卷積神經網絡
- 九、循環神經網絡
- 十、將 TensorFlow 投入生產
- 十一、更多 TensorFlow
- 與 TensorFlow 的初次接觸
- 前言
- 1.?TensorFlow 基礎知識
- 2. TensorFlow 中的線性回歸
- 3. TensorFlow 中的聚類
- 4. TensorFlow 中的單層神經網絡
- 5. TensorFlow 中的多層神經網絡
- 6. 并行
- 后記
- TensorFlow 學習指南
- 一、基礎
- 二、線性模型
- 三、學習
- 四、分布式
- TensorFlow Rager 教程
- 一、如何使用 TensorFlow Eager 構建簡單的神經網絡
- 二、在 Eager 模式中使用指標
- 三、如何保存和恢復訓練模型
- 四、文本序列到 TFRecords
- 五、如何將原始圖片數據轉換為 TFRecords
- 六、如何使用 TensorFlow Eager 從 TFRecords 批量讀取數據
- 七、使用 TensorFlow Eager 構建用于情感識別的卷積神經網絡(CNN)
- 八、用于 TensorFlow Eager 序列分類的動態循壞神經網絡
- 九、用于 TensorFlow Eager 時間序列回歸的遞歸神經網絡
- TensorFlow 高效編程
- 圖嵌入綜述:問題,技術與應用
- 一、引言
- 三、圖嵌入的問題設定
- 四、圖嵌入技術
- 基于邊重構的優化問題
- 應用
- 基于深度學習的推薦系統:綜述和新視角
- 引言
- 基于深度學習的推薦:最先進的技術
- 基于卷積神經網絡的推薦
- 關于卷積神經網絡我們理解了什么
- 第1章概論
- 第2章多層網絡
- 2.1.4生成對抗網絡
- 2.2.1最近ConvNets演變中的關鍵架構
- 2.2.2走向ConvNet不變性
- 2.3時空卷積網絡
- 第3章了解ConvNets構建塊
- 3.2整改
- 3.3規范化
- 3.4匯集
- 第四章現狀
- 4.2打開問題
- 參考
- 機器學習超級復習筆記
- Python 遷移學習實用指南
- 零、前言
- 一、機器學習基礎
- 二、深度學習基礎
- 三、了解深度學習架構
- 四、遷移學習基礎
- 五、釋放遷移學習的力量
- 六、圖像識別與分類
- 七、文本文件分類
- 八、音頻事件識別與分類
- 九、DeepDream
- 十、自動圖像字幕生成器
- 十一、圖像著色
- 面向計算機視覺的深度學習
- 零、前言
- 一、入門
- 二、圖像分類
- 三、圖像檢索
- 四、對象檢測
- 五、語義分割
- 六、相似性學習
- 七、圖像字幕
- 八、生成模型
- 九、視頻分類
- 十、部署
- 深度學習快速參考
- 零、前言
- 一、深度學習的基礎
- 二、使用深度學習解決回歸問題
- 三、使用 TensorBoard 監控網絡訓練
- 四、使用深度學習解決二分類問題
- 五、使用 Keras 解決多分類問題
- 六、超參數優化
- 七、從頭開始訓練 CNN
- 八、將預訓練的 CNN 用于遷移學習
- 九、從頭開始訓練 RNN
- 十、使用詞嵌入從頭開始訓練 LSTM
- 十一、訓練 Seq2Seq 模型
- 十二、深度強化學習
- 十三、生成對抗網絡
- TensorFlow 2.0 快速入門指南
- 零、前言
- 第 1 部分:TensorFlow 2.00 Alpha 簡介
- 一、TensorFlow 2 簡介
- 二、Keras:TensorFlow 2 的高級 API
- 三、TensorFlow 2 和 ANN 技術
- 第 2 部分:TensorFlow 2.00 Alpha 中的監督和無監督學習
- 四、TensorFlow 2 和監督機器學習
- 五、TensorFlow 2 和無監督學習
- 第 3 部分:TensorFlow 2.00 Alpha 的神經網絡應用
- 六、使用 TensorFlow 2 識別圖像
- 七、TensorFlow 2 和神經風格遷移
- 八、TensorFlow 2 和循環神經網絡
- 九、TensorFlow 估計器和 TensorFlow HUB
- 十、從 tf1.12 轉換為 tf2
- TensorFlow 入門
- 零、前言
- 一、TensorFlow 基本概念
- 二、TensorFlow 數學運算
- 三、機器學習入門
- 四、神經網絡簡介
- 五、深度學習
- 六、TensorFlow GPU 編程和服務
- TensorFlow 卷積神經網絡實用指南
- 零、前言
- 一、TensorFlow 的設置和介紹
- 二、深度學習和卷積神經網絡
- 三、TensorFlow 中的圖像分類
- 四、目標檢測與分割
- 五、VGG,Inception,ResNet 和 MobileNets
- 六、自編碼器,變分自編碼器和生成對抗網絡
- 七、遷移學習
- 八、機器學習最佳實踐和故障排除
- 九、大規模訓練
- 十、參考文獻