Channel-wise Knowledge Distillation for Dense Prediction論文閱讀和

paper:https://arxiv.org/pdf/2011.13256.pdf

code:https://github.com/open-mmlab/mmrazor?

這篇paper主要是商湯開源的mmrazor中提及在detection有效果,我之前記錄的幾篇sota文章雖然在各自的paper中在detection領域都有提及有增益,但實際上在我的測試中,可能由于模型容量或者其他原因,收益都幾乎不可見,但是這篇文章是商湯開源的,我認為應該具有比較好的含金量,因此再分析和實驗一波。

摘要:

kd被認為是一種簡單有效的方法用來訓練密集預測模型,許多的kd方法對其student和teacher的空間域的activation?maps,通常的方法是normalizing 每一個空間位置激活值,并逐點最小化或者比較之間的差異,與之前的方法不同,我們的建議是歸一化激活map,然后獲得一張soft probability(軟概率),然后最小化KL散度來比較兩個網絡之間的通道概率圖,kd過程中更注重最突出的每個通道的顯著性區域,這對密集預測很有價值,然后本方法在semantic和detection上進行了實驗,取得了sota的結果,在retinanet上提升了3.4.

Introduction

? ? Spatial distillation: 空間方向的蒸餾,可以理解成對所有通道的相同位置的點做歸一化,然后讓學生網絡學習這個歸一化后的分布,可以理解成對類別的蒸餾。
? ? Channel distillation: 通道方向的蒸餾,可以理解成對單個通道內做歸一化,然后讓學生網絡學習這個歸一化后的分布,可以理解成對位置的蒸餾。?

? ? 如上所示,使用kl散度來最小化通道的歸一化后的激活maps的分布,如上圖所示,每個通道的激活值更傾向于編碼的顯著性類別,比如car的通道就會更注重于car的類別,對于每個通道,student網絡更注重于模仿和學習那些具有顯著激活值得區域,從而在密集預測恩物中實現更準確地定位,比如detection,就更加注重于前景的對象的激活值學習。

? ? 本小節的結論是:paper展示了每個簡單歸一化每個通道可以提升spatial distillation的baseline,本文提出channel-wise kd方法能夠兼得的應用于各個人物和網絡結構,總結貢獻如下:

? ? 1、提出了一種新的channel-wise蒸餾范式,取得了sota效果在semantic和detection任務上

? ? 2、在不同的網絡結構中泛化性能很好,都取得了比較好的增益。

? ? 鑒于其簡單和有效性,認為該方法可以作為密集預測任務的有效方法

Method

1、常規的空間蒸餾方法

?2、Channel-wise Distillation

? ? 為了更好地利用每個通道的只是,使用軟對齊(softly align activations)teacher和studfent相應通道的激活值。首先,將通道的激活值轉化為概率分布,然后在使用figure2中的方法來衡量差異,比如kl散度,

? ??

? ? ? yt和ys分別代表相應通道的activation map,里面的c代表對應的通道,?代表將activation map轉化為概率的分布,概率轉換完成后可以消除大網絡和小網絡之間的絕對數值的大小差異,轉化方式如下圖所示:

? ? 上圖也提到,當student和teacher模型的channel不一致時,可以使用1x1的卷積進行適配,最后對進行soft后的概率分布進行kl散度計算,同時如上式代入溫度參數。

這里也提到了一個核心點,為什么kl散度是有效的,即當如果當 ? ( yT )越大,則? ? ( yS)同樣也越大,來最小化kl散度,但是相反的,? ( yT )越小,則? ? ( yS)則不會一直無窮小,因此,這樣能夠更加保證student學習到teacher的更顯著的概率map。

experiments:

本博客只給出paper的detection的結構,有興趣的同學自己去看其他的實驗結果和超參數優化。?

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

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

相關文章

hide函數的使用方法

在編程中,我們常常需要控制元素的顯示與隱藏。特別是在前端開發中,hide 函數是一個非常常見的操作,尤其是在 JavaScript 和 jQuery 中。它可以讓你輕松地將元素從視圖中隱藏,進而提升用戶交互體驗和頁面的響應能力。本文將介紹如何…

【MySQL】基本操作 —— DML 與約束

目錄 DML 基本介紹DML 常見操作添加數據 insert給指定字段添加數據給全部字段添加數據給指定字段批量添加數據給全部字段批量添加數據 修改數據 update刪除數據 delete 約束基本概念約束操作主鍵約束添加單列主鍵添加多列主鍵(聯合主鍵)修改表結構添加主…

nginx配置轉發到另一個網站或另一臺服務器的服務

需求背景 在一臺服務器上安裝了一個服務,不想使用ip:port方式,想使用域名打開這個服務的地址。 1. 配置轉發 1.1 參數解釋 listen:指定 Nginx 監聽的端口。在上面的例子中,Nginx 監聽 8888 端口。server_name:用于…

HarmonyOS三層架構實戰

