Why cannot KL-div become negative ?
If I am not making a mistake, the formula is: kl = prob_p (log(prob_p/prob_q);  Since we are not sure if (prob_p/prob_q) is greater or smaller than 1, the kl-div can be both positive and negative depending on the input of prob_p and prob_q.