It seems like every AI/ML feed I follow, there is yet another company claiming to go from fully-manual to fully-autonomous in a single, giant, disruptive leap (in 3-5 years to boot, depending on their VC funding timeline). This kind of overhype is doing way more harm than good, and flies in the face of what most developmental research regarding intelligence has demonstrated time and again: we learn incrementally, building upon hard-wired priors.
This past weekend I had the mixed pleasure of getting behind the wheel of a late-model car with several advanced driver support features:
- Lane drift detection
- Active collision avoidance (front and rear)
- Adaptive cruise control
- Blind spot monitoring
I have wanted to test some of these features since I heard about them, I’ve just been waiting for the rental car companies to catch up. After about 4 hours of driving along interstate, highway, and country roads, I made some mental notes about some of these assistive technologies.
Lane drift detection on this particular vehicle presented itself as a simulated rumble strip via haptic feedback through the steering wheel. The part of the country I was in has these on almost all the paved roadways, so at first I didn’t think anything of it until I changed a lane without signaling – and the vibration hit me in the middle of a three-lane stretch of road. Then I began to notice it had a hard time synchronizing with the turn signals (signal to change lanes, start edging over – “rumble”). It also tended to get very confused on stretches of road where work had been done and was apparently confused by faint residual striping. Most interesting was no warning at all when I drifted off the edge of a country road with no white side stripes – just shoulder dirt and gravel flying.
OK, so I’m one of those 1%-ers who actually use cruise control when they drive long distances, so I wanted to see how well the adaptive cruise system performed. For those not familiar with this tech, the cruise control adapts the speed to traffic ahead to stay a safe distance behind the car in front of you. Before you would have to either (dis)engage cruising or have to fiddle with the controls to slow down or speed up. While it worked pretty well for the most part, it had a nasty tendency to react to cars passing me (rapid slowdown, presumably to “avoid hitting” them) or cars in other lanes when on a curved section of highway.
Active collision avoidance was helpful, but very touchy. While I never tested forward detection, I did find that backing up into a slope that I wasn’t going to ground out on tended to set off alarms more often than not.
Blind spot monitoring – what can I saw but lots of false positives, even sitting still in traffic or a parking lot…
The good news? This manufacturer is wise enough to focus on introducing assistive technologies incrementally and work out the kinks before trying to fold them into a fully autonomous solution, and isn’t making any promises they can’t keep or using their customers as beta testers.
Most of the tech industry has bought into the “agile” approach – build an MVP, ship it, and incrementally improve it. Hardware, software, and manufacturing have all embraced this to some extent, and it has proven a powerful tool for rapid feedback and improvement. Even DL has adopted this approach to some extent; nobody came out of the gate with a 530-billion-parameter model as their first pass at an NLP solution (SYNCED, 2021); they started off with simpler models and refined/expanded the approach as needed. Additionally, there are MLOps workflows for ingesting new data, detecting drift, retraining, and deploying updated models.
Test-driven development (TDD) with sufficient unit tests and code coverage are also commonplace in agile approaches, which is a bit more challenging with DL models as 100% accuracy is generally not practically achievable (nor desired as it’s often a symptom of overfitting) and the best you could test for would be an accuracy threshold such as precision and/or recall. Additionally, with large models how do you perform sufficient unit tests? You have one model and performance analytics, but no way to sufficiently test the function approximation for all cases.
Transfer learning and ensembles (not necessarily of the Random Forest kind) can provide rich mechanisms for efficient, modular, and robust DL approaches that can be used as building blocks for more complex – and more autonomous – systems. At the same time they provide the ability to improve performance with unit-test-like scaling where nothing more complex can be built if we don’t have enough confidence in the building blocks.
While I chose to pick on automotive autonomy a bit, we see this rush to autonomy in many industries: robotics, surveillance, finance, hiring systems, legal systems, and medicine to name a few that are grabbing headlines at the moment. Many times we’re finding that these highly complex models have biases, incomplete training data, or are highly susceptible to drift. Systems interacting with the real, highly-variable world struggle to generalize well enough to adapt to unseen environments and contexts (aka “states” in RL parlance). There are an increasing number of headlines out there reporting on rushed failures to fully autonomous solutions. Maybe we need to take a more cautious approach on trying to come up with fully autonomous systems and celebrate the smaller, well-formed and -studied baby steps towards autonomy including useful domain-specific priors, and learn to reliably and consistently walk over unseen turf before we try to run…
SYNCED. (2021, October 11). 530 Billion Parameters! Microsoft and NVIDIA Trained the Largest Generative Language Model | Synced 530 Billion Parameters! Microsoft and NVIDIA Trained the Largest Generative Language Model. https://syncedreview.com/2021/10/11/530-billion-parameters-microsoft-and-nvidia-trained-the-largest-generative-language-model/