Advice from those with years of experience, from Facebook's chief of engineering to Intuit's chief data officer.
If you want to carve out a career in machine learning then knowing where to start can be daunting.
Not only is the technology built on college-level math, jobs in the field typically ask for a Master's degree in a related technical field.
Yet if you're willing to work at it, it's never been easier to learn about machine learning, and getting started doesn't even require much mathematical knowledge.
Here are five tips for breaking into the field from senior data scientists and machine-learning engineers, speaking to TechRepublic at the AI Conference presented by O'Reilly and Intel AI.
Learning programming is a more important first step than learning math
If you plan to start tweaking machine-learning models then you'll need a reasonably deep knowledge of math: spanning linear algebra, calculus, and statistics.
But for beginners in the field, learning the basics of programming and getting to grips with a language like Python, which is commonly used for machine-learning tasks, is more important, says Peter Cahill, founder, and CEO of voice-interface specialist Voysis.
"If someone has programming fundamentals then, from a technical point of view, I think that's enough for them to dive into machine learning," he says.
"You're not gonna get very far if you can't program at all, because that's ultimately how you configure the machine-learning frameworks is through programming.
"I think strong math was probably more essential before than it is now. It's certainly helpful to have mathematical knowledge if you want to develop custom layers or if you're really going very, very deep on a problem. But for people starting out, it's not critical."
In some respects, it's just as important to have a willingness to seek out new information, says Yangqing Jia, director of engineering for Facebook's AI platform.
"As long as you keep an exploratory mindset there's such an abundance of tools nowadays you'll be able to learn a lot of things yourself, and you have to learn things yourself because the field is growing really fast."
Learn the major machine-learning software frameworks
There is a wide range of machine-learning software frameworks, which allow users to implement, train and validate neural networks - the brain-inspired mathematical models commonly used in machine learning - using a variety of programming languages.
"I think at this point we have tools that allow people to use machine learning quite easily," said Ben Lorica, a chief data scientist at O'Reilly Media.
"By easily I mean if you have some programming skills, for example in Python. If you look [back to] several years ago, particularly in deep learning, the frameworks were still a little harder to use, now they're getting easier."
A popular choice is Google's TensorFlow
software library, which allows users to write in Python, Java, C++, and Swift, and that can be used for a wide range of deep-learning tasks, such as image and speech recognition, and which executes on CPUs, GPUs, and other types of processors. It is well-documented, and has many tutorials and implemented models that are available
Another popular choice, especially for beginners, is PyTorch
, a framework that can be used with the imperative programming model familiar to developers and that allows programmers to use standard Python statements. It can be used to implement deep neural networks
, ranging from Convolutional Neural Networks (CNNs) to Recurrent Neural Networks (RNNs), and runs efficiently on GPUs.
Facebook's Jia - who created the Caffe framework
- says PyTorch and Tensorflow are among the "really nice frameworks that it's good to start with", due to the breadth of tutorials and extensive documentation available.
Ashok Srivastava, chief data officer at Intuit, recommends using these frameworks alongside some of the publicly available datasets, such as ImageNet
or MS COCO
for image recognition, or the more general UC Irvine Machine Learning Repository
, which covers a wide range of areas.
Use on-demand infrastructure for machine learning
While building your own machine-learning rig may be sensible for long-term cost savings, initially, it will be easier to spin up machine-learning tailored infrastructure on a public cloud platform, according to Facebook's Jia.
"I'd probably start with available open-source tools in cloud offerings because sometimes it's really difficult to build an environment from scratch," he said.
"On the system side there is Docker, Kubernetes, and all kinds of virtualization approaches that provide you a pre-set environment, even on your desktop, [for example], Docker installs some pre-made images for all those AI systems. It's a pretty good [place to] start."
"Spend time on your problems and less time on your tooling, which has become really well constructed after maybe five years of development in the deep-learning field," said Jia.
Cut your teeth on the high-quality tutorials and challenges available online
If you're interested in machine learning there's no shortage of highly regarded courses, tutorials, and books available, some put together by leading figures in the field.
For example, you could check out these Coursera offerings, one by Geoff Hinton on neural networks and another co-created
by Andrew Ng that provides a general overview of the topic, while this Udacity course
was co-created by Sebastian Thrun, of Google self-driving car fame, and provides access to experts from OpenAI, Google Brain, and DeepMind.
Beyond these tutorials, you can also try your hand at implementing machine-learning models in one of the varieties of contests held by the data science community hub Kaggle
"Start by looking to the well-established tutorials. For example, in computer vision, there's one pretty good one, and also try out a bunch of Kaggle challenges," said Jia.
"You can basically get a taste of what kind of problems people are solving and also how the existing folks are actually solving problems, and [then] internalize that knowledge and start applying those principles to a whole new set of problems."
Intuit's Srivastava described the breadth of materials available online for learning about machine learning as one of the most exciting aspects of the field.
Move on to real-world placements when you're ready
Once you understand the fundamentals, O'Reilly Media's Lorica says it is important to demonstrate your ability to apply that knowledge in the real world.
"The main challenge for people is to go beyond working on toy examples to working on actual data projects from end-to-end," he says.
Those real-life projects could be internships or one of the many fellowships available worldwide, he added, such as the 10-week placement offered by ASI Data Science
"The emphasis here is that they pair you with a company which has a real project and then you're mentored by someone in the organization and you work through a project.
"The key is you can learn a lot on your own, but it's really important working with data and learning the pitfalls, the gotchas and limitations of all these algorithms."
This real-world experience teaches the nitty gritty of the machine-learning process, he says, including the less-often discussed the process of preparing data, which he says can be as much as 80 percent of the job, as well as how to interpret results produced by machine-learning models.
Ultimately demonstrating your skills via internships and fellowships is key to making yourself stand out to potential employers, says Lorica.
"A lot of us who have spent years in the field know the companies who have good data groups. So you hire out of those data groups or you hire out of the right fellowship programs."