We will be sharing behind-the-scenes interviews featuring the talented people who are powering our vision at NIO. Our first in the series is with Chris Pouliot, VP of Algorithms.
Tell us a little about your background. I hear prior to NIO you were a rocket scientist and did a project with NASA – is that true?
I grew up in New Hampshire and did my undergraduate studies at MIT, where I graduated with a BS/MS in Aeronautics and Astronautics. As part of my master’s thesis I was studying the effect of zero gravity on an astronaut’s semicircular canals. To collect data, both pre-flight, in-flight, and post-flight, I spun astronauts in a rotating chair, and took measurements of their eye movement. From this, I analyzed a large amount of data to deduce the effect. This was my first foray into data analysis, statistics, and modeling, which I enjoyed very much.
What other things did you do prior to coming to NIO?
- As a Naval Officer, supervised the operation of the nuclear reactors aboard the aircraft carrier, USS Nimitz.
- Provided insightful analysis that led Google to change their top advertising color from blue to yellow.
- Helped Netflix determine what movies and TV shows to buy and how much they should pay
- Developed the algorithms at Lyft to help balance supply and demand via dynamic pricing.
What is your role at NIO?
I am the VP of Algorithms at NIO and work in our Silicon Valley headquarters. My team uses big data combined with math/statistics and machine learning to develop algorithms for L4 autonomous driving.
What types of projects are your team driving?
L4 autonomous driving requires algorithms to perceive, predict, plan, and act. So for example, perceive there is a truck ahead of me in the next lane adjacent to my right, predict that the truck will change lanes, plan that I need to slow down to allow the truck to merge into my lane, and act by commanding the drive-by-wire brakes to slow the vehicle down by the appropriate amount.
What is the biggest challenge your team has faced?
In my previous roles at internet companies, there was no shortage of data (e.g. Google). I joined NIO 3-years ago, and the team worked 2.5 years before our first electric SUV, ES8 was launched. During that time, we had a minimal amount of data to build algorithms and models. So, the result was that we had to be scrappy – use open source datasets, data generated by employees, synthetically derived data based on assumed statistical distributions, and to purchase third-party data. This unblocked us from researching and building models. When the data started to flow from our production cars, we were ready to retrain the models on the new data and push the new models to the car via over-the-air updates.
What is the single best piece of advice you have received?
When developing algorithms, always start simple and only develop more complex models, if business impact requires it. I’ve seen a lot of fresh PhD graduates want to start with a deep neural network, but sometimes something as simple as a logistic regression will give sufficiently good results, at a lot less complexity.