Home         Authors   Papers   Year of conference   Themes   Organizations        To MES conference

Automatic Differentiation in a Dataflow Language on the Example of a Deep Learning Problem  

Authors
 Klimov A.V.
Date of publication
 2021
DOI
 10.31114/2078-7707-2021-3-94-98

Abstract
 We describe a method for automatic converting a given program into a program for calculating derivatives with respect to designated parameters. The original program as well as converted one are represented in our dataflow parallel programming language UPL. A program in UPL is graphically represented as a graph of nodes connected with arcs. A node has several input ports and calculates a function, sending result to other node’s ports. A program node denotes a family of activation nodes (or node instances), each with its own index, or tag. An arc carries a result value expression and a target tag expression, which are calculated in the activation. Having almost arbitrary program graph in UPL that calculates a single scalar result value the hypothetical converter builds another program graph, which calculates the set of derivatives of the result of original program w.r.t. its parameters. The converter works on per node basis adding an adjoint node for each source node. Inverted adjoint arcs, each carrying a derivative of the result with respect to original value, connect these adjoint nodes. The arc’s tag expressions are rewritten to the other node’s context (it must be feasible). A special kind of arcs –– multicast fan-out arcs and summation fan-in arcs –– are transformed one into another. The constructed adjoint graph calculates the required derivatives in backward direction. As an example, a program of a multilayer neural network (perceptron) is considered (see upper part of the Figure 1 in the paper), for which a classical backpropagation algorithm is built (see lower part of Figure 1) according to the described rules. It calculates derivatives of the loss function with respect to weight parameters, which can be used further for weights correction in the frame of deep learning process.
Keywords
 automatic differentiation, back propagation, deep learning, dataflow language, graphical programming.
Library reference
 Klimov A.V. Automatic Differentiation in a Dataflow Language on the Example of a Deep Learning Problem // Problems of Perspective Micro- and Nanoelectronic Systems Development - 2021. Issue 3. P. 94-98. doi:10.31114/2078-7707-2021-3-94-98
URL of paper
 http://www.mes-conference.ru/data/year2021/pdf/D044.pdf

Copyright © 2009-2024 IPPM RAS. All Rights Reserved.

Design of site: IPPM RAS