Getting to know a research intern: Tomas Effenberger
Google offers a variety of opportunities for students who wish to gain industry experience. Through our "Getting to know a research intern" series, we provide a glimpse into some of these opportunities as well as the impactful projects research students work on at Google. Today we’re featuring Tomas Effenberger, Master student (now PhD) from Masaryk University, Brno, Czech Republic. Tomas interned with our Brain Applied Zurich team. Read On!
So tell us about yourself and your PhD topic …
I am a member of the Adaptive Learning research group at the Masaryk University, Brno, Czech Republic. Our mission is to make learning more efficient and engaging by personalizing educational systems using artificial intelligence techniques. To achieve this mission, we research things like how to model students, how to reliably estimate difficulty of tasks, how to find optimal parameters for mastery learning, or how to deal with dangerous feedback loops and fairly evaluate adaptive learning systems.
We develop applications that provide personalized learning experience by estimating students’ skills as they practice and recommending them tasks of the optimal difficulty. Suitable challenges, neither too easy, nor too difficult, help the students immerse themselves into the problem solving activity and achieve the state of flow.What does this mean for education?
We provide teachers with tools that help them be more impactful. We focus on automating the activities that are either too boring, too difficult, or even impossible for teachers, such as giving immediate personalized feedback on students’ homework. That gives the teachers time to prepare more sophisticated learning activities that couldn’t be performed well by computer tutors – for example a complex game followed by a guided reflection.
In addition, we develop tools that help teachers understand better the current skills of all their students. I like to think about our mission as giving teachers super-powers. No matter how good machines are, there will always be a place for teachers – though hopefully their jobs will be more fun and less frustrating than today.
Why did you choose this topic?
I strongly believe that improving education can have a huge and positive impact on the lives of every person on the planet. Every child spends many hours learning nearly every day, and the process of learning is often experienced as either boring or frustrating. By making the learning more efficient and engaging, we can help the students become happier and more skillful. That is why improving education is such a strong leverage point: happy and skillful people are likely to lead advances in all other aspects of our society – including improving education even further!
During my master studies at Masaryk University, I learned many useful tools that can help me on my life mission to advance personalized learning. Research on adaptive learning is a sweet spot at the intersection of what I consider important (improving education), and what I am good at (computer science and artificial intelligence).
Why did you apply for an internship at Google?
I had not worked as a software engineer before and I realized that I was lacking some essential skills for an efficient development of complex scalable adaptive learning systems. Interning at Google was a great opportunity to learn best practices from top software engineers and to see how machine learning can be used at scale.
What project was your internship focused on?
I worked under Quentin de Laroussilhe from the Brain Applied Zurich team to make state-of-the-art image dataset augmentation easily accessible to anyone inside and outside Google. A more high-level goal of my effort was to improve the quality of machine learning models by a combination of three concepts: data augmentation, meta learning, and transfer learning.
Data augmentation is a powerful technique for improving generalization. When training a machine learning model, the more data you have, the better performance you can achieve. By applying random distortions to the training data you already have, you can create new artificial training data. For images, those distortions can be random crops, rotations, increasing brightness, etc.
Since image augmentation includes many parameters, researchers at Google developed an algorithm called AutoAugment that searches for the best augmentation policy using millions of labeled images. This technique of learning an architecture and hyperparameters is referred to as meta learning, or learning to learn.
Reusing components learned on one task to solve new tasks is called transfer learning. I have released several image augmentation policies, and published them on TensorFlow Hub, allowing anyone to import and use them in the TensorFlow graphs of their models.
We have also incorporated the image augmentation policies into a meta-learning framework that can now jointly optimize the choice of the image augmentation policy and architecture of the model.
How closely connected was the work you did during your internship to your research topic?
The focus of my internship project was much broader with the goal to advance machine learning in general. Nevertheless, machine learning is one of the main tools that is used for adaptive learning. It was inspiring to see how various machine learning techniques and state-of-the-art tools are used at Google to tackle challenging problems that share some common aspects with adaptive learning.
This is already your second internship at Google. What were the reasons to come back?
I wanted to further develop my software engineering skills while working on research projects that can make the world a better place, at least transitively. After my first internship, I knew that Google was the perfect place for this. I received a lot of open and actionable feedback and I was not afraid to make mistakes, because I knew that they will be taken as great learning opportunities.
Engineers at Google are passionate about their work and have a clear vision of what they want to achieve, why they want to achieve it, and how they will do it. Even more importantly, they know how their work relates to the core values and mission of the company.What key skills have you gained from your time at Google?
I have definitely improved my coding skills, especially through code reviews and pair programming sessions. I also had plenty of opportunities to practice data analysis, build machine learning models, and evaluate them properly. Last but not least, I think I quite considerably improved my communication skills, thanks to my host who pushed me to collaborate with many people both inside and outside our team.
What are your next steps? What is coming next after the internship?
I am now back to Brno to conduct a PhD in the Adaptive Learning research group at the Masaryk University under the supervision of Radek Pelanek. My main focus is on adaptive learning of introductory programming, which is a topic that I have already started to explore in my master thesis. I have developed a web application for learning the basics of programming that combines several strategies to support learning and motivation, such as using drag-and-drop blocks to build programs, visualizing their execution in a game world, and recommending the next suitable task.
Despite focusing primarily on learning programming, I also plan to explore more general methodological aspects concerning the development and evaluation of adaptive learning systems. I will strive to make my research readily applicable and helpful in existing large-scale educational systems such as Khan Academy.