Bilibili视频-知识蒸馏笔记

Bilibili视频-知识蒸馏笔记

视频链接:【精读AI论文】知识蒸馏

轻量化神经网络

  • 压缩已训练好的模型:知识蒸馏,权重量化,剪枝(权重剪枝、通道剪枝),注意力迁移
  • 直接训练轻量化网络:SqueezeNet, MobileNet, Mnasnet, shuffleNet, Xception. EfficientNet, EfficientDet
  • 加速卷积运算:im2col+GEMM, Winograd, 低秩分解
  • 硬件部署:TensorRT, Jetson, Tensorflow-slim, Tensorflow-lite, Openvino, FPGA, 集成电路

Distilling the Kownledge in a Neural Network

知识的表示与迁移

soft Target and hard Target

蒸馏温度 T T T
q i = exp ⁡ ( z i / T ) ∑ j exp ⁡ ( z j / T ) q_i=\frac{\exp \left(z_i / T\right)}{\sum_j \exp \left(z_j / T\right)} qi=jexp(zj/T)exp(zi/T)
利用该公式可以让标签变得更加soft

举例:

Bilibili视频-知识蒸馏笔记_第1张图片

知识蒸馏的过程

Bilibili视频-知识蒸馏笔记_第2张图片

  • distillation loss:学生网络需要在 T = t T=t T=t的条件下的输出与教师网络的输出进行损失计算;

  • student loss:需要在 T = 1 T=1 T=1的时候与标签hard label进行损失计算。

Total loss = α×distillation loss + β×student loss

Bilibili视频-知识蒸馏笔记_第3张图片

实验结果

实验结果表明学生网络可以学习到在训练时没有提到的信息(如类别)但是该信息在教师网络训练中提到了。可以类比为教师可以把自己学到的知识教给不会该知识的学生,让该学生学会该知识。

Bilibili视频-知识蒸馏笔记_第4张图片

上图的实验结果表明经过知识蒸馏后,学生网络的表现与教师网络几乎相同。

Bilibili视频-知识蒸馏笔记_第5张图片

上图表示使用Soft Targets可以有效的防止过拟合。

知识蒸馏的应用场景

  • 模型压缩
  • 优化训练,防止过拟合
  • 无限大、无监督数据集的数据挖掘
  • 少样本、零样本学习
  • 迁移学习和知识蒸馏

知识蒸馏背后的机制

Bilibili视频-知识蒸馏笔记_第6张图片

使用知识蒸馏让学生网络的收敛空间向教师网络的收敛空间靠拢。

知识蒸馏发展趋势

  • 教学相长(学生帮助老师)
  • 助教(多个老师、同学)
  • 知识的表示(中间层)、数据集蒸馏、对比学习

知识蒸馏发展趋势

  • 教学相长(学生帮助老师)
  • 助教(多个老师、同学)
  • 知识的表示(中间层)、数据集蒸馏、对比学习
  • 多模态、知识图谱、预训练大模型的知识蒸馏

你可能感兴趣的:(NLP,笔记,深度学习笔记,自然语言处理,深度学习)