1/ 各种自动微分的优缺点1
机器学习的一个重要的任务,就是对参数求导得到损失函数对于每个参数的偏导数,然后进行梯度下降。
而求偏微分,可以选择的方法有:手工微分(manual differentiation)、符号微分(symbolic differentiation)、数值微分(numerical differentiation)、前向自动微分(forward-mode autodiff)和反向自动微分(reverse-mode autodiff)。
而在 Julia 的 Flux 包里和 Tensorflow 一样,就是使用的反向自动微分。
手工微分:手工微分对于复杂的函数,会变得非常繁琐,容易出错
符号微分:利用计算图来处理。但是对于复杂的函数,会出现计算图十分巨大的,降低性能,而一个最大的缺点就是,符号微分无法处理任意编码的函数。
数值微分:数值微分根据公式:
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
相关推荐