Collective Learning by Ensembles of Altruistic Diversifying Neural Networks