Getting to Know a PhD – Ian Goodfellow
June 3rd, 2014 | by Sarah H | published in Google Student Blog
Google interns have the opportunity to work on some of Google’s most cutting edge and innovative projects. We also offer a variety of opportunities for PhD students who wish to gain industry experience. Through our Getting to Know a PhD series, we’ll provide a glimpse into some of these opportunities as well as the impactful projects PhD students at Google work on. Today we’re featuring Ian Goodfellow, a Google PhD Fellowship Recipient and a former Software Engineer Intern in our Mountain View office, who interned with the Street Smart team.
So Ian, tell us about yourself and your PhD topic …
I’m a PhD candidate at the Université de Montréal in Québec. I’m a member of Yoshua Bengio’s LISA lab where essentially all of us study deep learning. Deep learning is a form of machine learning based on learning hierarchical, distributed models to solve artificial intelligence tasks. My PhD thesis is focused on developing new deep learning techniques and applying them to computer vision problems like object recognition, image inpainting, recognizing occluded objects, and transcribing sequences of characters from photos.
Why did you apply for an internship at Google?
Entering the final year of my PhD program, I was unsure whether I wanted to go into industry or remain in academia. Having spent several years in academia already, I had a good idea of what to expect there, but little firsthand experience in industry. I thought an internship at Google would be a good opportunity to find out whether I like working in industry.
What was the focus of your internship project?
The focus of my internship project was to develop a neural network capable of transcribing the address numbers on houses from photos taken by the Street View cars. By combining the transcription data with the cars’ GPS data, the Street Smart team can then place houses accurately on the map. This system has already been used to transcribe nearly 100 million house numbers. Yaroslav Bulatov had the basic idea for the system and had a prototype working already when I arrived. My role as an intern was to set up the correct equations for maximum likelihood learning and inference in the model, write the code for those features, and tune the configuration of the network to get good performance.
What is working on the Google Street Smart team like?
Fun and exciting. My intern host, Julian Ibarz, was very supportive and welcoming and the team lead, Sacha Arnoud, had a lot of interest in our project. As a computer vision researcher, Street Smart was an especially interesting place to work because they have assembled datasets of labeled images unavailable anywhere else. The team hosted social events as well, which allowed me to get to know my team on a personal as well as professional level.
What was your favorite part of the internship?
Getting to work with my intern host, Julian. He was good at planning objectives that I could accomplish in just one summer but that also had big impact. He knows the database and high performance computing infrastructure very well. As a PhD student, machine learning people only get to collaborate with other machine learning people most of the time. Doing the internship was a good opportunity to get outside the “machine learning bubble” for a few months and collaborate with people who have a broader skill set. I learned new skills that I could take back to the lab.
What key skills have you gained from your internship?
I gained an intuition of how deep learning models work at scale. Their performance is quite a lot better in this regime. I also learned a lot about the system infrastructure necessary for working with large datasets and distributed high performance computing.
What impact has this internship experience had on your PhD studies?
The project I worked on during my internship was the basis for a publication at the International Conference on Learning Representations. We were delighted that it was accepted for an oral presentation. The system also went into production a few weeks before the end of my internship. Within a few months, it transcribed the addresses of nearly 100 million houses. My advisor let me include this paper in my PhD thesis since there was a close connection to the subject area. It’s a nice way to close my thesis–I can show that some of the work developed early in the thesis has had a real impact.
I also learned a lot about how to keep large codebases with many contributors organized. This has benefited my lab already. After I returned from my internship I had a lot of ideas how we could overhaul the way the lab develops software. I supervised a masters student, Alassane Ndiaye, who implemented a lot of automated format checking tools that help to keep our libraries much cleaner than they were before.
You are also a recipient of a Google PhD Fellowship in Deep Learning, mentored by Samy Bengio. What can you tell us about your fellowship experience?
The fellowship was a really great opportunity and gave me the freedom to spend time on things like developing the Pylearn2 open source machine learning library and helping Yoshua write a textbook instead of being completely focused on specific grants. Samy gave me a lot of advice about careers at Google, my internship project, and applying for a full time position.
Has your internship experience impacted the way you think about your future career?
One of the main reasons I applied for the internship was to gain experience working in industry to help decide whether I wanted to become a professor at a university or a research scientist at a company. Doing the internship helped me to figure out that a lot of my personal interests are better suited to industry than academia.
You will start working at Google soon. What are you going to work on?
I will be joining Jeff Dean’s deep learning infrastructure team. I plan to split my time between collaborating with Street Smart, and improving DistBelief, Google’s distributed deep learning library.
Why should a PhD student apply for an internship at Google? Any advice to offer?
To gain more exposure to industry for your work. The work I did as an intern was covered in publications like MIT Technology Review, Vice, Wired, and Slate, and part of a presentation I made during the internship was reproduced in PC World and a keynote talk by the CEO of NVIDIA. I think the experience raised my research profile significantly.
Another piece of advice is that if you are given a choice between teams, choose the team where you can have the biggest impact. This is probably not a team that is already known for publishing in your field–look for a team that can benefit from your area of expertise but doesn’t have enough people in your subject area on staff yet.
For more information on our research areas, award programs, people, and publications, please visit Research at Google. To learn more about other internships, outreach programs and scholarships, check out our Student Careers Site. Additionally, follow Google Students on Google+ and use the hashtag #googleinterns to keep up with more ‘Getting to Know a PhD’ and ‘Intern Insights’ this summer.
Posted by Beate List, Research Programs, EMEA