论文链接:Net2Net: ACCELERATING LEARNING
VIA KNOWLEDGE TRANSFER
什么是Net2Net?
Net2Net(Net to Net) 是利用知识迁移来解决大型网络的训练速度慢的问题,例如先训练一个小的网络,然后Net2Net,训练一个更大的网络,训练更大的网络时可以利用在小网络中已经训练好的权重,使得再训练大型的网络速度就变的非常快,利用小网络的权重的这个过程就是知识迁移的过程。
真实场景下的机器学习系统,最终都会变成终身学习系统(Lifelong learning system),不断的有新数据,通过新的数据改善模型,刚开始数据量小,我们使用小的网络,可以防止过拟合并加快训练速度,但是随着数据量的增大,小网络就不足以完成复杂的问题了,这个时候我们就需要在小网络上进行扩展变成一个大网络了。
那么如何操作才能使得网络的拓扑结构改变后还能利用旧网络的权重呢?
改变拓扑结构但是不改变网络的效果,对于同样的输入有同样的输出。
如何进行Net2Net?
我们定义两个操作 Net2WiderNet 和 Net2DeeperNet
Net2WiderNet
Net2WiderNet 操作使得某一层更宽,例如让全连接层