如果只能提供数值梯度,使用基于梯度的优化算法是否毫无意义?如果不是,为什么对优化库本身执行有限微分很简单,那么为什么要首先提供一个数值梯度呢?
[编辑]
需要澄清的是,我的问题的确比一般的应用更笼统。尽管我的应用领域恰好是各种统计框架下的似然优化。
我与自动区分的问题在于,似乎总是有一个陷阱。要么AD库无法传播到外部库调用(例如BLAS),要么您不得不如此大刀阔斧地改写工作流程,以致于难以处理……尤其是在使用类型敏感语言的情况下。我对AD的了解完全是另外一个问题。但是我想相信!
我想我需要更好地提出我的问题,但是我做的很糟糕。如果可以选择使用无导数优化算法或基于导数的优化算法,但需要注意的是,我只能给它一个数值梯度,平均而言哪一个更好?