【问题标题】:Training neural network for updated data为更新数据训练神经网络
【发布时间】:2020-11-03 01:29:33
【问题描述】:
我有一个神经网络,它已经在一些数据集上进行了训练。假设数据集最初有 10k 个数据点,现在又添加了 100 个数据点。我的神经网络有没有办法在不从头开始训练的情况下学习整个(更新的)数据集?此外,灾难性干扰是否适用于此?我知道当 NN 试图学习“新信息”时,灾难性干扰是适用的,但我不确定“更新(由于插入)信息”是否算作“新信息”。
【问题讨论】:
标签:
machine-learning
deep-learning
neural-network
online-machine-learning
【解决方案2】:
Online Learning 指的是适应增量可用/持续输入数据流的模型。
灾难性干扰确实是一个问题,具体取决于您的模型、数据和问题。
如果你假设:
- 您的新数据 D2 是 i.i.d,从与原始数据集 D1 相同的分布中采样
- 您的原始模型是使用数据集的“小批量”训练的
- D2 的大小 >= 使用的 minibatch 的大小
您可以将 D2 拆分为新的 mini-batch,然后从上次中断的地方继续训练。
但如果不是这种情况,它确实很可能容易受到灾难性遗忘的影响,因为任务名义上是相同的,但域(数据的基础分布)正在发生变化。在这种情况下,如果对整个(更新的)数据集进行重新训练不可行,您将需要研究专门用于缓解这种情况的 Continual Learning 方法。