知识蒸馏与反向知识蒸馏

介绍一下这篇文章当时的创作灵感。

DiReDi: Distillation and Reverse Distillation for AIoT Applications

https://www.computer.org/csdl/journal/oj/2024/01/10766444/22ahPd7HBvO

知识蒸馏,说到底不就是老师教学生的过程吗?但问题是,老师教的内容和学生实际应用的环境可能不匹配,导致学生在真实世界中“掉链子”。

想象一下,一个学生在学校学了英语和德语,可当他来到瑞士日内瓦,发现这里的人都在说法语,他的语言模型瞬间“宕机”,推理出错。这就像知识蒸馏过程中,教师模型提供的训练数据与学生模型在真实应用中遇到的数据不一致,导致学生无法有效适应新环境。

作为一个热衷于“打报告”的前支书,我不禁思考:有没有办法让老师意识到自己教学中的偏差,从而调整教学内容,让学生更好地适应真实世界?直接上报新数据显然不行,既涉及隐私问题,也缺乏创新性,不够有趣。所以,我另辟蹊径,决定不上报数据,而是上报“知识的偏差”——也就是老师教的内容与学生真正需要的知识之间的差异。

为此,我安排了两个“校内辅导员”:

  • 第一位辅导员 模拟学生在真实环境中的实际表现,相当于记录学生学成后在日内瓦的真实反应。

  • 第二位辅导员 则模拟学生在该环境中“理想情况下”的表现,即如果掌握了真正需要的知识,他应该如何应对。

这两位辅导员通过逆向知识蒸馏实现。第一位辅导员用学生模型的输出来训练,错就是错,对就是对,忠实反映学生的现状。而第二位辅导员则基于学生本地的正确数据训练,来模拟“理想状态”。最终,这两个辅导员的模型参数之差,就代表了知识的偏差!把这个差异上传给“学校”,下一届学生在学习时就能得到更精准的指导。

但问题来了——我们发现学生在学习新知识时可能会遗忘旧知识。毕竟,逆向蒸馏依赖本地数据,而某些老师原本教授的知识可能因此被丢弃。例如,学生在瑞士待久了,可能完全忘记了英语。但如果英语还是个重要技能呢?

因此,我们在更新辅导员后,会检测他是否“忘记”了太多信息。如果关键知识仍然保留,就可以用这个更新后的辅导员来教新学生,确保他们在真实世界中游刃有余。

这就是 DiReDi 的核心思想:让知识蒸馏更符合真实应用环境,让学生(模型)能在任何地方都能“说得上话”!

https://www.computer.org/csdl/journal/oj/2024/01/10766444/22ahPd7HBvO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值