2011-06-09 78 views
4

我想在Hadoop的帮助下训练一个神经网络。我们知道在训练神经网络时,每次迭代都会改变每个神经元的权重,并且每次迭代都依赖于前一次迭代。我是Hadoop的新手,对其提供的功能不太了解。我可以用方法addDependingJob()的帮助来链接迭代,强调依赖性吗?或者在Hadoop的帮助下可以使用其他技巧来实现NN。我可以使用hadoop训练一个中性网络吗?

任何意见将不胜感激。

感谢和最好的问候。

+1

我认为在Mahout邮件列表上有一个建议,但是从未实现:https://issues.apache.org/jira/browse/MAHOUT-364。最后我听说人们正在寻找Hadoop的Neuroph(http://neuroph.sourceforge.net/)插件。 – diliop 2011-06-09 18:23:00

+0

我听说Neuroph的东西被接受为GSoC项目,但除此之外我不知道。 – ajduff574 2011-06-09 20:05:39

+0

@diliop谢谢,那个链接是有道理的。:-) – 2011-06-10 11:01:14

回答

3

你可以自己写。如果你知道如何从零开始编写单核的Bacvk传播。它可以很容易地迁移到Mapreduce方法。 HDFS缓存应该存储当前的神经元权重,并且每个地图作业应该在训练实例中评估它们的更新,然后减少应该总结所有这些更新并将它们放入cachce。