知識蒸餾 knowledge distill 相關論文理解

1.FitNets : Hints For Thin Deep Nets (ICLR2015)

論文目的:
蒸餾訓練中,為了訓練更加深的網絡,在某個層中設置hint(暗示),再與老師網絡中的hint對比。 這樣做是使訓練更加快,好。

在這里插入圖片描述
在這里插入圖片描述

實驗:
分別在 CIFAR-10 和 CIFAR-100 SVHN MNIST AFLW進行了實驗

在這里插入圖片描述

2.A Gift from Knowledge Distillation:Fast Optimization, Network Minimization and Transfer Learning (CVPR 2017)

論文鏈接
論文目的:
發現蒸餾可以用來

  1. 對模型快速訓練, 訓練更少的時間就能達到效果。
  2. 對模型進行初始化,
  3. 對模型進行轉移學習(老師網絡用于貓狗分類,學生網絡用于馬和斑馬分類)

主要貢獻:
1.提出了一蒸餾訓練方法,認為教學生網絡不同層輸出的feature之間的關系比教學生網絡結果好
The student DNN does not necessarily have to learn the intermediate output when the specific question is input but can learn the solution method when a specific type of question is encountered
在這里插入圖片描述

論文內容:

1.定義了FSP matrix矩陣 來表明兩個層之間的關系流
The FSP matrix is generated by the features from two layers
在這里插入圖片描述
網絡模型
在這里插入圖片描述
在這里插入圖片描述

2.訓練過程
先訓練FSPloss ,然后再用數據集訓練學生網絡進行微調。

3.Matching Guided Distillation(ECCV2020)

論文鏈接

論文目的:
提出了一種新方法用于解決老師網絡和學生網絡輸出feature維度不一致問題,進而導致對比的時候有一定誤差。其中,其他老的方法是新增一個卷積,或者attention 去匹配維度。

本文提出三個方法去裁剪老師網絡生成的feature通道數,進而與學生網絡進行匹配,不需要增加一個橋梁(1*1卷積)去解決features不匹配的情況。

在這里插入圖片描述

論文內容:
1.通道匹配
尋找一個矩陣M建立S和T特征的聯系,
其中S是預訓練學生網絡輸出的feature
T是預訓練老師網絡輸出的feature
S=MTS = MT S=MT
S∈RS×N,M∈RS×C,T∈RC×NS\in \mathcal{R}^{S \times N},M\in \mathcal{R}^{S \times C},T\in \mathcal{R}^{C\times N}SRS×N,MRS×C,TRC×N

M 還要滿足以下條件
在這里插入圖片描述
2.通道裁剪
找到M之后進行裁剪,裁剪分為三個方法。
(1)sparse matching
在這里插入圖片描述
(2)random drop
(3) max pooling

論文不足 :使用的預訓練的student模型,然后再利用teacher微調。其中M是兩者的相關程度,可以直接對teacher生成的feature進行運算,找到有代表性的。

4.A Comprehensive Overhaul of Feature Distillation(ICCV2019)

論文鏈接

論文目的:
設計一種蒸餾方法,對teacher transform, student transform, distillation feature position and distance function 進行了設計

論文內容:
teacher transform 加了a new ReLU activation
student transform 加了1*1conv
distillation feature position 在pre-RELU
distance function 提出了新的 partial L2 distance
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

5.Knowledge Transfer via Distillation of Activation Boundaries Formed by Hidden Neurons (AAAI2019)

提供了一個新思路:讓老師網絡層的神經元的激活平面盡量和學生網絡的一樣

6.Compressing GANs using Knowledge Distillation

論文鏈接

上面幾篇都是對普通的卷積網絡進行壓縮,這個文章是對gan進行壓縮。

貢獻:
1.認為一個超參數的老師網絡去蒸餾有更好的效果
2.全文證明了學生網絡的參數越多,效果越好

論文內容

在這里插入圖片描述
在這里插入圖片描述

7.GhostNet: More Feature from Cheap Operation(CVPR2020)

主要內容;
使用線性操作,復制更多地feature maps,以此代替卷積操作,這樣可以簡化模型

思想很簡單
在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

8.Data-Free Adversarial Distillation

動機:

  1. 原始的訓練數據不存在,
    2.訓練S時,使用一些具有代表性特征的數據 (hard sample)
    方法:
    1.利用G隨機生成數據,盡量拉遠S和T的距離
    2.訓練S,使S和T的距離變小

在這里插入圖片描述

9.Data-Free Learning of Student Networks (ICCV2020)

動機:
1.不使用原數據集

內容:
1.迭代訓練 G 和 S
2.學習原始數據集的分布,更快的生成圖片
3.設置了三個損失函數去限制生成器,生成更加好的圖片

在這里插入圖片描述

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

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

相關文章

模型壓縮 相關文章解讀

模型壓縮相關文章Learning both Weights and Connections for Efficient Neural Networks (NIPS2015)Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding(ICLR2016)Learning both Weights and …

Linux 殺死進程

kill -9 進程名 殺死進程

計算圖片相似度的方法

文章目錄1.余弦相似度計算2.哈希算法計算圖片的相似度3.直方圖計算圖片的相似度4.SSIM(結構相似度度量)計算圖片的相似度5.基于互信息(Mutual Information)計算圖片的相似度1.余弦相似度計算 把圖片表示成一個向量,通…

.size .shape .size() type的運用

