基于种群的神经网络训练知识共享
1. 引言
如今,由于易于使用的工具和广泛的架构,创建深度神经网络模型变得更加容易。有许多不同的架构可供选择,如 AlexNet、ResNet、WideResNet 或 SqueezeNet。然而,在训练阶段,它们仍然需要精心选择一组超参数。与通过应用梯度下降的优化器学习的权重参数不同,超参数(如丢弃概率或学习率)不能包含在优化器中或成为其一部分。一组超参数在训练初期可能适用,但在后期可能变得不可行。此外,即使使用相同的超参数设置,由于初始权重、小批量洗牌等随机因素,网络的权重也可能会有不同的发展。
最近,有人提出了一种新的异步进化算法(EA),即基于种群的训练(PBT)。该方法创建一个网络模型种群,传递表现良好的权重并变异超参数。虽然好的模型会覆盖表现不佳的模型的权重,但 PBT 每次选择时总是只继承一个个体的权重,而忽略种群中其他个体的知识。在最坏的情况下,这可能导致种群个体之间的多样性不足,从而陷入次优权重。为避免此问题,可以增加种群大小,但这也需要更多的计算资源。
在这项工作中,我们提出了一种对 PBT 的新颖扩展,即实现跨代知识共享。我们采用了一种受 Hinton 等人启发的知识蒸馏策略,将最佳个体关于训练数据的知识单独存储,并通过损失函数反馈给所有个体。
2. 基于知识共享的种群训练
2.1 基于种群的训练
首先,创建一个包含 N 个个体的种群,并为每个个体启动一个异步进化过程,该过程运行 G 代。一个个体由其网络权重 θ、超参数 h、当前适应度 p 和当前更新步骤 t 组成。有一个训练集 $(X_{train}, Y_{train}) = {(x_1, y_1), …