Lorenzo Niccolini
![Thomas Falezan](/media/imperial-college/faculty-of-engineering/computing/public/website-images/-non-standard-dimensions/ln_large.jpg)
Could you tell us a little about yourself and about your studies before coming to Imperial?
I was born and raised in Milan, Italy, and moved to the UK to complete upper-school. I then completed a BSc in Physics at Warwick before enrolling in the MSc in AI. Actually, I had very little (if no) exposure to computing until half-way through my undergraduate degree. In my third year, I enrolled in a couple of extra computing modules, including a machine learning class, and then interned as a data scientist over the summer before the MSc. Before the internship, I was much more geared towards taking the general computing program at Imperial—the MSc Computing—but my experience at the end of my undergraduate degree made me realise that I would enjoy AI a lot more.
What attracted you about the MSc in AI?
I came from a very weak coding background and an acceptable (I hope!) mathematical background—so the strong focus on ramping up coding skills at the beginning of the degree, rather than an emphasis on mathematical basics, was ideal. The other very important thing that came across was the balance between academic and practical applications in the MSc in AI. Computing, but especially AI, are quite unique in having very deep theoretical and academic foundations as well as tremendous industrial applications—and I think the MSc in AI does a very good job at letting you experience both. So, for example, having both a software engineering project, where you have to build a small 'product' in a team, and a final individual project culminating in a thesis, lets one explore both avenues and appreciate what one leans towards.
What did you enjoy the most?
The group software engineering project. Spoiler—I did join a start-up after this, and I think the module experience definitely helped in that decision. Honestly, I wasn't looking forward to it. I don't want to fit the stereotype too much, but I'm not a huge extrovert and always prefered working alone. Yet, in fact, the group project work ended up being one of the best things, as did being able to work on a project that felt very impactful—yet another refreshing experience compared to my previous studies. The height of the project coincided with the outbreak of COVID-19, and it actually made that first month of total lockdown rather pleasant in many ways, discovering zoom meetings and just working most hours of the day on the project—it made it all the more intense and rewarding.
What did you find more challenging?
The Individual Project. Without getting into the details, it was a challenge to get many substantial, "positive" results, and that made the experience quite demanding. Of course, that was really just my mistake, because in research a negative result is still a result! A second challenge was the pace of the degree. In my undergraduate studies, I'd been used to high peaks of intensity around exam periods, but with a lot of troughs in between. In the MSc, you're pretty much flat out throughout—whether it's coursework, exams or project work.
Could you tell us about some of your achievements on the MSc that make you proud?
Keeping up with the rest of the cohort was definitely a highlight. There were a lot of really motivated and intelligent people, and I know I grew a lot, and had to, in order to complete the degree to a satisfactory level. And I'm also proud of my work on the software engineering project—I've already plugged this!—which I think was pretty cool.
What did you do in your spare time?
It was my first year in London after several years in the English countryside, so really, I spent most of my time outside the course catching up with old friends and generally enjoying the city. Then, COVID-19 happened, and well, I guess I ended up doing what most people did: some more cooking, card games and generally studied more.
Could you tell us about your individual project?
I was trying to train an autonomous vehicle (AV) with reinforcement learning. It's actually still the case that many, probably most, self-driving cars are still made mostly using rule-based methods. The problem is that these systems work great when confined to a simple domain, but they can't generalise, and as soon as you move them outside that domain they fail spectacularly. So, the goal was to try and train a system in an end-to-end fashion, without encoding any rules and letting the AI figure those out through lots and lots of driving in simulation. Obviously, I wasn't going to solve the self-driving car problem in a couple of months when some of the brightest minds, aided with billions and billions of dollars, still haven't figured out the solution. It's a hard problem—harder, I think, than most people realise. However, despite this, I do still think that training in simulation on a comprehensive set of data will indeed be the path towards true self-driving cars.
What have you been doing since you graduated?
I work at ∂(risk).ai, an AI startup working on improving autonomous vehicles—now you understand why I was so opinionated in my answer to the previous question! We believe that one of the biggest roadblocks for getting commercially viable autonomous vehicles is training and testing on the right data, specifically edge-cases: the individually unlikely events that together make up all the risk. I joined them right after the degree, in autumn 2020 and have worked on building the core knowledge graph of edge case scenarios using a range of heterogeneous data sources. At the moment, I spend most of my time serving some of the world's foremost AV developers, enabling them to train, test and validate their stack through the technology that we've built. Sorry for the shameless plug, but we are growing further and looking for more talent, so do get in touch if you are interested!
Do you have any advice for prospective students?
Advice seems a little much to me, but I can tell you what I personally would do differently. The amount of content was considerable, especially during the first term. I probably invested too much time on the coursework and then came to regret that during exam season. I'm not saying that one should disregard coursework but definitely find the right balance—you can really spend a lot of unnecessary time trying to make a piece of work completely perfect.
Keeping up with the rest of the cohort was definitely a highlight. There were a lot of really motivated and intelligent people, and I know I grew a lot, and had to, in order to complete the degree to a satisfactory level. And I'm also proud of my work on the software engineering project—I've already plugged this!—which I think was pretty cool.
What did you do in your spare time?
It was my first year in London after several years in the English countryside, so really, I spent most of my time outside the course catching up with old friends and generally enjoying the city. Then, COVID-19 happened, and well, I guess I ended up doing what most people did: some more cooking, card games and generally studied more.
Could you tell us about your individual project?
I was trying to train an autonomous vehicle (AV) with reinforcement learning. It's actually still the case that many, probably most, self-driving cars are still made mostly using rule-based methods. The problem is that these systems work great when confined to a simple domain, but they can't generalise, and as soon as you move them outside that domain they fail spectacularly. So, the goal was to try and train a system in an end-to-end fashion, without encoding any rules and letting the AI figure those out through lots and lots of driving in simulation. Obviously, I wasn't going to solve the self-driving car problem in a couple of months when some of the brightest minds, aided with billions and billions of dollars, still haven't figured out the solution. It's a hard problem—harder, I think, than most people realise. However, despite this, I do still think that training in simulation on a comprehensive set of data will indeed be the path towards true self-driving cars.
What have you been doing since you graduated?
I work at ∂(risk).ai, an AI startup working on improving autonomous vehicles—now you understand why I was so opinionated in my answer to the previous question! We believe that one of the biggest roadblocks for getting commercially viable autonomous vehicles is training and testing on the right data, specifically edge-cases: the individually unlikely events that together make up all the risk. I joined them right after the degree, in autumn 2020 and have worked on building the core knowledge graph of edge case scenarios using a range of heterogeneous data sources. At the moment, I spend most of my time serving some of the world's foremost AV developers, enabling them to train, test and validate their stack through the technology that we've built. Sorry for the shameless plug, but we are growing further and looking for more talent, so do get in touch if you are interested!
Do you have any advice for prospective students?
Advice seems a little much to me, but I can tell you what I personally would do differently. The amount of content was considerable, especially during the first term. I probably invested too much time on the coursework and then came to regret that during exam season. I'm not saying that one should disregard coursework but definitely find the right balance—you can really spend a lot of unnecessary time trying to make a piece of work completely perfect.
Also, as I mentioned before, if I could go back, I would cherish the opportunities of the individual project time more. I must say, though, that although I ended up working for an AI startup after the MSc rather than pursuing research, I still very much enjoyed the experience of research on the project.