anchor.diff:  
   Conclusion
   ----------
  -In this introductory example we showed how to define symbolic sizes and a two-layer neural network using elementary mathematical operators.
  -Training was performed using a simple training loop.
  +In this introductory example we showed how to define symbolic sizes and build a two-layer neural network with a softmax output layer and cross-entropy loss using elementary mathematical operators.
  +Training was performed on the MNIST dataset using a simple training loop.
   
   In the following sections, we will show how to assemble models from predefined blocks (such as neural layers and loss layers) and use a Deep.Net provided, configurable training loop.
   
  
positive.code: There are wrappers `arg1`, `arg3`, `arg4`, ... for different number of arguments.
  The return type of a compiled function is always a tensor.
  If the result of the expression is a scalar (as in our case), the tensor will have rank zero.
  
  Testing the model
  -----------------
  
negative.code: 
  (**
  We use a learning rate of $0.1$.
  This high learning rate is feasible because we will calculate the gradient on the whole dataset (50 000 images) and thus it will be very stable.
  If we did [mini-batch training](http://www.cs.toronto.edu/~tijmen/csc321/slides/lecture_slides_lec6.pdf) instead, i.e. split the training set into small mini-batches and update the parameters after estimating the gradient on a mini-batch, we would have to use a smaller learning rate.
  *)
  
  (**
  