大多数机器学习任务——从自然语言处理、图像分类到翻译以及大量其他任务,都依赖于无梯度优化来调整模型中的参数和/或超参数。为了使得参数/超参数的调整更快、更简单,Facebook创建了一个名叫Nevergrad(https://github.com/facebookresearch/nevergrad) 的Python3库,并将它开源发布。Nevergrad提供了许多不依赖梯度计算的优化算法,并将其呈现在标准的问答Python框架中。此外,Nevergrad还包括了测试和评估工具。
Nevergrad现已对外开放,人工智能研究者和其他无梯度优化相关工作者马上就可以利用它来协助自己的工作。这一平台不仅能够让他们实现最先进的算法和方法,能够比较它们在不同设置中的表现,还将帮助机器学习科学家为特定的使用实例找到最佳优化器。在Facebook人工智能研究院(FAIR),研究者正将Nevergrad应用于强化学习、图像生成以及其他领域的各类项目中,例如,它可以代替参数扫描来帮助更好地调优机器学习模型。
这个库包含了各种不同的优化器,例如:
差分进化算法(Differentialevolution)
序列二次规划(Sequentialquadraticprogramming)
FastGA
协方差矩阵自适应(Covariancematrixadaptation)
噪声管理的总体控制方法(Populationcontrolmethodsfornoisemanagement)
粒子群优化算法(Particleswarmoptimization)
评论