如果只能提供数值梯度,那么使用基于梯度的优化算法是否毫无意义?如果不是,如果对优化库本身执行有限微分很简单,为什么要首先提供数值梯度?
[编辑]
只是为了澄清一下,我的问题确实比特定应用程序更笼统。虽然我的应用领域恰好是各种统计框架下的似然优化。
我对自动区分的问题是似乎总是有一个问题。要么 AD 库无法传播到外部库调用(如 BLAS),要么您必须彻底重做您的工作流程,以至于处理起来很痛苦……尤其是在您使用类型敏感的语言时。我对 AD 的抱怨完全是一个单独的问题。但我愿意相信!
我想我需要更好地提出我的问题,但我做得很差。如果可以选择使用无导数优化算法或基于导数的优化算法,但需要注意的是我只能给它一个数值梯度,平均而言,哪一个会更好?