5.23.12 計算機視覺的 Inception 架構

1. 介紹

分類性能的提升往往會轉化為各種應用領域中顯著的質量提升,深度卷積架構的架構改進可用于提高大多數其他計算機視覺任務的性能,這些任務越來越依賴于高質量的學習視覺特征。在 AlexNet 功能無法與手工設計、制作的解決方案競爭的情況下,網絡質量的改進為卷積網絡帶來了新的應用領域。

GoogleNet 使用了大約 700 萬個參數,比其前身 AlexNet(使用 6000 萬個參數)減少了 9 倍。此外,VGGNet 使用的參數比 AlexNet 多大約 3 倍。

Inception 架構的復雜性使得對網絡進行更改變得更加困難。如果單純地擴展架構,則很大一部分計算收益可能會立即丟失。如果認為有必要增加某些 Inception 式模型的容量,那么只需將所有? 濾波器組大小? 的數量加倍的簡單變換將導致計算成本和參數數量增加 4 倍。

2. 通用設計原則

避免表示瓶頸,尤其是在網絡早期。前饋網絡可以用從輸入層到分類器或回歸器的非循環圖來表示。這為信息流定義了明確的方向。對于網絡中的任何一個分割(即將網絡分成兩部分,一邊是輸入,一邊是輸出),都可以評估通過該分割的信息量。

從輸入到輸出,表示的大小(即特征的數量或維度)應該逐漸減小,直到達到用于特定任務的最終表示。這種逐漸減小的過程有助于網絡逐步提取和精煉關鍵信息,同時避免不必要的復雜性。理論上,信息內容不能僅僅通過表示的維度來評估,因為它拋棄了相關結構等重要因素;維度僅提供信息內容的粗略估計。


更高維度的表示更容易在網絡中進行 局部處理。增加卷積網絡中每個圖塊的激活可以實現更多獨立的特征。由此產生的網絡將訓練得更快。?


空間聚合(如池化或者更復雜的聚合函數)可以在較低維度的嵌入上完成,而不會損失太多或任何表示能力。在執行更分散的(例如 3 × 3)卷積之前,可以在空間聚合之前減小輸入表示的維度,而不會產生嚴重的不利影響。如果在 空間聚合 上下文中使用輸出,則相鄰單元之間的強相關性會導致降維期間的信息損失會較少。


平衡網絡的寬度和深度。通過平衡? 每個階段 濾波器的數量和網絡的深度可以達到網絡的最佳性能。增加網絡的寬度和深度有助于提高網絡質量。然而,如果兩者并行增加,則可以達到恒定計算量的最佳改進。

一個階段可以是一個卷積層或者一組卷積層。

3.?使用大卷積核尺寸分解卷積

由于 Inception 網絡是完全卷積的,因此每個權重對應于每次激活的一次乘法。因此,計算成本的任何減少都會導致參數數量的減少。這意味著通過適當的因子分解,我們最終可以獲得更多 解耦 的參數,從而加快訓練速度。此外,我們可以利用計算和內存節省來增加網絡的濾波器組大小,同時保持在單臺計算機上訓練每個模型副本的能力。

解耦(Decoupling)是指降低系統組件之間的依賴程度

解耦是希望減少各個模塊之間的依賴關系,使模塊間盡可能的獨立存在?

3.1?因式分解為更小的卷積

具有較大空間濾波器(例如 5 × 5 或 7 × 7)的卷積在計算方面往往會非常昂貴。例如,在輸入數據有 m 個特征圖或通道時 使用 n 個卷積核的 5 × 5 卷積的計算成本是具有相同數量卷積核的 3 × 3 卷積的 25?/ 9 = 2.78 倍。當然,5×5 卷積核可以捕獲較早層中較遠的單元激活之間的信號之間的依賴關系,因此卷積核幾何尺寸的減小會導致表達能力的巨大損失。

3.2 空間分解為不對稱卷積

通過使用非對稱卷積,可以做得比 2 × 2 更好,例如n × 1。例如,使用 3 × 1 卷積后跟 1 × 3 卷積相當于滑動具有與 3 × 3 卷積相同的感受野的兩層網絡。

如果輸入和輸出 卷積核 的數量相等,那么對于相同數量的輸出 卷積核 ,兩層解決方案的成本仍然要低 33%。相比之下,將一個 3 × 3 卷積分解為兩個 2 × 2 卷積僅節省 11% 的計算量。

理論上,我們可以更進一步,認為可以用 1 × n 卷積,然后是 n × 1 卷積來替換任何 n × n 卷積,并且隨著 n 的增長,計算成本節省會急劇增加。

n × n 卷積分解后的 Inception 模塊

為 17 × 17 的特征圖選擇 n = 7

在中等網格大小上(在 m×m 特征圖上,其中 m 范圍在 12 到 20 之間)給出了非常好的結果。在這個層面上,通過使用 1 × 7 卷積,然后使用 7 × 1 卷積可以獲得非常好的結果。

