310 likes | 570 Views
Second Order Differentiation. Yi Heng. Bommerholz – 14.08.2006 Summer School 2006. Outline. Background What are derivatives? Where do we need derivatives? How to compute derivatives? Basics of Automatic Differentiation Introduction Forward mode strategy Reverse mode strategy
E N D
Second Order Differentiation Yi Heng Bommerholz – 14.08.2006 Summer School 2006
Outline • Background • What are derivatives? • Where do we need derivatives? • How to compute derivatives? • Basics of Automatic Differentiation • Introduction • Forward mode strategy • Reverse mode strategy • Second-Order Automatic Differentiation Module • Introduction • Forward mode strategy • Taylor Series strategy • Hessian Performance • An Application in Optimal Control Problems • Summary
Background What are derivatives? Jacobian Matrix:
Background What are derivatives? Hessian Matrix:
Background Where do we need derivatives? • Linear approximation • Bending and Acceleration (Second derivatives) • Solve algebraic and differential equations • Curve fitting • Optimization Problems • Sensitivity analysis • Inverse Problem (data assimilation) • Parameter identification
Background Symbolic differentiation Derivatives can be computed to machine precision Computation work is expensive For complicated functions, the representation of the final expression may be an unaffordable overhead Divided differences It is easy to implement (the definition of derivative is used) Only original computer program is required (Formula not necessary) The approximation contains truncation error How to compute derivatives?
Background Machine precision approximation can be obtained Computation work is cheaper Only requires the original computer program How to compute derivatives? Automatic differentiation To be continued ...
Basics of Automatic Differentiation Introduction Automatic differentiation ... • Is also known as computational differentiation, algorithmic differentiation, and differentiation of algorithms; • Is a systematic application of the familar rules of calculus to computer programs, yielding programs for the propagation of numerical values of first, second, or higher order derivatives; • Traverses the code list (or computational graph) in the forward mode, the reverse mode, or a combination of the two; • Typically is implemented by using either source code transformation or operator overloading; • Is a process for evaluating derivatives which depends only on an algorithmic specification of the function to be differentiated.
Basics of Automatic Differentiation Introduction Rules of arithmetic operations for gradient vector
Basics of Automatic Differentiation Forward mode & Reverse mode An example
Basics of Automatic Differentiation Code list + Gradient entries Correct! Forward mode & Reverse mode - Forward mode
Basics of Automatic Differentiation Code list + Adjoints Correct! Forward mode & Reverse mode - Reverse mode
Second-Order AD Module Introduction Divided differences
Second-Order AD Module Introduction Rules of arithmetic operations for Hessian matrices
Second-Order AD Module Forward Mode Stategy An example
Second-Order AD Module Code list + Gradient entries Forward Mode Stategy
Second-Order AD Module ... Hessian matrix entries + Forward Mode Stategy
Second-Order AD Module Forward Mode Stategy H(f): n by n matrix V: n by nv matrix W: n by nw matrix
Second-Order AD Module Taylor Series Strategy
Second-Order AD Module Taylor Series Strategy
Second-Order AD Module Hessian Performance • Twice ADIFOR, first produces a gradient code with ADIFOR 2.0, and then runs the gradient code through ADIFOR again. • Forward, implements the forward mode. • Adaptive Forward, uses the forward mode, with preaccumulation at a statement level where deemed appropriate. • Sparse Taylor Series, uses the Taylor series mode to compute the needed entries.
An Application in OCPs Problem Definition and Theoretical Analysis
An Application in OCPs The first order sensitivity equations
An Application in OCPs The second order sensitivity equations
An Application in OCPs The second order sensitivity equations
An Application in OCPs Optimal control problem
An Application in OCPs Truncated Newton method for the solution of the NLP
An Application in OCPs Implementation Details Step 1 • Automatic derivation of the first and second order sensitivity equations to construct a full augmented IVP. • Creates corresponding program subroutines in a format suitable to a standard IVP solver. Step 2 • Numerical solution of the outer NLP using a truncated –Newton method which solves bound-constrained problems.
An Application in OCPs Two approaches with TN method TN algorithm with finite difference scheme • Gradient evaluation requires the solution of the first order sensitivity system • Gradient information is used to approximate the Hessian vector product with a finite difference scheme TN algorithm with the exact Hessian vector product calculation • It uses the second order sensitivity equations defined in Eq. (5a) to obtain the exact Hessian vector product. (Earlier methods of the CVP type were based on first order sensitivities only, i.e. Gradient based algorithms mostly). • This approach has been shown more robust and reliable due to the use of exact second order information.
Summary • Basics of derivatives • Definition of derivatives • Application of derivatives • Methods to compute derivatives • Basics of AD • Compute first order derivatives with forward mode • Compute first order derivatives with reverse mode • Second Order Differentiation • Compute second order derivatives with forward mode strategy • Compute second order derivatives with Taylor Series strategy • Hessian Performance • An Application in Optimal Control Problems • First order and second order sensitivity equations of DAE • Solve optimal control problem with CVP method • Solve nonlinear programming problems with truncated Newton method • Truncated Newton method with exact Hessian vector product calculation
References • Abate, Bischof, Roh,Carle "Algorithms and Design for a Second-Order Automatic Differentiation Module„ • Eva Balsa Canto, Julio R. Banga, Antonio A. Alonso, Vassilios S. Vassiliadis "Restricted second order information for the solution of optimal control problems using control vector parameterization„ • Louis B. Rall, George F. Corliss „An Introduction to Automatic Differentiation„ • Andreas Griewank „Evaluating Derivatives: Principles and Techniques of Algorithmic Differentiation„ • Stephen G. Nash „A Survey of Truncated-Newton Methods„