   (defn sample-down [this hsample])
   (defn gibbs-hvh [this hsample])
   (defn mini-batch [this k hsample])
-  (defn contrastive-divergence [this k lr vinput]))
+  (defn contra-div! [this k lr vinput]))
 
 (defrecord NeuronLayer [weights
                         fn-activition-up  fn-activition-down

        (add! mw (scale mn (- lr)))
        this)))


        (tuple nvmeans nhsample)
        (recur (dec i) (gibbs-hvh this nhsample)))))

  (defn contra-div! [this k lr vsample])
    (let [[hmeans hsample] (sample-up this vinput)
          [nvmeans nhsample] (mini-batch this k hsample)
          mw (:weights this)
