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
Multithreading 将两个神经网络合并为一个_Multithreading_Machine Learning_Neural Network_Fann - Fatal编程技术网

Multithreading 将两个神经网络合并为一个

Multithreading 将两个神经网络合并为一个,multithreading,machine-learning,neural-network,fann,Multithreading,Machine Learning,Neural Network,Fann,我正在尝试对库进行多线程扩展。因为FANN不是,所以我会这样做: 将训练集分成N个部分(N是CPU的数量) 将ANN复制到N个副本 训练每个人一个时代 将N个副本中的ANN权重合并 如果没有结束条件,转到2 我的问题是:如何将神经网络权重组合成一个。我能从所有的算法中得出平均值吗?这将是一种新的训练算法,我认为它的效果不如现有的算法。您可以制作网络的N个副本,并使用每个副本计算不同训练示例的梯度,然后将这些梯度相加,以相同的方式调整所有网络的权重。然后你会有N个相同的网络,我试过了,效果很好。非

我正在尝试对库进行多线程扩展。因为FANN不是,所以我会这样做:

  • 将训练集分成N个部分(N是CPU的数量)
  • 将ANN复制到N个副本
  • 训练每个人一个时代
  • 将N个副本中的ANN权重合并
  • 如果没有结束条件,转到2

  • 我的问题是:如何将神经网络权重组合成一个。我能从所有的算法中得出平均值吗?

    这将是一种新的训练算法,我认为它的效果不如现有的算法。您可以制作网络的N个副本,并使用每个副本计算不同训练示例的梯度,然后将这些梯度相加,以相同的方式调整所有网络的权重。然后你会有N个相同的网络,我试过了,效果很好。非常感谢。你是试了你的建议还是试了我的建议顺便说一句,当你复制所有网络时,你真的更快了吗?网络必须足够大,训练必须足够复杂,以补偿初始计算成本。我写下了你的建议。但它只是稍微快一点。但我必须复制安的作品。或者你推荐什么?我还认为我可以将这个算法与RPC结合使用,然后我还必须复制。首先,我认为从数学的角度来看,它没有意义/没有很好的定义。你的神经网络代表的是潜在的高度非线性函数——“组合”应该是什么意思/代表什么?它不仅仅是一个组合/聚合。。。