一段话总结
随着深度学习发展,大规模训练神经网络常用异步随机梯度下降(ASGD),但它存在梯度延迟问题。本文提出延迟补偿的ASGD(DC-ASGD)算法,利用泰勒展开和海森矩阵近似来补偿梯度延迟。通过实验在CIFAR10和ImageNet数据集上验证,DC-ASGD收敛速度更快、模型精度更高,几乎接近顺序SGD的性能,在大规模训练中优势明显,为深度学习优化算法提供了新方案。
思维导图
详细总结
-
研究背景:深度学习发展促使大规模训练神经网络,随机梯度下降(SGD)算法的并行化常用同步(SSGD)和异步(ASGD)方式。ASGD虽效率高,但存在梯度延迟问题,即本地worker计算的梯度基于旧模型,添加到已更新的全局模型时会导致训练轨迹不稳定,影响收敛速度和模型精度。
-
方法提出
- 梯度分解:通过泰勒展开 发现,ASGD使用零阶项近似,忽略高阶项导致梯度延迟。理论上可用完整泰勒展开补偿,但实际不可行,保留一阶项又涉及海森矩阵计算,复杂度高。
- 海森矩阵近似:证明梯度外积是海森矩阵的渐近无偏估计,引入权重λ控制近似的偏差和方差,采用对角化技巧存储近似矩阵,降低存储和计算成本。
- DC-ASGD算法:利用近似海森矩阵补偿梯度延迟,更新规则为 。算法分为本地worker和参数服务器两部分,本地worker拉取、计算和推送梯度,参数服务器更新模型,且该算法额外开销小。
-
实验验证
- 实验设置:使用CIFAR10(50k训练图像、10k测试图像,10类)和ImageNet(128万训练图像、50k验证图像,1000类)数据集,选择ResNet模型,在GPU集群上实验,对比DC-ASGD、ASGD和SSGD算法。
- 实验结果:在CIFAR10数据集上,训练160轮,DC-ASGD不同版本(DC-ASGD-c、DC-ASGD-a)在不同worker数量下,测试误差均优于ASGD和SSGD,接近或超过顺序SGD。如 时,DC-ASGD-a测试误差为8.19%,优于顺序SGD的8.65% 。在ImageNet数据集上,训练120轮,DC-ASGD-a的测试误差为25.18%,低于ASGD的25.64%和SSGD的25.30%。
-
结论展望:DC-ASGD算法有效解决了ASGD的梯度延迟问题,在收敛速度和模型精度上表现出色,几乎达到顺序SGD的性能。未来计划在更大计算机集群测试,研究泰勒展开高阶项的经济近似,以实现更有效的延迟补偿。
数据集 | 算法 | 测试误差(%) | 训练轮数 | 其他关键设置 |
---|---|---|---|---|
CIFAR10 | SGD | 8.65 | 160 | mini-batch size为128,初始学习率0.5,80和120轮后降为十分之一 |
CIFAR10 | ASGD(M=4) | 9.27 | 160 | mini-batch size为128,初始学习率0.5,80和120轮后降为十分之一 |
CIFAR10 | DC-ASGD-c(M=4) | 8.67 | 160 | mini-batch size为128,初始学习率0.5, ,80和120轮后降为十分之一 |
CIFAR10 | DC-ASGD-a(M=4) | 8.19 | 160 | mini-batch size为128,初始学习率0.5, ,m=0.95,80和120轮后降为十分之一 |
ImageNet | ASGD | 25.64 | 120 | mini-batch size为32,初始学习率0.1,每30轮降为十分之一 |
ImageNet | DC-ASGD-a | 25.18 | 120 | mini-batch size为32,初始学习率0.1, ,m=0,每30轮降为十分之一 |
关键问题
-
DC-ASGD与ASGD相比,在收敛速度和精度上为何有优势?
- 答案:DC-ASGD利用泰勒展开和海森矩阵近似补偿梯度延迟,使更新更接近正确梯度。理论上,在一定条件下收敛速度与ASGD相同,但对延迟更具容忍性。实验中,在CIFAR10和ImageNet数据集上,DC-ASGD收敛更快,精度更高,如在CIFAR10数据集上,DC-ASGD-a在 时测试误差为8.19%,而ASGD为9.27% 。
-
海森矩阵近似在DC-ASGD中起到什么作用?
- 答案:海森矩阵近似是DC-ASGD的关键。通过证明梯度外积是海森矩阵的渐近无偏估计,并引入权重λ优化,采用对角化技巧,降低了计算和存储复杂度。利用近似海森矩阵计算补偿项,使DC-ASGD能更准确地更新模型,提高收敛速度和精度,同时保持与ASGD相似的计算和通信成本。
-
在不同数据集上,DC-ASGD的表现有何差异?
- 答案:在CIFAR10数据集上,DC-ASGD不同版本在不同worker数量下,测试误差均优于ASGD和SSGD,接近或超过顺序SGD。在ImageNet数据集上,DC-ASGD同样优于ASGD和SSGD,但由于数据集规模和特性不同,训练参数和效果有差异。如在ImageNet数据集上训练轮数为120轮,CIFAR10为160轮,且ImageNet数据量大,对模型训练影响不同,DC-ASGD在ImageNet上的测试误差为25.18%,在CIFAR10上 时DC-ASGD-a的测试误差为8.19% 。