The next in our series of interviews with workshop leaders at Self Driving Track days introduces us to Sander van Dijk. Sander is Head of Research at Parkopedia, and will be delivering a workshop on 10 July on “Getting your Deep Neural Network into a car”
Can you tell us a bit more about your work as Head of Research at Parkopedia?
At Parkopedia our goal is to improve the world by delivering innovative parking solutions. This means capturing and providing any information that is useful to a driver looking for a place to park: locations, both off and on-street, opening hours, restrictions, prices, etc., but also, very importantly, the probability of you actually finding a space in any of those locations. The research team at Parkopedia develops advanced machine learning models to predict this probability accurately worldwide, using a wide range and large volume of input data. Furthermore, we build deep learning-based computer vision methods and other recognition techniques to help automate and ramp up our growth in coverage. Besides that I am part of the team at Parkopedia that works to enable autonomous valet parking.
You have also worked on making humanoid robots play football and are impressively three-time vice champion in the RoboCup world cup. Can you tell us more about how you got into this? Why do has this been such a successful past time for you? What can others do if they want to get involved?
While I was studying Artificial Intelligence at the University of Groningen in The Netherlands, a friend and fellow student mentioned some robotics competition coming up in Bremen, Germany, just over the border, and that we should enter as a team. This was the RoboCup world championship of 2006, and we entered the 3D simulation league, where robots play football autonomously in a physical simulation. We ended up being completely trounced, but we loved the experience and the mix of a friendly, scientific, and competitive community. The next year we participated again, in Atlanta, Georgia, but this time we came more prepared and managed to claim second prize. I have been competing since; I came to the UK in 2009 to start my PhD at the University of Hertfordshire, after meeting my then future supervisor at RoboCup, and became vice world champion again in the simulation league with my new team there, the UH Bold Hearts. A few years later we decided to turn it up a notch, and put together a team of real physical robots to join the Humanoid football league, and in 2014 took the second prize trophy in that league at the world cup in Brazil.
The main aim of the RoboCup is to tackle the very hard problem of having robots and AI operate successfully and reliably in a dynamic world, not just on a discrete and structured chess or go board. This is not only to be able to play football, but will help enable robots and AI in daily life, such as in care, rescue, and autonomous driving. I believe the reason of our success in RoboCup, and of the other amazing teams that kept us from the first place, is robustness. The robots always need to be able to do something, even in the case of failure or unexpected situations, and for the full length of two 10 minute halves. One guideline we follow for this is to only introduce new methods that degrade gracefully: if a new fancy team strategy fails because of broken communication, each robot should still be able to play on its own.
Anybody who would like to get involved in RoboCup can have a look on their website, www.robocup.org, or reach out to our team the Bold Hearts on any of our social media accounts.
Did you learn anything in this hobby that you have applied to your work at Parkopedia?
In RoboCup you often are in a situation having to create/update/fix a complex intelligent system under pressure: a lot of magic happens in the 5 minute breaks between halves. In a dynamic company like Parkopedia it sometimes can feel similar, when combining something unconstrained like research with tight business deadlines and expectations. The aspect of robustness, and incremental, ‘agile’ research helps to keep things under control while making quick progress. The lessons learned from RoboCup will especially apply to our project to create an autonomously parking vehicle. Benefits however flow the other way as well, by introducing industry quality processes to our team mainly made up of students, based on our experience at Parkopedia.
Deep learning is all the hype now, not the least in the world of self-driving cars. Do you think this hype will continue? What do we need to watch out for?
Deep learning is here to stay for a while. It has revolutionised a range of research fields, cutting down the time frames in which even experts in those fields thought such achievements were possible. There are still plenty of fields and problems open to applications of deep learning, and the amount of research output on deep learning is massive. What is very special to this research is the open availability: because the field moves so fast, much of the research is made available openly on platforms such as arXiv.org. This makes it possible for everybody to have access and contribute, not just for the few who are at an institution that can afford to get access through overpriced paywalls.
This is amazingly powerful, but also circumvents the checks of traditional science: although the system of peer review is not without faults, without it it is now very easy to put works out there that look scientific, but may be plagiarized, not possible to reproduce, or just simply bad research. Such works can set false expectations and add negatively to the hype.
Besides this there are still questions around deep learning that haven’t fully been answered: why does it really work so well (it is not uncommon that the original intuitive explanations of some of the smartest authors proved to be wrong later on)? Can we make useful claims about why a deep network makes a decision, especially if something goes wrong? Can we get it to learn useful things from just a small sample of data, like humans do?
In your Self Driving Track Days workshop you will have a look at the different shapes and forms of deep neural networks that are out there that you may want to use on a self-driving car, what is the biggest consideration in choosing the right network design?
The most important, as to any machine learning problem, is to choose a model that fits your problem. This involves seemingly simple decisions like choosing either a classification or a regression network. But a counting problem can for instance be modeled as either, so you have to think about which is more suitable to your use case. An important consideration in that sense is your cost function: what output is good and what output is bad for you? If counts close to the actual value can be good enough, you may choose regression. If any count except the actual value is as bad, you may choose classification. Besides that, it is useful to think about the format of the output to: do you really need the pixel-by-pixel mask of a Mask RCNN, or are bounding boxes sufficient? Especially with limited hardware and real time constraints, it is useful to keep things as simple as possible, and maybe even to reframe your problem to make it possible to run a much cheaper model instead.
What are you most looking forward to about leading this workshop?
I am looking forward to meeting all the people interested in the exciting area of self-driving cars, and deep learning specifically, and to have interesting discussions about the recent developments, opportunities and limitations. I hope the participants will come away with some useful knowledge and ideas for applying these techniques in practice, including myself as there is always more to learn in this fast paced field!