Machine-learning engineer was the fastest growing job category in the five years to 2017, according to LinkedIn.
But tech's hottest role isn't a simple field to break into, requiring at least high school math and some programming knowledge, even to get started.
Luckily there are an increasing number of options for those wanting to get a grounding in the field, with Amazon Web Services (AWS) being the latest tech giant to release a set of machine-learning courses for free. That's in addition to the existing well-regarded material available online from the likes of fast.ai and Andrew Ng and Coursera.
It's worth noting that most of these courses will benefit from having a basic knowledge of Python and high school linear algebra, statistics and calculus.
Here are the free courses offered by the major tech firms.
Google offers nine different courses covering various aspect of machine-learning via its Google AI Education site.
SEE: IT leader's guide to the future of artificial intelligence (Tech Pro Research)
If you're a developer after a quick introduction then theMachine Learning Crash Course is a good option, with video lectures and exercises covering the basics, whereas if you want a more comprehensive deep dive then try its Google's Deep Learning course on Udacity. Developed with Vincent Vanhoucke, principal scientist at Google and technical lead in the Google Brain team, the Udacity course is taught by industry pros and offers hands-on assignments that task you with building increasingly complex machine-learning models using Google's open-source TensorFlow framework.
Other courses on the Google AI Education site cover problem framing and data preparation, both important topics for anyone considering machine learning.
Machine Learning Crash Course- The basics of algebra, an understanding of programming basics, and some experience coding in Python.
Deep Learning by Google on Udacity- Described as an intermediate to advanced course, two years of programming experience is recommended, alongside basic knowledge of statistics, linear algebra, and calculus, as well as familiarity with simple machine-learning concepts like supervised learning, and experience of using Git and GitHub for version control.
You can apply to the Machine Learning Crash Course here, the Deep Learning course here, and see the other machine-learning courses offered by Google here.
Microsoft's main teaching program is its Microsoft Professional Program for Artificial Intelligence that it offers on the edX learning platform.
Through a series of video lectures and coursework, the program aims to offer a grounding in machine learning; covering essential mathematics, how to use Python in data science, how to build machine-learning models, how to build functioning speech and computer vision systems, and other basics.
It culminates with students being asked to solve a real-world problem using a deep-learning system they have developed.
Microsoft also offers a machine learning track under its AI School site, which offers 16 courses, many of which are focused on Microsoft's machine-learning themed services on Microsoft's Azure cloud platform.
Two notable courses available via Microsoft's AI School include:
Build a Predictive Maintenance Solution using Deep Learning- This course walks students through how to build a predictive maintenance system using deep-learning models. It covers basic statistics, basic deep learning, and delves into a type of neural network commonly used in text analysis, a Recurrent Neural Network.
The course is based on a series of modules on edX, many of which have been produced by MIT and Microsoft.
ML Crash Course - This course provides a bare bones introduction to fundamental machine learning concepts, covering topics via a mixture of text, charts and graphs, and letting learners practice programming exercises using the Azure Notebooks service.
Microsoft Professional Program for Artificial Intelligence- between 120 and 480 hours. Each of the 10 courses run via edX for three months from January, April, July, and October throughout the year.
The downside of the Microsoft Professional Program for Artificial Intelligenceis that while the courses are free, if you want accreditation it'll cost $990 — $99 for each course you complete.
Build a Predictive Maintenance Solution using Deep Learning follows the same model, requiring paying $99 for a verified certificate.
The Microsoft Professional Program for Artificial Intelligencerequires high-school math and statistics, and a basic knowledge of programming, ideally Python.
The Build a Predictive Maintenance Solution using Deep Learningcourse requires a basic knowledge of math and some programming experience.
The ML Crash Courseis designed to be suitable for anyone with an interest in the subject.
You can apply to any of Microsoft's machine learning courses via its page on Microsoft's AI School page or to theMicrosoft Professional Program for Artificial Intelligencehere.
The company offers over 30 online machine-learning courses, including video, labs and documentation, that have been used within Amazon for the past 20 years.
Developers can take courses that teach machine-learning building blocks, how to build computer vision and natural language processing systems.
The courses are being offered as part of a new AWS certification in machine learning, which culminates in an exam testing a person's knowledge about how to carry out machine learning on the AWS platform.
After completing the fundamentals, students are walked through real-world examples of applied machine learning, covering topics such as Amazon's approach to delivery route optimization.
Many of the free online offerings seem quite short overviews - consisting of videos of a few hours or less.
Requires an Amazon account to sign into free courses.
The machine-learning exam is currently in beta and priced at $150, half the normal cost of $300.
Classroom sessions are not free, with a one day course on Deep Learning held in London in December, for example, costing £500.
Requirements vary per course, although there courses available for each skill level.
You can get started via this site.
Facebook and Udacity also offered this course providing an introduction to PyTorch, an open-source, deep learning framework that has a reputation for being easier to learn than some competing frameworks like Tensorflow. The course offered the top 300 students the chance to go on to earn full scholarships to Udacity's Deep Learning Nanodegree program.
Unfortunately the course is now closed to new entrants, but you can check its landing pagein case it reopens at a later date.
One caveat is that these courses aren't necessarily a good way for someone without a technical background to break into a career as a data scientist or machine-learning engineer.
A cursory look at job postings for data scientist roles shows that a bachelor's degree, or in some cases a master's or Phd, in a technical field is commonly asked of applicants. From a career perspective, these courses seem to be most useful for allowing those who already have a university degree in a technical subject — such as maths, computer science or engineering — to specialize.