深度学习中online train和offline train

解答1:
离线学习,通常是用来训练大的或者复杂的模型,因为训练的过程往往比较耗时,处理数据量大,无法在线完成。
而在线学习往往是对即时性要求比较高的场景,但往往是处理简单的模型或者数据量较少的模型。在线学习和离线学习经常是结合使用,比如离线训练一个复杂的模型,在线进行微调;还有就是离线训练好模型,在线利用训练好的模型做预测或者判别。

在线学习(online learning)中, 数据可能是以流式的形式, 比如监控视频, 一直在拍, 我们根据目前看到的这部分的数据进行训练, 几秒后的数据不能用来训练. 在线算法按照顺序处理数据。它们产生一个模型,并在把这个模型放入实际操作中,而不需要在一开始就提供完整的的训练数据集。随着更多的实时数据到达,模型会在操作中不断地更新

在离线学习中,所有的训练数据在模型训练期间必须是可用的。只有训练完成了之后,模型才能被拿来用。简而言之,先训练,再用模型,不训练完就不用模型。

总结一下就是:离线看到全局,在线只关注当前。

参考:深度学习中online training 和offline training是什么?

解答2:
在离线学习中,所有的训练数据在模型训练期间必须是可用的。只有训练完成了之后,模型才能被拿来用。简而言之,先训练,再用模型,不训练完就不用模型。

在在线学习中,恰恰相反,在线算法按照顺序处理数据。它们产生一个模型,并在把这个模型放入实际操作中,而不需要在一开始就提供完整的的训练数据集。随着更多的实时数据到达,模型会在操作中不断地更新。

解答3:
在这一次训练中:

在线学习:一个数据点训练完了直接更新权重(而不是一个batch),

离线学习:一个batch训练完才更新权重,这样的话要求所有的数据必须在每一个训练操作中(batch中)都是可用的

这种理解方式在国外论文中出现比较多,国外称为online and batch learning.离线就是对应batch learning.这两种方式各有优点,在线学习比较快,但是有比较高的残差,离线(batch)学习能降低残差。

参考:机器学习中的在线学习与离线学习

你可能感兴趣的:(CV修炼手册,深度学习,人工智能,机器学习)