На этом шаге мы дадим краткую характеристику машинному обучению.
В викторианской Англии жила леди Ада Лавлейс - друг и соратник Чарльза Бэббиджа, изобретателя аналитической вычислительной машины (первого известного механического компьютера) . Несомненно, устройство опередило свое время, но в 1830-х и 1840-х годах оно не задумывалось как универсальный компьютер, потому что самой идеи универсальных вычислений еще не существовало. Машина просто давала возможность использовать механические операции для автоматизации некоторых вычислений из области математического анализа, что и обусловило такое ее название. Тем не менее она была более интеллектуальным потомком ранних механических вычислительных устройств, таких как суммирующая машина Паскаля ("Паскалина") или счетчик шагов Лейбница - усовершенствованная версия "Паскалины". Разработанная Блезом Паскалем в 1642 году (в возрасте 19 лет!) "Паскалина" была первым в мире механическим арифмометром - она могла складывать, вычитать, умножать и даже делить .
В 1843 году Ада Лавлейс заметила:
"Аналитическая машина не может создавать что-то новое. Она может делать все, что и мы... ее цель - лишь помогать нам осуществлять то, с чем мы уже хорошо знакомы" .
Наблюдение леди Лавлейс остается поразительным даже спустя 179 лет. Сможет ли универсальный компьютер "создавать" что-нибудь свое, или он всегда будет просто выполнять операции, полностью понятные нам, людям? Сможет ли когда-нибудь породить какую-либо оригинальную мысль? Сможет ли учиться на собственном опыте? Сможет ли стать творцом?
Позднее пионер ИИ Алан Тьюринг в своей знаменитой статье Computing Machinery and Intelligence назвал это замечание "аргументом Ады Лавлейс".
Тьюринг придерживался весьма провокационного для того времени мнения, что компьютеры могут имитировать в принципе все аспекты человеческого интеллекта.
Обычно, чтобы заставить компьютер выполнять полезную работу, нужно создать правила - программу, которой нужно следовать, чтобы преобразовать входные данные в соответствующие ответы (точно так же, как леди Лавлейс записывала пошаговые инструкции для аналитической вычислительной машины). Машинное обучение меняет ситуацию: машина просматривает входные данные и соответствующие ответы и выясняет, какими должны быть правила (рисунок 1).
Рис.1. Машинное обучение: новая парадигма программирования
В машинном обучении система обучается, а не программируется явно. Ей передаются многочисленные примеры, имеющие отношение к данной задаче, а она находит там статистическую структуру, которая позволяет выработать соответствующие правила для решения этой задачи. Например, чтобы автоматизировать сортировку фотографий, сделанных в отпуске, можно передать системе машинного обучения множество примеров фото, уже отобранных людьми, - и система выучит статистические правила классификации конкретных материалов.
Расцвет машинного обучения начался только в 1990-х годах, но данное направление стало наиболее популярной и успешной частью ИИ - эта тенденция подкрепилась появлением быстродействующей аппаратуры и огромных наборов данных. Машинное обучение тесно связано с математической статистикой, но имеет несколько важных отличий - подобно тому как медицина связана с химией, но не может быть сведена только к ней, ведь включает свои особенные ответвления. В отличие от статистики машинное обучение обычно имеет дело с большими и сложными наборами данных (скажем, миллионы фотографий, каждая из которых состоит из десятков тысяч пикселей), к которым практически невозможно применить классические методы статистического анализа, например байесовские. Как результат, машинное, и в особенности глубокое, обучение не имеет мощной математической платформы и основывается почти исключительно на инженерных решениях. В отличие от теоретической физики или математики машинное обучение - это очень практическая сфера, основанная на эмпирических данных и сильно зависящая от достижений в области информатики и вычислительной техники.
На следующем шаге мы рассмотрим изучение правил и представлений данных.