Towards Robust and Cooperative Learning Algorithms