automatic differentiation in deep learning getting closed form mathematical expression of the derivate like the one symbolic differentiation gives uswhat we get via automatic differentiation is the evaluation of the derivative for given set of values the third key intuition behind automatic differentiation is that because we are evaluating derivatives of primitive formswe can deal with arbitrary computational procedures and not just closed form mathematical expressions that isour function can contain if-else statementsfor loopsor even recursion the way automatic differentiation deals with any computational procedure is to treat single evaluation of the procedure (for given set of inputsas finite list of elementary function evaluations over the input variables to produce one or more output variables although there might be control flow statements (if-else statementsfor loopsetc )ultimatelythere is specific list of function evaluations that transform the given input to the output such list/evaluation trace is referred to as wengert list to understand how automatic differentiation specifically works for deep learning use caselet' take simple functionwhich we will compute manually using chain ruleand also look at the pytorch equivalent of implementing the same in deep learning networksthe entire flow is represented using computational graphwhich is directed graph where nodes represent mathematical operations this provide an easy to evaluate mathematical expression computational graphs can be translated into data structure to programmatically approach the problem using computer programming languagesthereby making solving larger problems more intuitive we will use relatively small and easy to compute function to work through our example assume that (xyz( )* and that we have values for the three variables as = =- and = we can represent this function using computational graphas shown in figure -