直入主题。
我的神经网络是经典的前馈反向传播网络。我有一个历史数据集,包括:
时间、温度、湿度、压力
我需要根据历史数据来预测下一个值。
这个数据集大约有 10MB,因此在一个核心上进行训练需要很长时间。我想使用多核心进行训练,但我不明白每个核心对训练数据做了什么,以及核心完成工作后会发生什么。
根据:http://en.wikipedia.org/wiki/Backpropagation#Multithreaded_Backpropagation
训练数据被分成相等大小的批次分配给每个线程。每个线程执行前向和反向传播。每个线程的权重和阈值增量被求和。在每次迭代结束时,所有线程都必须暂停一下,以便将权重和阈值增量求和并应用于神经网络。
'每个线程都会执行前向和后向传播' - 这意味着,每个线程只是用其数据集的一部分进行自我训练,对吧?每个核心的训练迭代次数是多少?
'在每次迭代的结束时,所有线程都必须暂停一下,以便将权重和阈值增量求和并应用于神经网络' - 这到底是什么意思?当核心完成其数据集的训练时,主程序会做什么?
感谢您对此的任何帮助!