跳转至

5.7 消融实验

消融实验


学习目标

  • 理解消融实验的概念和原理.
  • 掌握消融实验在模型调优中的应用.

消融实验的概念和原理

  • 术语"消融研究"通常用于神经网络, 尤其是相对复杂的神经网络. 核心思想是通过删除部分网络并研究网络的性能来更深入的考察网络.

  • ablation experiment: 原意是医学术语, 通过机械方法切除身体组织, 如通过手术从身体中去除, 尤指器官, 异常生成或有害物质.


  • 消融实验的起源是2018年6月由Keras的主要作者Francois Chollet提出, 他主张在目前的深度学习中, 理解系统中的因果关系是产生可靠知识的最直接方式, 消融实验是一种非常省力的研究因果关系的方式.

  • 比如作者提出在进行图像搜索的时候, 要面对一个大的卷积神经网络(共有5个卷积层, 2个全连接层), 为了更好的理解该系统, 作者进行了一项消融实验, 系统中的各个子层被依次移除(比如移除掉第2个卷积层, 或移除掉第1个全连接层等), 实验发现移除网络中的1个或2个全连接层, 只保留卷积层, 所导致的性能损失惊人的小!!! 因此得出结论: CNN的大部分代表性力量来自卷积层, 而不是来自更多参数的全连接层!!!


  • 形象化的例子: 小明同学发明了一种非常美味的馅饼A, 创新点是因为加了豆沙和红糖, 味道更好吃了. 消融实验的做法就是你要做一个馅饼B, 单独添加豆沙; 再做一个馅饼C, 单独添加红糖. 然后再综合评判馅饼A, B, C哪个更好吃? 还是说某两个一样好吃? 哪个策略作用更大? 这样的话馅饼的改良策略就非常清晰了.

消融实验的应用

  • 比如在从BERT向AlBERT进化的过程中, 删除NSP任务, 添加SOP任务, 也是消融实验的一种.

  • 比如在T5模型中, 不同的Encoder和Decoder的组合, 进行不同的对比实验, 也是消融实验的一种.

  • 同学们在自己的模型搭建中, 也可以加入消融实验, 比如你的迁移学习模型是如何微调的, 你的量化模型, 剪枝模型, 知识蒸馏模型, 多方对比来验证网络的哪些部分对最终的性能更加重要? 哪些模型鲁棒性更强? 最终来更好的验证自己的模型是更优的.


小节总结

  • 本小节学习了消融实验的概念和原理.

  • 在投满分项目上进行了消融实验的初步应用.