### 2.3時空卷積網絡
通過使用ConvNets為各種基于圖像的應用程序帶來的顯著性能提升,如第2.2節所述,引發了對將2D空間ConvNets擴展到用于視頻分析的3D時空ConvNets的興趣。通常,文獻中提出的各種時空架構只是試圖將2D架構從空間域擴展到時域。在基于訓練的時空ConvNets領域,有三種不同的建筑設計決策是突出的:基于LSTM(_例如_。[112,33]),3D(_例如_。[139] ,84]和雙流會議(_,例如_。[134,43]),將在本節中描述。
#### 2.3.1基于LSTM的時空ConvNet
基于LSTM的時空轉換,_,例如_。 [112,33]是將2D網絡擴展到時空處理的早期嘗試。他們的操作可以分為三個步驟,如圖2.16所示。首先,使用2D網絡處理每個幀,并從其最后一層提取特征向量。其次,這些來自不同時間步驟的特征然后被用作產生時間結果的LSTM的輸入,。第三,然后將這些結果平均或線性組合并傳遞給softmax分類器以進行最終預測。

圖2.16:基于LSTM的時空ConvNet示例。在該網絡中,輸入包括來自視頻流的連續幀。圖[33]再版。
基于LSTM的ConvNets的目標是逐步整合時態信息,同時不受限于嚴格的輸入大小(暫時)。這種架構的一個好處是使網絡能夠生成可變大小的文本描述(_,即_ .LSTMs優秀的任務),如[33]中所做的那樣。然而,雖然LSTM可以捕獲全局運動關系,但它們可能無法捕獲更精細的運動模式。此外,這些模型通常較大,需要更多數據,因此難以訓練。迄今為止,除了正在整合視頻和文本分析的情況(_,例如_。[33]),LSTM通常在時空圖像分析中取得了有限的成功。
#### 2.3.2 3D ConvNet
第二種突出類型的時空網絡為標準2D ConvNet處理提供了最簡單的圖像時空概括。它直接與RGB圖像的時間流一起工作,并通過應用學習的3D,,卷積濾波器對這些圖像進行操作。這種泛化形式的一些早期嘗試使用過濾器,這些過濾器延伸到具有非常淺的網絡的時間域[80]或僅在第一卷積層[84]。當僅在第一層使用3D卷積時,在每3或4個連續幀上應用小抽頭時空濾波器。為了捕獲更長距離的運動,并行使用多個這樣的流,并且由堆疊這樣的流產生的層級增加了網絡的時間接收場。但是,由于時空濾波僅限于第一層,因此這種方法與基于樸素幀的2D ConvNets應用相比沒有產生顯著的改進。現在廣泛使用的C3D網絡提供了更強的泛化,它在所有層使用3D卷積和匯集操作[139]。 C3D從2D到3D架構的直接推廣需要大量增加要學習的參數數量,這可以通過在所有層使用非常有限的時空支持來補償(_即_。卷積)。最近略有不同的方法提出通過修改ResNet架構[64]來集成時間過濾,以成為時間ResNet(T-ResNet)[42]。特別是,T-ResNet使用濾波器增加剩余單位(如圖2.10(a)所示),該濾波器沿時間維度應用一維學習濾波操作。
最終,此類3D ConvNet架構的目標是在整個模型中直接集成時空濾波,以便同時捕獲外觀和運動信息。這些方法的主要缺點是其參數數量的增加。
#### 2.3.3雙流ConvNet
第三種類型的時空架構依賴于雙流設計。標準的雙流結構[134],如圖2.17所示,在兩個平行路徑中運行,一個用于處理外觀,另一個用于運動,類似于生物視覺系統研究中的雙流假設[55]。輸入到外觀路徑是RGB圖像;輸入到運動路徑是光流場的堆棧。基本上,每個流都使用相當標準的2D ConvNet架構單獨處理。每個途徑進行單獨分類,后期融合用于實現最終結果。原始雙流網絡的各種改進遵循相同的基本思想,同時為各個流使用各種基線架構(_,例如_。[43,443,144])或提出連接兩個流的不同方式(_例如_。[43,40,41])。值得注意的是,最近的工作稱為I3D [20],建議通過在兩個流上使用3D卷積來使用3D濾波和雙流架構。然而,除了網絡在基準動作識別數據集上獲得稍好的結果之外,作者還沒有提出令人信服的論據來支持除3D過濾之外的冗余光流流的需求。

圖2.17:原始的雙流網絡。網絡將RGB幀和光流堆棧作為輸入。圖[134]轉載。
總體而言,雙流控制系統支持外觀和運動信息的分離,以便了解時空內容。值得注意的是,這種架構似乎是時空ConvNets中最受歡迎的,因為它的變化導致了各種動作識別基準的最新結果(_,例如_。[43,40,41,144]) 。
### 2.4總體討論
多層表示一直在計算機視覺中發揮重要作用。實際上,即使是標準廣泛使用的手工制作的特征,如SIFT [99],也可以看作淺層多層表示,松散地說,它包括卷積層,然后是匯集操作。此外,前ConvNet最先進的識別系統通常遵循手工制作的特征提取與(學習的)編碼,然后是空間組織的池和學習的分類器[_,例如_。[39]),也是一種多層代表性方法。現代多層體系結構推動了分層數據表示的思想更深層次,同時通常避開手工設計的特征,轉而采用基于學習的方法。在計算機視覺應用方面,ConvNets的特定架構使它們成為最具吸引力的架構之一。
總的來說,雖然處理多層網絡的文獻非常龐大,每個派系都提倡一種架構優于另一種架構,但已經出現了一些常見的“最佳實踐”。突出的例子包括:大多數架構依賴于四個常見構建塊(_即_。卷積,整流,規范化和池化),深度架構與小型支持卷積內核的重要性,以實現具有可管理數量的抽象參數,殘余連接以應對學習過程中誤差梯度傳播的挑戰。更一般地,文獻同意關鍵點,輸入數據的良好表示是分層的,如前面幾個貢獻中所述[119]。
重要的是,雖然這些網絡在許多計算機視覺應用中取得了競爭性成果,但它們的主要缺點依然存在:對學習表示的確切性質的理解有限,對大量訓練數據集的依賴性,缺乏支持精確性能界限的能力以及缺乏關于網絡超參數選擇的清晰度。這些選擇包括濾波器大小,非線性選擇,池功能和參數以及層數和架構本身。在ConvNets“構建塊”的背景下,其中幾個選擇背后的動機將在下一章中討論。
- 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
- 六、自編碼器,變分自編碼器和生成對抗網絡
- 七、遷移學習
- 八、機器學習最佳實踐和故障排除
- 九、大規模訓練
- 十、參考文獻