目錄: 1、三層架構項目結構1.0、三層架構簡介1.1、 common層(主要放一些公共的資源等)1.2、 features層(主要模塊定義的組件以及圖片等靜態資源)1.3、 products層(主要放主頁面層和一些主要的資源&#xff…

macOS homebrew - 切換源

https://mirrors.tuna.tsinghua.edu.cn/help/homebrew/ 環境變量中 添加: export HOMEBREW_BREW_GIT_REMOTE"https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git" export HOMEBREW_CORE_GIT_REMOTE"https://mirrors.tuna.tsinghua.edu.cn…

ETL中的實用功能以及數據集成方式

在企業數字化轉型的進程中,數據集成扮演著至關重要的角色。它不僅是實現信息流動和系統協同的關鍵步驟,更是提升企業運營效率和決策能力的核心驅動力。ETL(Extract,Transform,Load)作為數據集成的重要工具&…

基于Springboot+Typst的PDF生成方案,適用于報告打印/標簽打印/二維碼打印等

基于SpringbootTypst的PDF生成方案,適用于報告打印/標簽打印/二維碼打印等。 僅提供后端實現 Typst2pdf-for-report/label/QR code github 環境 JDK11linux/windows/mac 應用場景 適用于定制化的報告模板/標簽/條碼/二維碼等信息的pdf生成方案。通過瀏覽器的p…

OSG簡介

OSG OpenSceneGraph (簡稱 OSG) 是一個開源的高性能3D圖形庫。 作用 它為開發者提供了一個強大的API,處理和渲染復雜的3D圖形。 特點 OSG基于OpenGL構建,提供了對現代圖形技術的支持,如著色器、紋理映射、光照模型等高級特性。 跨平臺支…

簡述下npm,cnpm,yarn和pnpm的區別,以及跟在后面的-g,--save, --save-dev代表著什么

文章目錄 前言一、npm,cnpm,yarn和pnpm的基本介紹和特點1.npm (Node Package Manager)2. Yarn3. cnpm (China npm)4. pnpm 二、簡述npm和pnpm 的存儲方式和依賴數1.存儲方式2.依賴樹 三、兩者依賴樹的差異導致結果的對比四、簡單說說-g,--sav…

三分鐘掌握視頻剪輯 | 在 Rust 中優雅地集成 FFmpeg

前言 在當今的短視頻時代,高效的視頻剪輯已成為內容創作者和開發者的迫切需求。無論是裁剪視頻開頭結尾、提取高光時刻,還是制作 GIF、去除廣告,剪輯都是必不可少的一環。 然而,批量處理大量視頻并非易事,常見的挑戰…

Python 視頻爬取教程

文章目錄 前言基本原理環境準備Python安裝選擇Python開發環境安裝必要庫 示例 1:爬取簡單直鏈視頻示例 2:爬取基于 HTML5 的視頻(以某簡單視頻網站為例) 前言 以下是一個較為完整的 Python 視頻爬取教程,包含基本原理…

ollama搭建deepseek調用詳細步驟

在使用 Ollama 搭建 DeepSeek 并投喂數據的過程中,你需要幾個主要步驟來確保一切順利進行。以下是詳細的指南,涵蓋了從準備工作到實際投喂數據的所有環節。 準備環境確保你的計算機具備足夠的硬件資源: CPU: 至少8核處理器(推薦12核以上)內存: 至少32GB RAM(推薦64GB以上…

VSCode C/C++ 開發環境完整配置及常見問題(自用)

這里主要記錄了一些與配置相關的內容。由于網上教程眾多,部分解決方法并不能完全契合我遇到的問題,因此我選擇以自己偏好的方式,對 VSCode 進行完整的配置,并記錄在使用過程中遇到的問題及解決方案。后續內容也會持續更新和完善。…

如何搭建一個安全經濟適用的TRS交易平臺?

TRS(總收益互換)一種多方參與的投資方式,也是絕對收益互換(total return swap)的一種形式。 它是一種衍生合約,是一種金融衍生品的合約,是指交易雙方在協議期間將參照資產的總收益轉移給信用保…

SpringMVC(四)Restful軟件架構風格

目錄 ?編輯 API接口設計的架構風格 一 Dao層實現(處理數據庫) 二 Sercice層實現(處理業務邏輯) 三 Controller層(處理http請求) 四 補充知識點 1 PathVariable - 路徑變量 2 CrossOrigin(Origins …

Docker搭建MySQL主從服務器

一、在主機上創建MySQL配置文件——my.cnf master服務器配置文件路徑:/data/docker/containers/mysql-cluster-master/conf.d/my.cnf slave服務器配置文件路徑: /data/docker/containers/mysql-cluster-master/conf.d/my.cnf master服務配置文件內容 …

鴻蒙路由 HMrouter 配置及使用一

1、學習鏈接 HMRouter地址 https://gitee.com/hadss/hmrouter/blob/dev/HMRouterLibrary/README.md 2、工程配置 下載安裝 ohpm install hadss/hmrouter 添加編譯插件配置 在工程目錄下的build-profile.json5中,配置useNormalizedOHMUrl屬性為true (我這項目創…

智能家居分享

因為最近沉迷智能家居,所以來給大家分享一些輕松改變生活體驗的小家具 1: 智能門鎖 出門忘記帶鑰匙是許多人都遇到過的尷尬事,智能門鎖的出現完美解決了這個困擾。智能門鎖采用指紋識別、密碼、刷卡、手機等多種開鎖方式,大大增…

C#入門學習記錄(四)C#運算符詳解:掌握算術與條件運算符的必備技巧+字符串拼接

一、運算符概述 運算符是程序進行數學運算、邏輯判斷的核心工具&#xff0c;C#中的運算符分為&#xff1a; 算術運算符 → 數學計算&#xff08; - * / %&#xff09; 條件運算符 → 三目判斷&#xff08;?:&#xff09; 關系運算符 → 比較大小&#xff08;> < &#…

Linux中安裝Git

安裝Git 安裝git&#xff0c;我們可以使用yum指令在線安裝&#xff0c;這里&#xff0c;我們先對yum做一個簡單介紹。 執行下面命令 #查看可用的git安裝包 yum list git #安裝git yum install -y git 查看git安裝包 安裝git 驗證是否安裝成功 安裝完畢之后&#xff0c;我們…