anchor.diff:    (if (< (n-inputs trainer) (* 5 (n-inputs-in-epoch trainer)))
         #.(flt 0.5)
         #.(flt 0.9)))
  -
  -#+nil
  -(defmethod lag ((trainer mnist-rbm-trainer))
  -  (min (flt 0.99)
  -       (let ((n (/ (n-inputs trainer)
  -                   (n-inputs-in-epoch trainer))))
  -         (- 1 (expt 0.5 n)))))
   
   (defun init-mnist-dbn (dbn &key stddev (start-level 0))
     (loop for i upfrom start-level
  
positive.code: ;;;; translated to a BPN. It's pretty much the same training process
  ;;;; as before except that after the DBN the DBM is trained by PCD
  ;;;; before unrolling that into a BPN. Accuracy is ~99.09% a bit
  ;;;; higher than the reported 99.05%.
  
  (in-package :mgl-example-mnist)
  
  
negative.code: (defun build-rectified-mnist-bpn (&key (n-units-1 1200) (n-units-2 1200)
                                    (n-units-3 1200))
    (build-bpn (:class 'mnist-bpn :max-n-stripes 100)
      (inputs (->input :size 784))
      (f1-activations (add-activations :name 'f1 :inputs '(inputs)
                                       :size n-units-1))
      (f1* (->rectified :x f1-activations))
      (f1 (->dropout :x f1*))
      (f2-activations (add-activations :name 'f2 :inputs '(f1) :size n-units-2))
      (f2* (->rectified :x f2-activations))
      (f2 (->dropout :x f2*))
      (f3-activations (add-activations :name 'f3 :inputs '(f2) :size n-units-3))
      (f3* (->rectified :x f3-activations))
      (f3 (->dropout :x f3*))
      (predictions (tack-cross-entropy-softmax-error-on
  