Federated mutual learning: a collaborative machine learning method for heterogeneous data, models, and objectives