Derivative-based algorithms are ubiquitous in statistics, machine learning, and applied mathematics. Automatic differentiation offers an algorithmic way to efficiently evaluate these derivatives from computer programs that execute relevant functions. Implementing automatic differentiation for programs that incorporate implicit functions, such as the solution to an algebraic or differential equation, however, requires particular care. Contemporary applications typically appeal to either the application of the implicit function theorem or, in certain circumstances, specialized adjoint methods. In this paper we show that both of these approaches can be generalized to any implicit function, although the generalized adjoint method is typically more effective for automatic differentiation. To showcase the relative advantages and limitations of the two methods we demonstrate their application on a suite of common implicit functions.
翻译:基于衍生的算法在统计、机器学习和应用数学中普遍存在。自动差别化提供了一种算法方法,可以有效地评价计算机程序产生并发挥相关功能的这些衍生物。但是,对包含隐含功能的方案实施自动差别化,例如代数或差异方程式的解决方案,需要特别小心。当代应用通常呼吁应用隐含函数的理论,或在某些情况下采用专门的联合方法。在本文中,我们表明这两种方法都可以被概括为任何隐含功能,尽管通用联合法通常对自动区别比较有效。要展示这两种方法的相对优势和局限性,我们在一套共同隐含功能中展示其应用。