How do you start with AI when you're a developer and have no idea where to begin? Organize a workshop for your colleagues and challenge them to start exploring machine learning. I certainly learned a ton while organizing the AI learning experience. It was a lot of fun.
What is the AI learning experience?
The AI Learning Experience is an initiative that I started with my colleague Joop Snijder to help people within Info Support to get started with AI.
It is not your everyday course on AI. It is actually a really hard course. We organize 4 separate workshops, one every two weeks.
The workshops are organized as a self-paced experience. We provide the people that attend the workshop with data, a short description of the goal and materials to watch and read. They are then supposed to figure out how to build various machine learning models.
At the end of the day we have a discussion about it. The most important questions that we ask are:
- What did they achieve?
- What did you learn today?
- What can you tell others about your experience?
Info Support is a company that is build upon knowledge and knowledge sharing. They think it is so important that all the hours for the workshops are sponsored by the company. No questions aksed!
When I was organizing the workshops I was expecting to have to work really hard to get the hours sponsored for my colleagues. But it turns out that Info Support is a company that really values knowledge.
Of course the workshops have steep learning curve. You can't learn everything there is to know about machine learning and AI in the hours that we are together in a workshop. But that's fine if you ask me.
I think that if you really like this subject, you have no trouble reading a book during the evenings on the subject. And that's what we're aiming at.
Let's be honest, it's not for everyone
One of the things that I discovered is that machine learning isn't for everyone.
We deliberately made the workshops hard to complete. We expected a rather senior audience of lead developers and architects. This group of people within Info Support is well known for their skills. And we totally expect them to be able to learn with the resources with provide without needing much guidance.
We were right and wrong about this. Some people loved this concept and went crazy building machine learning models. We've seen people with large stacks of books that spend hours to learn everything there is about machine learning.
Other people quickly learned that it is a hard subject and that you need to have a certain love for abstractions and numbers. There was one person that approached us and told us: "It's fun to see my colleagues go at it like that, but it's not for me. Do you mind if I quit?".
It's hard to hear that at first, but at the same time, I think it is honest feedback. It's hard to hear because I think that I've failed to bring across the fun factor of the work. But at the same time it's good that some people discover this about themselves.
From this experience I learned that everyone has a different love for technology. It's not that people who try machine learning and quit, are worse developers. Absolutely not. They just like other things!
Content has changed over time
Together with the discovery that our workshop wasn't for everyone, we looked carefully at the content of the workshops as well. Because we felt that the content could be improved as well.
We invited a couple of people that attended the workshop to talk about the workshop in depth and tell us where we could improve.
The feedback was clear that the content wasn't always the best for the attendees that had different levels of experience.
We started out with a format where we gave people a general idea for a project and let them figure out the rest. That was a little too free format for some people and we didn't fully enable them to learn the things we wanted them to learn.
So now with our third iteration of the AI learning experience, we made our program more fixed. We introduced a set of topics to go through:
- The machine learning process
- Text classification with decision trees and logistic regression
- Image recognition with deep learning
- Network analysis
We want people to experience different types of machine learning and AI related algorithms. Because everyone is working on the same thing you get a better synergy within the group. People are empowered to help eachother.
When we did the AI learning experience before we didn't provide any data. This caused a problem where people were unable to find usable datasets for what they wanted to work on. That's really annoying and you should not be spending three days non just getting the data.
So instead of letting people find the data themselves, we provide open datasets that have been checked to be sufficient for the case the people in the workshop are working on.
Also we discovered that some of the projects we came up with were simply too hard to complete in time even if the attendees for the workshop had the right data.
So we spend time to come up with projects that are better suitable. I asked a few data scientists, developers and students within the company and spend some time on websites like datacamp to figure out a few cool cases for the workshop. The result is a balanced set of interesting cases to work on.
Finally we also spend some time thinking about the composition of the workshop group itself. Previously we invited a couple of data scientists and data engineers to join as well. This is tricky as you can imagine.
Inviting experienced people to a workshop that may prove too simple for them is dangerous. They can get discouraged and become a liability to the rest of the group.
I think we fixed the problem by asking the more experienced people to help the others get started. This creates an environment were people can learn from eachother.
The inexperienced developers learn about machine learning and AI. The experienced data scientists and data engineers get a chance to become a real expert, because they have to explain what they know in simple terms to people that don't know their jargon.
What's next?
I think we're in a good place now with the content of the workshop. Of course it doesn't cover everything about AI and machine learning. We could go on for months talking about all the different aspects of machine learning and then spend another year talking about deep learning.
But that's not the goal of our workshop. We want people to get hands-on experience with some algorithms and inspire them to go learn more by themselves.
What can I do if I want to learn AI at my company?
We offer this workshop to other companies as well. And if the current format sounds like a bad fit for your company we can talk about tuning it so it fits your needs.
Contact me if you want more information about this workshop or if you're interested in a talk about AI in general.