Машинное обучение представляет собой некоторый тип искусственного интеллекта, который, как правило, используется для создания моделей, с помощью которых выполняется анализ данных. Машинное обучение является процессом программирования, в котором вместо написания кода программы, как в случае с традиционными компьютерными архитектурами, электронной вычислительной системе дается множество наборов образцов данных, которые демонстрируют, что подойдет или что не подойдет для желаемой аналитической модели.

Простым примером этого процесса являются методы сопоставления с образцом и распознавания образов, которые можно реализовать и в недорогих системах. Например, модуль Intel Curie на основе микроконтроллера Intel Quark имеет возможность выполнить простое сопоставление с образцом, поскольку такой микроконтроллер имеет массив из 128 нейронов по 128 байт каждый. Нейроны функционирует и как механизм принятия решений, и как память, поэтому в данном случае даже можно реализовать небольшую нейронную сеть. Нейроны содержат информацию, которая имеет свой вес, и вес, дающийся каждому нейронному соединению в сети, можно изменить как определенный алгоритм.
Машинное обучение является одним из основных принципов построения искусственного интеллекта, и наше понимание интеллекта обязательно включает в себя акт обучения. Таким образом, процесс программирования, каким мы его знаем в классическом понимании, не в состоянии обеспечить искусственный интеллект возможностью обучаться самостоятельно. Нейронные сети, хотя и встроенные в полупроводниковые микросхемы с традиционными компьютерными архитектурами (Intel x86 или ARM Cortex) не работают по принципам классических архитектур, посколку структурированы по-другому. «Программирование» нейронных сетей является в некотором смысле и проще и в то же время сложнее. Они проще, потому что здесь нет никакого программирования в традиционном смысле этого слова. Вместо этого обширные нейронные сети представляют собой наборы данных правильных и неправильных образцов, которые формируют аналитическую модель с каждой новой выборкой данных. Таким образом, трудность здесь заключается в том, чтобы найти из множества данных те, которые соответствуют или не соответствуют желаемой аналитической модели. Такой искусственный интеллект может изменяться с течением времени при изменении данных.