A controller receives sensor data during a ride and provides it to a server system. A passenger further provides feedback concerning the ride in the form of some or all of an overall rating, flagging of ride anomalies, and flagging of road anomalies. The sensor data and feedback are input to a training algorithm, such as a deep reinforcement learning algorithm, which updates an artificial intelligence (AI) model. The updated model is then propagated to controllers of one or more autonomous vehicle which then perform autonomous navigation and collision avoidance using the updated AI model.