神经网络如何在线学习(online learning)

背景:
  用神经网络大部分情况下都是离线训练模型,在线预测。但是现实情况是,不断有样本过来,如果固定时间(每天/每周)来重新训练全集,或者fine tune增量学习,还是无法达到近实时的在线学习的效果。
  不管是搜索引擎,推荐系统,新闻分类等等场景,实时性要求较高,最近的行为往往能推荐出用户最想要的商品。
目的:
  做一个自动学习机,上完线不管了,神经网络自己增量学习,省事省力。
问题:
  1. 神经网络能否做在线学习(online learning)来达到实时效果,实时分类/推荐?效果如何?
  2. 在线学习是否只是基于一个模型,简单设置batch size = 1,对新增的每一条数据fine tune train?然后生成模型并上线?这样好麻烦,能否在线实时更新权重,不需要重新部署?基于caffe框架怎么做?
已邀请:

刘昕_ICT

赞同来自: last_one

昨天我们在群里面讨论过这个问题,总结如下:
1)batchsize = 1不可以的,这会导致梯度计算不可靠,同时对每一条新增数据进行fine-tune并实时上线也并无必要。
2)fine-tune不能简单的等价于on-line learning, 如果只对新增的数据进行fine-tune有较大的过拟合到增量数据上的风险,建议全量更新。
3)这个问题本质上是生产环境下DL模型的运维问题。

老马丁 - 老顽童

赞同来自:

我不知道理解的对不对,觉得从本质上说,应该不是DL模型的运维问题,从本质上说CNN这种模型是并不适合这种在线学习方式的,有没有其他模型适合这种方式?在某种程度上,这种模型应该是有“记忆”的,是不是有这方面的研究工作?但似乎这方面的研究不是太多。
http://arxiv.org/abs/1509.00913

要回复问题请先登录注册