Improve KL divergence
Split classes to allow l1 dictionary training

Note: big bug