AD Tutorial at the TU Berlin
AD Tutorial at the TU Berlin
AD Tutorial at the TU Berlin
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The Reverse Mode by Hand:<br />
Recall: y = f (x) = sin(x 1 + cos(x 2 )x 1 )<br />
independent v −1 = x 1 = 3<br />
independent v 0 = x 2 = 7<br />
v 1 = φ 1 (v 0 ) = cos(v 0 )<br />
v 2 = φ 2 (v 1 , v −1 ) = v 1 v −1<br />
v 3 = φ 3 (v −1 , v 2 ) = v −1 + v 2<br />
v 4 = φ 4 (v 3 ) = sin(v 3 )<br />
dependent y = v 4<br />
Reverse Mode by Hand: Successive Pullbacks<br />
dy = dφ 4 (v 3 ) = ∂φ 4(z)<br />
∂z<br />
˛ dv 3 = cos(v 3 )<br />
˛z=v3<br />
= ¯v 3 dφ 3 (v −1 , v 2 ) = ¯v 3 dv −1 + ¯v 3<br />
|{z} |{z}<br />
=¯v −1<br />
= (¯v −1 + ¯v 2 v 1 ) dv −1 + ¯v 2 v −1 dv 1<br />
| {z } | {z }<br />
=¯v −1<br />
=¯v 1<br />
= ¯v −1 dv −1 + (−¯v 1 sin(v 0 )) dv 0<br />
| {z }<br />
=¯v 0<br />
Interpret<strong>at</strong>ion: ¯v −1 ≡ df and ¯v dx 0 ≡ df<br />
1 dx 2<br />
Need to store v 0 , v 1 , v 3 , v 4 for <strong>the</strong> reverse mode!<br />
dv 3<br />
| {z }<br />
=¯v 3<br />
=¯v 2<br />
dv 2<br />
Sebastian F. Walter, HU <strong>Berlin</strong> () Not So Short <strong>Tutorial</strong> OnAlgorithmic Differenti<strong>at</strong>ion Wednesday, 04.06.2010 14 / 39