并行计算

卷积层:计算量大,参数少

数据并行是把训练数据分成多份,在不同机器训练,然后参数更新到parameter server;
 
数据并行是指对训练数据做切分,同时采用多个模型实例,对多个分片的数据并行训练。要完成数据并行需要做参数交换,通常由一个参数服务器(Parameter Server)来帮助完成。在训练的过程中,多个训练过程相互独立,训练的结果,即模型的变化量ΔW需要汇报给参数服务器.数据并行有同步模式和异步模式之分。

 

全连接层:计算量小,参数多

模型并行会把模型分区,分配到不同的机器分别运行(按功能,层次),因为参数间存在依赖关系,需要调度器;

模型并行将模型拆分成几个分片,由几个训练单元分别持有,共同协作完成训练。当一个神经元的输入来自另一个训练单元上的神经元的输出时,产生通信开销。多数情况下,模型并行带来的通信开销和同步消耗超过数据并行,因此加速比也不及数据并行。但对于单机内存无法容纳的大模型来说,模型并行是一个很好的选择

 

 


数据并行的训练程序太多时,不得不减小学习率,以保证训练过程的平稳;模型并行的分片太多时,神经元输出值的交换量会急剧增加,效率大幅下降。因此,同时进行模型并行和数据并行也是一种常见的方案。

 

模型平均

 

   在这个场景中,我们有4个独立的worker,每个worker都有一个随机初始化的模型。为了简化情况,假设我们可以直接从损失函数E(θ)中获得梯度。在模型平均中,每个worker只在自己本地的local模型中应用梯度下降,而不与其他worker通信。在一个epoch结束之后,如中间的图所示,对这些模型进行平均以产生一个central model。在下一个epoch,central model将被用作所有worker的初始模型。

 

 

 

持续更新

http://blog.csdn.net/xiaoyezi_1834/article/details/51605048

https://www.cnblogs.com/ranjiewen/p/5938944.html

 

动量 :http://blog.csdn.net/yinruiyang94/article/details/77944338

 

梯度下降优化:https://www.cnblogs.com/ranjiewen/p/5938944.html

 

过拟合:http://blog.csdn.net/heyongluoyao8/article/details/49429629

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值