arxiv A Survey on Self-supervised Learning: Algorithms, Applications, and Future Trends