起源,发展
Knowledge Distillation,KD,2015
Hinton在2015年提出知识蒸馏。(基础,奠定开山之作)
使用教师模型的输出logits作为软标签,通过调整温度参数来让学生模型学习。
论文:Distilling the Knowledge in a Neural Network
模型压缩,2018
结合量化与蒸馏的技术,这样可以在压缩模型大小的同时保持性能。
论文:Model compression via distillation and quantization
Patient Knowledge Distillation,Patient-KD,2019
针对BERT模型的一种蒸馏方法,学生从教师多个中间层学习,不仅限于学习最后一层,属于中间层蒸馏的一种。
参考链接:什么是Patient-KD?DistilBERT?
BERT预训练模型对资源的高需求导致其很难被应用在实际问题中,为缓解这个问题,论文中提出了Patient Knowledge Distillation(Patient KD)方法,将原始大模型压缩为同等有效的轻量级浅层网络。
作者提出一种假设,在知识蒸馏的过程中过拟合会导致泛化能力不良。为缓解这个问题,论文中提出一种**“耐心”师生机制**,即让Patient-KD中的学生模型从教师网络的多个中间层进行知识提取,而不是只从教师网络的最后一层输出中学习。
论文:Patient Knowledge Distillation for BERT Model Compression
Patient-KD中提出如下两个知识蒸馏策略:
- PKD-Skip: 从每k层学习,这种策略是假设网络的底层包含重要信息,需要被学习到。
- PKD-Last: 从最后k层学习,假设教师网络越靠后的层包含越丰富的知识信息。
尽管这两种策略都比vanilla KD有所改进,但PKD-Skip的表现略好于PKD-Last。作者推测,这可能是由于每k层的信息提炼捕获了从低级到高级的语义,具备更丰富的内容和更多不同的表示,而只关注最后k层往往会捕获相对同质的语义信息。

最低0.47元/天 解锁文章
1423

被折叠的 条评论
为什么被折叠?



