anchor.diff:    (multiple-value-bind (defs inits) (unroll-dbn dbn :bottom-up-only t)
       (print inits)
       (terpri)
  -    (make-bpn dbn defs inits 'f3)))
  +    (let ((bpn (make-bpn dbn defs 'f3)))
  +      (initialize-bpn-from-bm bpn dbn inits)
  +      (init-weights 'prediction-weights bpn 0.1)
  +      (init-weights 'prediction-biases bpn 0.1)
  +      bpn)))
   
   (defvar *dbn/1*)
   (defvar *bpn/1*)
  
positive.code:   (mgl-bm:dbm->dbn dbm :dbn-class 'mnist-dbn :rbm-class 'mnist-rbm/2
                     :dbn-initargs '(:max-n-stripes 100)))
  
  (defun unroll-mnist-dbm (dbm)
    (multiple-value-bind (defs inits) (unroll-dbm dbm :excluded-chunks '(label))
      (prin1 inits)
      (terpri)
      (make-bpn dbm defs inits 'f2)))
  
  (defun collect-map-chunks-and-lumps (bpn dbm)
    (let ((chunks-and-lumps ()))
      (dolist (chunk (hidden-chunks dbm))
        (unless (typep chunk 'conditioning-chunk)
          (let* ((lump-name (chunk-lump-name (name chunk) :map))
                 (lump (find-lump lump-name bpn)))
            (when lump
              (push (list chunk lump) chunks-and-lumps)))))
      chunks-and-lumps))
  
  (defun populate-map-cache (bpn dbm images)
  
negative.code:                         (activation-lump :weights prediction-weights
                                           :x (lump
                                               ',(chunk-lump-name chunk-name
                                                                  nil))
                                           :transpose-weights-p t))
                         (prediction-activations
                          (->+ :args (list prediction-activations0
                                           prediction-biases)))
  