Stochastic Gradient Descent Algorithm in the Computational Network Toolkit

Brian K. Guenter, Dong Yu, Adam Eversole, Oleksii Kuchaiev, Mike Seltzer · 2013

We introduce the stochastic gradient descent algorithm used in the computational network toolkit (CNTK) — a general purpose machine learning toolkit written in C++ for training and using models that can be expressed as a computational network. We describe the algorithm used to compute the gradients automatically for a given network. We also propose a low-cost automatic learning rate selection algorithm and demonstrate that it works well in practice. 1 Computational Network Toolkit A computational network (CN) is a directed graph in which each leaf represents an input value or a learnable parameter and each node represents an operator. Figure 1 illustrates an example CN of a log-linear model. Here, each node is identified by a {node name: operator type} pair and takes its ordered children as the operator’s inputs. For example, in the figure, T = Times(W,X) which is different fromT = Times(X,W). A CN can have many root nodes which are used under different conditions. For example, one root node may represent a cross-entropy training criterion and another may represent an evaluation criterion. The network in Figure 1 has only one root node {C: Cross

Read the paper · More papers on PaperTik