.size ndarray.size 數組元素的總個數,相當于 .shape 中 n*m 的值 a np.array([2,2]) print(a.size)2.shap ndarray.shape 數組的維度,對于矩陣,n 行 m 列 a np.array([2,2]) print(a.shape) (1,2)torch.tensor 數組的維度 x torch.r…

矩陣相加

tensor 類型 a torch.randn(1,3,3) b torch.randn(1,3,3) c a b numpy.array 類型 a np.array([2,2]) b np.array([2,2]) print(type(a)) print(ab)[4,4]

Latex 生成的PDF增加行號 左右兩邊

增加行號 \usepackage[switch]{lineno}\linenumbers \begin{document} \end{document}

pytorh .to(device) 和.cuda()的區別

原理 .to(device) 可以指定CPU 或者GPU device torch.device("cuda:0" if torch.cuda.is_available() else "cpu") # 單GPU或者CPU model.to(device) #如果是多GPU if torch.cuda.device_count() > 1:model nn.DataParallel(model,devic…

Linux 修改用戶名的主目錄 家目錄

首先root 登陸 sudo -i 輸入密碼然后 vim /etc/passwd 找到用戶名 然后修改后面的路徑即可

ubunt16.04 安裝3090顯卡驅動 cuda cudnn pytorch

安裝驅動 需要的安裝包 30系列顯卡是新一代架構,新驅動不支持cuda9以及cuda10,所以必須安裝cuda11、而pytorch現在穩定版為1.6,最高僅支持到cud10.2。所以唯一的辦法就是使用上處于beta測試的1.7或1.8。這也是為啥一開始就強調本文的寫作時…

3090顯卡 torch.cuda.is_available()返回false的解決辦法

問題 1.執行Nvidia-smi 命令沒有報錯,能夠顯示驅動信息; 2.執行 torch.backends.cudnn.enabled is TRUE 3.torch.cuda.is_available()一直返回False 解決 把torch,torchvision等相關安裝包全部刪除,安裝適合版本的torch。 30系…

測試項目:車牌檢測,行人檢測,紅綠燈檢測,人流檢測,目標識別

本項目為2020年中國軟件杯A組第一批賽題"基于計算機視覺的交通場景智能應用".項目用python實現,主要使用YOLO模型實現道路目標如人、車、交通燈等物體的識別,使用開源的"中文車牌識別HyperLPR&a…

pytorch: 在訓練中保存模型,加載模型

文章目錄1. 保存整個模型2.僅保存和加載模型參數(推薦使用)3. 保存其他參數到模型中,比如optimizer,epoch 等1. 保存整個模型 torch.save(model, model.pkl) model torch.load(model.pkl)2.僅保存和加載模型參數(推薦使用) torch.save(model_object.state_dict()…

Pytorch:保存圖片

1. 直接保存Tensor #!/usr/bin/env python # _*_ coding:utf-8 _*_ import torch from torchvision import utils as vutilsdef save_image_tensor(input_tensor: torch.Tensor, filename):"""將tensor保存為圖片:param input_tensor: 要保存的tensor:param fi…

Python List:合并多個list,listd的合并

第一種方法 a [1,3,3] b [2,3,3] a a b print(a) [1,3,3,2,3,3]第二種方法 a [1,3,3] b [2,3,3] a.extend(b) print(a) [1,3,3,2,3,3]

掛載硬盤問題:mount: wrong fs type, bad option, bad superblock on /dev/sdb,

mount: wrong fs type, bad option, bad superblock on /dev/sdb,missing codepage or helper program, or other error 解決方案: # create mount dir sudo mkdir /hdd6T# new file system sudo mkfs.ext4 /dev/sdc# mount drive sudo mount /dev/sdc /hdd6T/# c…

linux 安裝python3.8的幾種方法

1.命令行搞定 git clone https://github.com/waketzheng/carstino cd carstino python3 upgrade_py.py2.離線安裝 自己在官網下載安裝包 https://www.python.org/ftp/python/3.8.0/ 解壓: tar -zvf Python-3.8.0.tgz安裝 cd Python-3.8.0 ./configure --prefix/u…

面試題目:欠擬合、過擬合及如何防止過擬合

對于深度學習或機器學習模型而言,我們不僅要求它對訓練數據集有很好的擬合(訓練誤差),同時也希望它可以對未知數據集(測試集)有很好的擬合結果(泛化能力),所產生的測試誤…

LaTeX:equation, aligned 書寫公式換行,頂部對齊

使用aligined 函數,其中aligned就是用來公式對齊的,在中間公式中,\ 表示換行, & 表示對齊。在公式中等號之前加&,等號介紹要換行的地方加\就可以了。 \begin{equation} \begin{aligned} L_{task} &\lamb…

Latex: 表格中 自動換行居中

1、在導言區添加宏包: \usepackage{makecell}2、環境:tabular 命令: \makecell[居中情況]{第1行內容 \\ 第2行內容 \\ 第3行內容 ...} \makecell [c]{ResNet101\\ (11.7M)}參數說明: [c]是水平居中,[l]水平左居中&am…

argparse:shell向Python中傳參數

一般是 python train.py --bath_size 5利用argparse解析參數 import argparse parser argparse.ArgumentParser() parser.add_argument(integer, typeint, helpdisplay an integer) args parser.parse_args()參數類型 可選參數 import argparse parser argparse.Argumen…