gpt4 book ai didi

machine-learning - 通过异步训练更新 SGD 权重空间

转载 作者:行者123 更新时间:2023-11-30 09:37:43 25 4
gpt4 key购买 nike

我正在寻找创造性的方法来加快我的神经网络的训练时间,也可能减少梯度消失。我正在考虑将网络分解到不同的节点上,在每个节点上使用分类器作为反向传播“助推器”,然后将节点堆叠在一起,每个节点之间的连接稀疏(在没有以太网的情况下我可以摆脱尽可能多的连接)饱和度使其毫无意义)。如果我这样做,我不确定是否必须在节点之间维护某种状态并在同一个示例上同步训练(可能达不到加速过程的目的),或者我可以简单地对相同的数据进行异步训练。我想我可以,并且权重空间仍然可以更新并沿着节点之间的稀疏连接传播,即使它们正在不同的示例上进行训练,但不确定。有人可以确认这是可能的或解释为什么不可以吗?

最佳答案

可以按照您的建议进行操作,但是对于一个人来说这是一项艰巨的工作。我知道的最新示例是“DistBelief”框架,由 Google 的一个大型研究/工程团队开发 - 请参阅 2012 年 NIPS 论文 http://static.googleusercontent.com/media/research.google.com/en//archive/large_deep_networks_nips2012.pdf .

简单地说,DistBelief 方法对神经网络中的单元进行分区,以便集群中的每个工作机器负责整个架构的一些不相交的子集。理想情况下,选择分区以最大程度地减少所需的跨机器通信量(即通过网络图的最小切割)。

工作人员在本地为其网络部分执行计算,然后根据跨机器边界的链接需要向其他工作人员发送更新。

参数更新由单独的“参数服务器”处理。工作人员将梯度计算发送到参数服务器,并定期从服务器接收更新的参数值。

整个设置异步运行并且运行良好。由于计算的异步性质,给定计算的参数值可能是“过时的”,但它们通常不会相差太远。而且加速效果相当不错。

关于machine-learning - 通过异步训练更新 SGD 权重空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31901422/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com