anchor.diff:    (multiple-value-call #'add-error (counter trainer)
                          (reconstruction-rmse
                           (remove-if (lambda (chunk)
  -                                     (typep chunk 'softmax-label-chunk))
  +                                     (typep chunk 'labeled))
                                      (visible-chunks rbm)))))
    
  
positive.code:                         (setf (aref nodes (+ start (image-label image)))
                                #.(flt 1)))))))))
  
  (defmethod set-input (images (rbm mnist-rbm/2))
    (call-next-method)
    ;; All samples have the same SAMPLE-VISIBLE-P, look at the first
    ;; only.
    (when (and images (getf (rest (elt images 0)) :sample-visible-p))
      (sample-visible rbm))
    (let ((label-chunk (find-chunk 'label rbm)))
      (when label-chunk
        (clamp-labels images label-chunk))))
  
negative.code: (defclass mnist-dbn (dbn) ())
  
  (defclass mnist-rbm (rbm) ())
  
  (defun xxx (m)
    (matlisp:norm
     (matlisp:reshape m
                      (* (matlisp:nrows m)
                         (matlisp:ncols m))
                      1)
     2))
  
  ;; (xxx (matlisp:make-real-matrix #((1 2 3) (4 5 6))))
  ;; (sqrt (loop for x in '(1 2 3 4 5 6)
  ;;             sum (expt x 2)))
  
  (defmethod set-input (images (rbm mnist-rbm))
    (let ((inputs (find 'inputs (visible-chunks rbm)
  