anchor.diff:              TargetLoss         = None  
               MinIters           = Some 100 
               MaxIters           = None  
  -            LearningRates      = [1e-3; 1e-4; 1e-5]                               
  +            LearningRates      = [1e-3; 1e-4; 1e-5; 1e-6]                               
               CheckpointDir      = None  
               DiscardCheckpoint  = false 
               DumpPrefix         = None
  
positive.code:                 
          
          //loss expression
          let loss = LossLayer.loss LossLayer.MSE pred target
  
          // optimizer
          let opt =  Adam (loss, mi.ParameterVector, dev)
  
negative.code:         mb.SetSize nClass (fullClassificationDataset.[0].Target |> ArrayND.nElems)
          mb.SetSize nTrn 20
  
  
          let mi = mb.Instantiate dev
          let pred, _ = GPTransferUnit.pred gptu (InputLayer.transform input)
  
          let softmax act = exp act / Expr.sumKeepingAxis 1 (exp act)
          
          let pred = softmax pred
  //        let loss = -target * log pred |> Expr.sumAxis 0 |> Expr.mean
  //        let loss = loss |> Expr.dump "loss"
          
          // loss expression
          let loss = LossLayer.loss LossLayer.CrossEntropy pred.T target.T
  
          // optimizer
          let opt =  Adam (loss, mi.ParameterVector, dev)
  