Data Generation
In supervised learning, we need data generated from the real world.
Self-play allows you to create data by playing against yourself. Used mostly in Reinforcement Learning, MCTS.
Self-Supervised Learning automatically create labels.