Distributed SAGA Maintaining linear convergence rate with limited communication
分布式SAGA:在有限通信条件下保持线性收敛速度
Abstract
减小方差的随机方法
一、Introduction
解决问题:强凸函数和的最小化
f
(
w
)
=
∑
i
=
1
N
f
i
(
w
)
f(w)=\sum^N_{i=1} f_i(w)
f(w)=i=1∑Nfi(w)
f
i
f_i
fi 是特定数据点的损失,
N
N
N 是训练集的大小
两种方法:
- 批处理方法:如柯西
- 随机方法
现有随机方差减小:SDCA、SVRG、SAGA、MISO
这些方法假定所有示例都在一个机器上,且可立即访问参数向量。
导致两个问题:
- 许多方法要求线性存储,对于大型数据集不切实际 (SVRG用收敛速度换取内存需求)
- 不能利用大型机器集群。收敛速度不如L-BFGS(批处理方法)
分布式随机方法还可以使用一个或多个参数服务器(Downpour SGD)
二、Distributed SAGA
假设有 K K K 台机器,每台机器都可以访问数据点的一个子集。
每台机器存储数据点子集和相关梯度。通信成本过高。
SAGA:为每个数据点计算的最后一个梯度保存在内存中。
这些梯度是在不同时间使用不同的参数向量值计算的。
分布式SAGA不更新所有梯度(来自其他节点的陈旧梯度)
每隔一段时间,每个节点就会向其他节点传递其在参数空间中的当前位置以及存储的梯度之和。2.1. Algorithm
dSAGA:
- 模型参数 w k t , u w_k^{t,u} wkt,u : t t t 是同步的索引, u u u 是自上次同步以来的迭代。
- 节点 k k k 上的第 i i i 个点由配对 ( i , k ) (i,k) (i,k) 表示, f k , i f_{k,i} fk,i 表示梯度 g k , i g_{k,i} gk,i 的损失,节点 k k k 的梯度为 g k = 1 K ∑ i g k , i g_k=\frac{1}{K}\sum_ig_{k,i} gk=K1∑igk,i
-
g
^
k
(
w
k
t
,
u
)
\hat{g}_k(w^{t,u}_k)
g^k(wkt,u) 是节点
k
k
k 在模型参数
w
k
t
,
u
w^{t,u}_k
wkt,u 上的平均梯度近似。
即 当节点 k k k 到达 w k t , u w^{t,u}_k wkt,u 时,我们查看节点 k k k 上所有点的存储 g k , i ( ϕ k t , u ) g_{k,i}(\phi^{t,u}_k) gk,i(ϕkt,u) ,令 g ^ k ( w k t , u ) = 1 K ∑ i g k , i ( ϕ k t , u ) \hat{g}_k(w^{t,u}_k)=\frac{1}{K}\sum_ig_{k,i}(\phi^{t,u}_k) g^k(wkt,u)=K1∑igk,i(ϕkt,u) - 与其他节点同步之前,每个节点将执行 U U U 回遍历数据,每个节点有 N K \frac NK KN 个数据点,故, U = u N K U=\frac{uN}{K} U=KuN
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。