在神经网络中提炼知识

这是论文《在神经网络中提炼知识》的 PyTorch 实现/教程。

这是一种使用经过训练的大型网络中的知识来训练小型网络的方法;即从大型网络中提取知识。

当@@

直接在数据和标签上训练时,具有正则化或模型集合(使用 dropout)的大型模型比小型模型的概化效果更好。但是,在大型模型的帮助下,可以训练一个小模型以更好地进行概括。较小的模型在生产环境中会更好:更快、更少的计算、更少的内存。

训练模型的输出概率比标签提供的信息更多,因为它也将非零概率分配给不正确的类。这些概率告诉我们,样本有可能属于某些类别。例如,在对数字进行分类时,当给出数字 7 的图像时,广义模型将给出 7 的概率很高,为 2 提供一个小但非零的概率,同时为其他数字分配几乎为零的概率。蒸馏利用这些信息来更好地训练小型模型。

View Run