Changed _norm_total to float32, fixed compute_joint_norm_total_opt to sum weights directly rather than calling norm_total property and fixed learning rate calculation for sparse implementation