fix multi-label bug (labels start at 1), normalize linearly, make training more robust