4. 輔助分類器的實用性

引入了輔助分類器的概念來提高非常深的網絡的收斂性。最初的動機是將有用的梯度推到較低層,使它們立即有用,并通過解決非常深的網絡中的梯度消失問題來提高訓練期間的收斂性。在訓練接近結束時,具有輔助分支的網絡開始超過沒有任何輔助分支的網絡的準確性,并達到稍高的平臺。

5.?有效減小網格(特征圖)尺寸

在傳統的卷積網絡中,通常會使用某種池化操作(如最大池化或平均池化)來減小特征圖的網格大小。在應用最大池化或平均池化之前,通常需要擴展網絡濾波器的激活維度,以避免所謂的“表達瓶頸”。

例如,從一個具有 k 個 卷積核 的?d\times d?網格開始,如果希望得到一個具有?2k?個 卷積核 的\frac{d}{2}\times \frac{d}{2}?網格,首先需要在更大的網格上進行一個步長為1的卷積,使用?2k?個卷積核,然后應用一個額外的池化步驟。這意味著整體的計算成本主要由在較大網格上使用?2d^2k^2?操作的昂貴卷積所決定。

使用卷積替代池化

一種可能的解決方案是使用卷積來替代池化,這可以將計算成本減少到?2(\frac{d}{2})^2k^2?,即減少到原來的四分之一。然而,這種替代方案會導致表示的整體維度降低到??(\frac{d}{2})^2k ,從而導致網絡表達能力下降(即出現表達瓶頸)。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/15207.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/15207.shtml
英文地址,請注明出處:http://en.pswp.cn/web/15207.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何評價劉強東說“業績不好的人不是我兄弟”

在近日的一次京東管理層會議上,創始人劉強東以不容置疑的口吻表明了對公司文化的堅定態度:“凡是長期業績不好,從來不拼搏的人,不是我的兄弟。”這句話不僅是對那些工作表現不佳的員工的直接警告,也透露出京東在追求業…

three.js能實現啥效果?看過來,這里都是它的菜(08)

在Three.js中實現旋轉動畫的原理是通過修改對象的旋轉屬性來實現的,通常使用渲染循環(render loop)來更新對象的旋轉狀態,從而實現動畫效果。 具體的原理包括以下幾個步驟: 創建對象:首先創建一個需要旋轉…

AIGC-風格遷移-style Injection in Diffusion-CVPR2024HighLight-論文精度

Style Injection in Diffusion: A Training-free Approach for Adapting Large-scale Diffusion Models for Style Transfer-CVPR2024HighLight 代碼:https://github.com/jiwoogit/StyleID 論文:https://jiwoogit.github.io/StyleID_site/ 為了解決風格遷…

python3.12虛擬環境下ModuleNotFoundError: No module named ‘distutils‘的解決辦法

python3.12下面venv虛擬環境,安裝pwntools,運行Ropgadget提示:ModuleNotFoundError: No module named distutils’的解決辦法 (py3xt) :~/py3/bin$ ROPgadget Traceback (most recent call last):File "/home/a24/py3xt/bin/ROPgadget…

你真的會使用Vue3的onMounted鉤子函數嗎?Vue3中onMounted的用法詳解

目錄 一、onMounted的前世今生 1.1、onMounted是什么 1.2、onMounted在vue2中的前身 1.2.1、vue2中的onMounted 1.2.2、Vue2與Vue3的onMounted對比 1.3、vue3中onMounted的用法 1.3.1、基礎用法 1.3.2、順序執行異步操作 1.3.3、并行執行多個異步操作 1.3.4、執行一次…

Rust腐蝕怎么用服務器一鍵開服聯機教程

1、進入控制面板 首次登陸需要點擊下方重置密碼,如何再點擊登錄面板,點擊后會跳轉到登錄頁面,輸入用戶名和密碼登錄即可 2、設置游戲端口 由于腐蝕的設置需要三個端口,它們用于游戲端口(必須為首選端口)&a…

jenkins 部署golang 應用到k8s與測試環境

1.宿主機安裝jenkins 不要用docker 為什么:docker jenkins你只有jenkins, 你想做golang編譯的情況,它的鏡像里面缺少go環境。 而宿主機安裝的情況,jenkins是可以通過環境變量修改來訪問宿主機里面安裝的內容。 2.插件 // docke…

FFMPEG 解碼過程初步學習

1. 視頻文件解碼過程 解碼過程 步驟如下: 視頻文件(封裝格式,MP4/FLV/AVI 等)獲取視頻格式信息等解復用為Stream 流, 準備解碼用的Codec將Stream 流 使用解碼器解為Raw 格式針 1.1 音視頻格式填充: int…

找不到msvcr110.dll無法繼續執行代碼的原因分析及解決方法

