Caveat: it works best when you have that and/or when you have labels inherent in the data. For any non-trivial problem, you’re going to have FAR more data than you can possibly have labeled by domain experts. So you find ways to flag select data where their expertise is required. That can mean having non-experts do a first set of passes and only send to experts those where you get significant disagreement. It can also mean, for example, picking out anomalous sensor data(defined as some significant deviation from the mean).
In some cases, the inherent labels are all that’s needed. AlphaGo and AlphaZero were both trained without any labeling of the data, because the end result of a game could be used as a label in itself. Similarly, here, any crash/near miss is an excellent label. Taking situations where a person took over and running it through a simulator can also provide an excellent label.
All this aside, we *know* they’re using neural networks for object detection and classification. And we know they’re doing a relatively good job at that task and improving over time. They must be getting the data for that from *somewhere*. And, of course, we also know that for a (changing) set of certain select situations and also at random intervals, each car occasionally gathers a short set of videos and sensor data which is sent to the mothership. Either they’re using that data for ML, or they’re lying to all of us and secretly using magic.