In this interview with Demando.se, read what SVEXA's Director of Machine Learning & AI Lars had to say about how he got into AI, the best way to learn, and how it's different from 'normal' development. Scroll down for the full interview...
Despite his young age, Lars has more experience than most within AI. We have conducted a longer interview to answer many of those questions that developers who are interested in AI may be wondering. What is required to get started with AI? What do the projects look like? And what environments do you work in? Lars answers all this and much more!
What is your professional role?
My official title is Senior AI Research Engineer, which means I run projects and solve problems using AI and machine learning (ML). I'm also Director of Machine Learning & AI at SVEXA.
Tell me a little about yourself, and how you got into AI / Machine learning?
I originally come from Norrbotten and moved to Stockholm to study Engineering Physics at KTH The Royal Institute of Technology. In grad school, I began to be interested in human learning, how to model it mathematically and with the help of computers. This led me to enroll at the newly started Master's program in AI and ML. I took my first Master’s year at KAIST in South Korea, where I also worked on the Chinese social network P1. The spent the second year back home here in Sweden and did my degree project at Elekta in using ML for tumor treatment. After the degree from KTH I have worked with AI in a number of different startups. First, I led the ML team at Watty, where we analyzed the electricity consumption of households. Then I worked on automating bookkeeping at Dooer , and for the last two years I have been working on the democratization of AI at Peltarion. In addition to this, I have led Stockholm AI, the largest community in the Nordic region for people interested in AI.
Tell us about your employer Peltarion and what you do there?
Peltarion builds a platform that makes AI available and cost-effective for all companies and organizations, with speed and scalability.
With a team of AI experts and top developers from Spotify, Skype, King, Truecaller and Google, Peltarion offers a graphical AI platform that enables collaborative and business-oriented project development, rapid experimentation, cloud-GPU utilization, and launch and scalability of AI models.
Since its founding in 2004 over 300 companies and organizations have used Peltarion's software, including NASA, Tesla, General Electric, Dell, BMW, Deutsche Bank, Lloyds Banking Group, Harvard, MIT and Oxford.
Any other exciting projects you’d like to tell us about?
Right now, Peltarion is involved in a project to automatically find and segment tumors, together with Elekta and Norrlands University Hospital . This is interesting as it currently takes a lot of time for doctors to do this manually. In addition, you see a relatively large difference in results depending on the doctor's experience. The purpose of the project is to help doctors to speed up the process as well as to give less experienced doctors access to the seniors' expertise. I held a lecture on the project at the Nordic Data Science Summit last year, which can be seen here .
We are also working on a heavy industry project, where we want to predict the quality of the cartons produced, providing a wide range of sensor measurements. This problem is exciting because the solution methodology is very general and can probably be used in many other manufacturing industries, from the steel industry to the dairy industry.
What does a workday look like for an AI developer?
I usually start the day at a cafe by reading some research article, check out my Twitter Feed, r/MachineLearning, and arXivsanity.com to see if there were some exciting news in ML. 9:30 I meet with the rest of the team to sync on the project we are working on. After that, I work on moving the project forward, ranging from trying to understand the data to be modeled, talking to customers, understanding their needs, reading research articles, building visualizations and algorithms, cleaning data, etc.
Which languages do you think are best suited for AI programming?
The easiest thing is to work in Python, as most related libraries are available there. Then, if you want to optimize performance on algorithms, you can dive into something faster, such as C ++, but it's not needed that often.
Can you tell us what should be included in the architecture to have a complete environment to start with AI programming?
If you want to sit and build your own projects from scratch you should at least have a look at the following:
1. Python, the most widely used language for ML projects.
3. If you want to work with ML professionally, it is also good to have basic database skills, such as Postgres or Mongodb. Docker can also be really valuable.
5. It's not uncommon for you to build demos, so it's good to understand both frontend and backend a bit.
What is the main difference between programming within AI vs "normal development"?
Overall, it is more like research and harder to estimate how much time will be needed to solve a given problem. This often makes it impossible to use development processes such as Scrum. Then, a maximum 5 % of the programming of AI systems is the actual algorithms and 95 % is common programming where you build systems to log results, visualize results from your experiments, set up automatic tests, etc.
Specifically, you still sit and write code in PyCharm, so it's a lot of common development. This is what we at Peltarion are trying to change, so that AI developers can focus more on algorithm development and less on overhead. Below you can see a screenshot from our platform, where I built a neural network for image segmentation.
What background/skills should you have to start in AI programming?
It depends entirely on what level you aim for. If you want to use machine learning to solve practical problems, you would need at least a high level understanding of what machine learning is, then use our platform to implement your idea. However, if you want to become an expert in the field, you must have a solid background in programming and in the mathematics used, such as linear algebra, probability theory, multivariate analysis, statistics, and machine learning.
Do you have any concrete tips on how to best get started with your AI career as a developer?
Assuming you have a solid basic knowledge in mathematics, I would do the following:
1. Learn basic machine learning through the Andrew Ng’s Coursera course (Stanford University)
2. Practice applying the algorithms you learned by joining in Kaggle competitions.
3. Learn Deep Learning, which is cutting-edge for most problems in image, audio, and text.
3a. Start with Michael Nielsen's "Neural Networks and Deep Learning" to quickly get a very educational introduction to the area.
3c . Finally, for more practical tips, I recommend Andrew Ng's e-book Machine Learning Yearning .
4. Become more practical by tackling your own problem, this forces you to think deeper of what one actually wants to solve, what data you need to solve it, how to get it and how to deliver it results.
If you don’t have a foundation in mathematics, I would check out Coursera courses covering the areas I mentioned above. Alternatively, you can check out the fast.ai course Introduction to Machine Learning for Coders, which seems good.
It is incredibly valuable to interact with people who have more experience than you, so I strongly recommend to join Stockholm AI and start to attend our events.
Do you know any good education and sources to learn AI programming?
For online courses, check out those mentioned above. If you are considering investing in this over a longer period of time, I would enroll at a Master's degree in AI / ML at one of our universities. In addition, we hold many lectures via Stockholm AI, where a large part is free.
What areas and tasks do you consider best suited for replacement with AI today?
There is a lot of talk that AI is going to replace people, while I think it's more interesting to look at where AI can help people to be more effective.
Training ML models that work in all corner cases is often very difficult, even though the task itself can be simple for a person. One example is chat bots: Everyone who has tried to chat with one knows that they work in a very limited area and can not fully replace a person. What you can do, however, is to have a human-in-the-loop and use ML to come up with suggestions for answers. This speeds up response time significantly and leads to the ability of each customer service customer to handle more customers. Similarly, you may not want an ML model to segment brain tumors without supervision, but if a radiologist can use it to speed up his work 90%, it would be very valuable.
How can you get in touch with you?
You can reach me on twitter at https://twitter.com/sjosund , or by mail at firstname.lastname@example.org