Skip to main content
QUICK REVIEW

[论文解读] optimParallel: an R Package Providing Parallel Versions of the Gradient-Based Optimization Methods of optim()

Florian Gerber, Reinhard Furrer|arXiv (Cornell University)|Apr 30, 2018
Machine Learning and Data Classification参考文献 3被引用 3
一句话总结

本文介绍了 optimParallel,一个 R 包,提供了 R 内置 optim() 函数中基于梯度优化方法的并行实现。通过利用 R 的词法作用域缓存并重用函数求值,该方法实现了目标函数与梯度的并发计算,使计算密集型函数(求值时间超过 0.05 秒)的优化时间最多减少至原来的 1+2p 分之一,尤其在使用解析梯度时效果显著。

ABSTRACT

The R package optimParallel provides a parallel version of the gradient-based optimization methods of optim(). The main function of the package is optimParallel(), which has the same usage and output as optim(). Using optimParallel() can significantly reduce optimization times. We introduce the R package and illustrate its implementation, which takes advantage of the lexical scoping mechanism of R.

研究动机与目标

  • 解决在 R 中使用 L-BFGS-B、BFGS 和 CG 等基于梯度的方法对计算密集型函数进行优化时耗时过长的问题。
  • 开发一个可直接替换 optim() 的工具,实现目标函数与梯度的并行求值,且无需更改接口。
  • 通过高效缓存函数求值,利用并行计算资源显著减少优化时间。
  • 在保持与原始 optim() 函数功能和结果兼容的同时,新增日志信息捕获和前向差分梯度近似等新功能。

提出的方法

  • 该包实现了一个包装函数 optimParallel(),其接口和输出与基础 R 函数 optim() 完全一致。
  • 利用 R 的词法作用域缓存目标函数(fn)和梯度(gr)的求值结果,避免在重复使用相同参数向量时进行冗余计算。
  • 在每次迭代中,使用多个处理器核心并行计算 fn() 和 gr(),当两者均被计算时,每次迭代的有效时间减少至 max(T_fn, T_gr)。
  • 当未提供解析梯度时,包使用前向差分近似,将每次迭代中 fn() 的求值次数从 1+2p 减少至 1+p。
  • 实现重用了 optim() 的稳定 C 代码,以保证结果完全一致,确保正确性与可重现性。
  • 通过 makeCluster 和 setDefaultCluster 与 R 的 parallel 包集成,以管理并行执行环境。

实验结果

研究问题

  • RQ1在 R 的 optim() 中并行计算目标函数与梯度是否能显著减少计算密集型函数的优化时间?
  • RQ2在不同函数求值时间和参数维度下,optimParallel() 相较于原始 optim() 函数的加速比如何?
  • RQ3使用解析梯度与数值梯度对并行优化方法的性能提升有何影响?
  • RQ4R 的词法作用域能否被有效利用,在并行优化环境中缓存并重用函数求值,而不会引入开销或错误?
  • RQ5optimParallel() 的并行开销在何种最小函数求值时间阈值以上才具有合理性?

主要发现

  • 对于求值时间超过 0.05 秒的函数,当提供解析梯度时,optimParallel() 可实现约 2 倍的加速。
  • 当未提供解析梯度时,加速比随参数数量增加而提升,理论加速比可达 1+2p,源于对 1+2p 个目标函数调用的并行计算。
  • optimParallel() 每次迭代的耗时始终接近 T_fn(即仅计算目标函数所需时间),无论参数数量或梯度指定情况如何。
  • 基准测试结果表明,optimParallel() 与 optim() 保持功能一致,在所有测试用例中产生完全相同的优化结果。
  • 使用前向差分近似可将每次迭代中 fn() 的求值次数从 1+2p 减少至 1+p,当可用核心数少于 1+2p 时可提升效率。
  • 该实现仅引入少量计算开销,因此对于求值时间超过 0.05 秒的函数具有显著优势。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。