Yes, but it has to understand the difference between minor human errors (allowing more drift than autopilot) and actual important differences (braking ahead of a potential collision that the autopilot can't see).
Kind of. There's a lot of different machine learning approaches, but at least with neural networks, you essentially have a black box (the network) that you feed inputs into and it spits out which category it gets classified into. When learning, you know what the right category should be, so you go through the network in reverse (backpropagation) and update the weights inside by an arbitrary amount multiplying the difference between what is wanted and what is spitted out.
Eventually, (and with a lot of handwaving) the difference converges towards 0 and the network gives the right answer.