На этом шаге мы рассмотрим суть понятия "обучение" с точки зрения компьютера.
Чтобы дать определение глубокому обучению и понять разницу между этим и другими методами машинного обучения, сначала нужно узнать, что делают алгоритмы машинного обучения. Как отмечалось на предыдущих шагах, машинное обучение выявляет правила решения задач обработки данных по примерам ожидаемых результатов. То есть нам нужны три составляющие:
Модель машинного обучения трансформирует контрольные входные данные в значимые результаты, "обучаясь" на известных примерах того и другого. То есть главной задачей машинного и глубокого обучения является значимое преобразование данных, или, иными словами, обучение представлению входных данных, приближающему нас к ожидаемому итогу.
Прежде чем двинуться дальше, давайте определим, что есть представление данных. По сути, это другой способ их представления, или кодирования. Например, цветное изображение можно закодировать в формате RGB (red-green-blue - "красный - зеленый - синий") или HSV (hue-saturation-value - "тон - насыщенность - значение"): это два разных представления одних и тех же данных. Некоторые задачи трудно решаются с данными в одном представлении, но легко - в другом. Например, "выбрать все красные пиксели" проще в RGB-изображениях, тогда как "сделать изображение менее насыщенным" быстрее в формате HSV. Главная задача моделей машинного обучения как раз заключается в поиске соответствующего представления входных данных - преобразований, которые сделают данные более пригодными для решения конкретной проблемы.
Обратимся к примеру. Рассмотрим систему координат с осями X и Y и несколько точек в этой системе координат (x, y), как показано на рисунке 1.
Рис.1. Пример некоторых данных
Как видите, у нас имеется несколько белых и черных точек . Допустим, нам нужно разработать алгоритм, принимающий координаты (x, у) точки и возвращающий наиболее вероятный цвет: черный или белый. В данном случае:
В данном случае нам нужно получить новый способ представления исходных данных, позволяющий четко отделять белые точки от черных. Таким преобразованием, кроме прочих, могло бы быть изменение системы координат, как показано на рисунке 2.
Рис.2. Изменение системы координат
Координаты наших точек в изменившейся системе координат можно назвать новым представлением данных. Причем более удачным! Задачу классификации данных "черный/белый" здесь можно свести к простому правилу: "черные точки имеют координату x > 0" или "белые точки имеют координату x < 0". Это новое представление в сочетании с найденным правилом точно решает поставленную задачу.
В данном примере мы определили изменение координат вручную: использовали человеческий интеллект, чтобы придумать надлежащее представление данных. Этот подход можно с успехом применять в похожих простых задачах. Но смогли бы вы с такой же легкостью классифицировать изображения рукописных цифр? Получилось бы у вас явно сформулировать правила преобразования, которые подчеркнули бы разницу между шестеркой и восьмеркой, единицей и семеркой, написанными разными людьми?
Отчасти это возможно. Такие правила, как "количество замкнутых окружностей", или вертикальные и горизонтальные пиксельные гистограммы позволяют довольно точно различать рукописные цифры. Но отыскать подобные полезные представления вручную очень непросто. К тому же система, основанная на жестких правилах, очень хрупкая - просто кошмар для поддержки. Каждый раз, столкнувшись с нетипичным образцом почерка, нарушающим тщательно продуманные ранее протоколы, вам придется добавлять новые, не забывая при этом учитывать их взаимовлияние со всеми предыдущими.
Вы, наверное, думаете: если этот процесс такой болезненный, можно ли его автоматизировать? Что, если мы системно опробуем различные наборы представлений данных, сгенерированных автоматически, и правила, на них основанные, определяя наилучшие, базируясь на проценте правильно классифицированных цифр в некоторой первоначальной выборке? Это и будет самое настоящее машинное обучение. Обучение в контексте машинного обучения описывает процесс автоматического поиска преобразований, создающих полезные представления определенных данных, который управляется сигналом обратной связи - представлениями, подчиненными более простым правилам решения поставленной задачи.
Алгоритмы машинного обучения обычно не выделяются чем-то особенным: они просто выполняют поиск в предопределенном наборе операций, который называют пространством гипотез. Например, в задаче классификации точек таким пространством будет пространство всех возможных преобразований двумерной системы координат. То есть технически машинное обучение - это поиск значимого представления и правил по некоторым входным данным в предопределенном пространстве возможностей с использованием сигнала обратной связи. Эта простая идея позволяет решать чрезвычайно широкий круг интеллектуальных задач: от распознавания речи до автоматического вождения автомобиля.
Теперь, когда вы знаете, что понимается под обучением, посмотрим, что особенного в глубоком обучении.
На следующем шаге мы рассмотрим глубокое обучение.