Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Machine learning 当通过多个线程训练神经网络时,没有数据访问同步是正常的吗?_Machine Learning_Neural Network_Nlp_Word2vec - Fatal编程技术网

Machine learning 当通过多个线程训练神经网络时,没有数据访问同步是正常的吗?

Machine learning 当通过多个线程训练神经网络时,没有数据访问同步是正常的吗?,machine-learning,neural-network,nlp,word2vec,Machine Learning,Neural Network,Nlp,Word2vec,我查看了,如果我理解正确的话,在通过多个线程训练神经网络时,没有数据访问同步(矩阵syn0、syn1、syn1neg的同步)。这是训练的正常做法,还是一个错误?也许与直觉相反,这是正常的。这方面的一项开创性工作是2011年的《霍格威德》论文: 其摘要: 随机梯度下降(SGD)是一种流行的算法,可以 在各种机器学习上实现最先进的性能 任务。一些研究人员最近提出了一些解决方案 并行化SGD,但都需要破坏性能的内存锁定 和同步。这项工作的目的是显示使用新的理论 SGD可以实现的分析、算法和实现 没有

我查看了,如果我理解正确的话,在通过多个线程训练神经网络时,没有数据访问同步(矩阵syn0、syn1、syn1neg的同步)。这是训练的正常做法,还是一个错误?

也许与直觉相反,这是正常的。这方面的一项开创性工作是2011年的《霍格威德》论文:

其摘要:

随机梯度下降(SGD)是一种流行的算法,可以 在各种机器学习上实现最先进的性能 任务。一些研究人员最近提出了一些解决方案 并行化SGD,但都需要破坏性能的内存锁定 和同步。这项工作的目的是显示使用新的理论 SGD可以实现的分析、算法和实现 没有任何锁定。我们提出了一个名为Hogwild的更新方案,它允许处理器有可能访问共享内存 覆盖彼此的工作。我们证明了当关联的 优化问题是稀疏的,这意味着大多数梯度只更新 修改决策变量的一小部分,然后Hogwild实现 近似最优收敛速度。我们通过实验证明 Hogwild优于使用顺序锁定的替代方案 数量级

事实证明,同步访问比线程重写彼此的工作更能降低SGD的速度。。。一些结果甚至似乎暗示,在实践中,额外的“干扰”可能是优化过程的净收益