PISR - yubo105139/paper GitHub Wiki

TOC

Learning with Privileged Information for EfficientImage Super-Resolution(2020)

目的:压缩SR模型并保持其超分效果。

主要思想:

通常的SR方法仅将HR作为训练时候的GT,HR图像包含LR图像的互补信息(例如,高频分量)。这里HR 图像作为特殊的先验信息去提取特征,将其应用于SR。

方案设计:

HR信息的使用方法:对原始的知识蒸馏方法做改进,HR输入教师网络,学生网络学习特征。

  • 教师网络是一个hourglass结构,对输入HR,先进行encoder,再进行decoder。

  • encoder 提取HR的 compact features,使用imitation loss,使该特征尽可能和LR相似。

  • decoder网络和学生网络一样。

  • 通过基于互信息的特征蒸馏方法,学生网络学习教师网络在decoder阶段的特征。

详细设计

estimator module :取中间学生网络中间的feature map,并输出location和scales maps

教师网络

  1. 输入

    ground-truth HR images

  2. 网络结构

    • encoder-decoder

    对于一个LR-HR对,encoder输入HR,输出与LR 图像size相同的特征。decoder将该低维特征作为输入,重建得到HR` 。

    • decoder结构和学生网络一样。
  3. 损失函数

    • imitation loss

      限制encoder输出特征的表达,使其更接近LR图。使用特征图和LR图的平均绝对误差

    • reconstruction loss

    HR图和重建结果的平均绝对误差

    ./PISR.media/teacher_MAE.png

    • total loss

学生网络

  1. 输入LR;输出生成的HR

  2. 网络结构

    • 与教师网络的decoder结构一致使用FSRCNN

    • 学生网络训练时使用decoder的参数进行初始化,转移教师网络的重构能力。(实验验证该方法的有效性)

  3. 损失函数

    虽然和decoder初始化参数相同,但是输入不同。使用蒸馏损失和重建损失进行进一步训练。

    • reconstruction loss

      和教师网络的计算方法一致

    • distillation loss

      参照VID蒸馏,使用互信息的方法。基于 $f^t$和$ f^t$ 的互信息,用拉普拉斯分布来近似条件概率,其中拉普拉斯分布的参数Estimator module学习得到。

      student feature 输入Estimator module得到拉普拉斯密度函数的位置$u$和尺度参数$b$。用该分布去近似教师和学生特征的条件概率。

      image-20201209171408590

      其参照VID,VID使用的高斯分布进行的近似,上式使用的是Laplace分布。

      image-20201209174913259

  4. Estimator module

    两个相同网络结构的分支模块(1×1conv+PReLU),分别输入学生网络decoder输出的特征$f^s$, 一个预测location $u$,一个预测 scale $b$,scale 模块末尾使用softplus : $ζ(x) = log(1 + ex )$, 以使得scale参数为正。

    该模块只在训练时用到。

实验设计

实验设置

  1. 网络设置

(conv+PReLU)×[5*5, 5*5, 3*3,3*3],第二个block,stride为scale factor

  1. 参数设置

DIV2K数据集上使用图搜索,模仿损失和蒸馏损失的权重分别设置为$λ^T = 10^{−4} , λ^S = 10^{−6}$

HR patch size 192 × 192, LR patch size 96 x 96 , scale factor 2

教师网络随机初始化, batch size 16, Adam

  1. 评价设置

Set5 [5], Set14 [59], B100 [40], and Urban100

PSNR ,SSIM

各个设计组件测试

scale 2, Set5, psnr

  • 教师网络使用沙漏结构的影响
  • 学生网络初始化使用decoder的参数
  • 教师网络使用imitation loss, 使encoder输出逼近LR
  • 蒸馏损失使用互信息方法(高斯分布,拉普拉斯分布)

对encoder生成特征compact feature 的分析

在空间阈和频阈对其进行分析。 使用2Dfft算法将图像从空间域变到频率域,分析像素值分布。

结果证明了:

  • 不管是否使用Lim ,compact feature 相比LR携带更多的高频细节。
  • compact feature包含更多信息。因为相同结构的student和teacher decoder的网络,后者重建效果更好
  • imitatioin loss的必要性。不经过imitatioin loss的 compact feature 和LR的像素分布区别很大,不利于weight transfer。

与原始FRCNN以及其他SOA模型的比较

scale 2,3,4 , HR 1280 × 720

比较PSNR, SSIM, 模型参数大小,推导时间等。

比较重建结果

证明了:

  • 添加HR作为特权信息的方法效果有提升。

  • 使用的蒸馏方法实现了模型压缩效果和超分效果的平衡

  • 将FSRCNN网络替换为其他SR网络如VDSR, CARN, 使用该设计方法效果都有提升。

image-20201209160835172

supplement:(VID互信息蒸馏)

Paper:Variational Information Distillation for Knowledge Transfer

定义互信息:

I(f^t; f^s) = H(f^t) - H(f^t|f^s)

MI可以表示两个变量的依赖程度,MI越大,表明两者的输出越相关。

image-20201209172849112

则如下loss函数来增大teacher和student之间的输出特征的互信息:

image-20201209173008589

采用另外一个分布来近似这个分布的做法,并使用变分信息最大化 的方法求解变分下界(variational low bound)

image-20201209173048193

I(f^t;f^s) = \sum_{f^t\in F^t}\sum_{f^s\in F^s}p(f^t, f^s)log\frac{p(f^t|f^s)}{p(f^t)}

真实分布$logp(t|s)$的期望等于变分分布$E_{t,s}[logq(t|s)]$的期望+两个分布的KL散度期望。因为KL散度的值是恒大于0的,所以得到变分下界。H(t)由于和待优化的student参数无关,所以是常数。loss函数变为:

image-20201209173614299

所以只需要计算 $E_{t,s}[log q(t|s)]$

然后联合的训练学生网络利用target task和最大化条件似然去拟合teacher网络得到的激活。

image-20201209174221342

Laplace 分布的密度函数如下:

f(x|\mu,b) = \frac{1}{2b} e^{\frac{|x-\mu|}{b}}

$\mu$是位置参数,$b$是尺度参数。拉普拉斯分布的期望为$\mu$,方差为 $2b^2$ ,偏度为0,峰度为3。

服从拉普拉斯分布的随机变量,出现极端大的值的概率,要远远大于正态分布。

image-20201209175203407