在計算機使用過程中,我們經常會遇到一些錯誤提示,其中之一就是找不到msvcr110.dll文件。這個錯誤通常發生在運行某些程序或游戲時,系統無法找到所需的動態鏈接庫文件。為了解決這個問題,下面我將介紹5種常見的解決方法。 一&#…

Vue3實現上傳照片以及回顯

Vue3實現上傳照片以及回顯 一、安裝Element Plus二、案例1、基本示例 三、進階案例1、代碼2、代碼解釋1、上傳接口展示2、查詢接口展示組件屬性 3、效果展示 一、安裝Element Plus 使用 Element Plus 組件庫來實現上傳照片和回顯同樣很簡單,你可以按照以下步驟進行…

用棧實現隊列(C語言)

目錄 題目題目分析 代碼棧的實現結構體。棧的初始化棧的銷毀 入棧刪除查找頂部數據判空 答案結構體初始化插入數據刪除數據獲取隊列開頭元素判空銷毀棧 題目 題目分析 鏈接: 題目 請你僅使用兩個棧實現先入先出隊列。隊列應當支持一般隊列支持的所有操作(push、po…

數據庫查詢中——having與where的用法

數據庫查詢中——having與where的用法 HAVING 子句在 SQL 中主要用于與 GROUP BY 子句一起使用,以過濾聚合函數的結果。當你使用 GROUP BY 對數據進行分組,并希望基于這些分組后的數據進一步過濾時,你會使用 HAVING 子句。 HAVING 子句通常與…

pyside6下沒有designer.exe、pyside6-uic.exe等

使用conda安裝的pyside6(conda install pyside6),發現pyside6目錄下沒有designer.exe、pyside6-uic.exe等;designer.exe在Miniconda3/Library/bin下 pyside6-uic.exe、pyside6-rcc.exe在Miniconda3\Scripts下 但是 使用pip安裝…

企業內網自建yum源 倉庫 | rsync同步方案

文章目錄 1.背景概述2.獲取軟件文件2.1 準備同步腳本如下 2.2 準備例外文件清單2.3 統計源端大小2.3 運行腳本開始同步文件 3. 創建網頁服務3.1 安裝nginx并啟用3.2 修改ngnix配置文件 4 創建repo索引和客戶文件4.1 創建repo索引4.2 創建客戶端文件4.3 客戶端下載repo文件 1.背…

用 Python 編寫網絡爬蟲:從網頁獲取數據并存儲到 Excel 文件

在本篇博客中,我們將介紹如何使用 Python 編寫一個簡單的網絡爬蟲,用于從網頁中提取數據,并將這些數據存儲到 Excel 文件中。我們將使用 Python 中的一些庫來實現這個功能,包括 urllib.request、BeautifulSoup 和 openpyxl。 1. 網絡爬蟲的基本原理 網絡爬蟲是一種程序,…

【MyBatis】MyBatis解析全局配置文件源碼詳解

目錄 一、前言 思維導圖概括 二、配置文件解析過程分析 2.1 配置文件解析入口 2.2 初始化XMLConfigBuilder 2.3 XMLConfigBuilder#parse()方法:解析全局配置文件 2.3.1 解析properties配置 2.3.2 解析settings配置 2.3.2.1 元信息對象(MetaClas…

解決移植Metasploitable3到VM虛擬機無網絡的問題

第一步 導入后不要開機,先在虛擬機設置里面將原有的兩個網絡適配器移除。 第二步 接著在選項里面,在客戶機操作系統里面,選擇Microsoft Windwos(W), 版本選擇Windows Server 2008 R2 x64 第三步 先打開虛擬機,然后…

Python_文件操作_學習

目錄 一、關于文件的打開和關閉 1. 文件的打開 2.文件的關閉 二、文件的讀取 1. 文件的讀_r 2. 使用readline 3.使用readlines 三、文件的寫入 1. 文本的新建寫入 2.文本的追加寫入 四、文件的刪除和重命名 1.文件的重命名 2.文件的刪除 五、文件的定位讀寫 1.t…

RK 11.0 多屏模式下修改鼠標進入方式

要求:主屏在左,副屏在右。這種排列情況下鼠標僅可通過主屏的最右側移入副屏的最左側,或從副屏的最左側移入主屏最右側。 1.RK默認設計 1.1 RK的代碼設計是當sys.mouse.presentation1時,鼠標在屏幕邊緣的時候就會移入另一個屏幕 …

CISP-PTE筆記整理

目錄 漏洞基礎代碼合集 網安基礎 常見名詞 信息收集 環境和變量的配置 HTTP請求頭基礎 HTTP基礎知識 MySql基礎語法 各系統的敏感目錄路徑 工具使用 Hackbar的tips java下載配置 Xray下載配置&使用 burp爆破賬號密碼和C段&注意事項 SqlMap爆破&創建…