non-redundant softmax

(This also fixes a bug where monitoring throws AttributeError if you use the no_affine feature)