of MAC operations for different training methods. Arrows between compute device and external memory indicate memory traffic while green arrows indicate data buffered and reused by the compute device. Each computation stage is executed a number of times given by the enclosing repeat block. () Standard backpropagation learning. () Training all layers simultaneously using local errors. Note that there is no backward pass as weights are updated during the forward pass.[]{data-label="fig:traffic"}](traffic_horizontal "fig:"){width="\textwidth"} \[fig:traffic\_a\]

[0.42]{} ![Memory traffic and number of MAC operations for different training methods. Arrows between compute device and external memory indicate memory traffic while green arrows indicate data buffered and reused by the compute device. Each computation stage is executed a number of times given by the enclosing repeat block. () Standard backpropagation learning. () Training all layers simultaneously using local errors. Note that there is no backward pass as weights are updated during the forward pass.[]{data-label="fig:traffic"}](traffic_allnetwork_horizontal "fig:"){width="\textwidth"} \[fig:traffic\_b\]

Standard learning techniques based on backpropagating errors through the whole network require the hardware executing the learning algorithm to store the activation values and activation derivatives of all network layers in order to calculate weight updates and backpropagate errors once errors are available from the top layer. This imposes 