Thursday, 12 March 2015

Действительно ли машины обучаются?

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

Здесь находится популярный материал по машинному обучению для пользователей с нуля. Есть различные методы м.о., в частности обучение на тестовых примерах, или обучение с учителем (supervised learning). Вкратце, вот что имеется в виду.

  1. Существуют некоторые данные;
  2. С помощью анализа данных предлагается построить предиктор, то есть функцию, которая бы наилучшим образом предсказывала будущие данные.
  3. Разрабатывается конкретный метод (например, градиентного спуска) нахождения наилучшего предиктора в смысле минимизации ошибок. 
И делается элегантный вывод, что в результате этого «машина стала умнее». Так ли это на самом деле? Ни в коем случае. 

Дело в том, что самим построением алгоритма разработчик не только налагает существеннейшие ограничения на процесс поиска решения:
  • какое именно решение считать удовлетворительным;
  • как замерять качество решения в предположении, что это всегда можно сделать практически с любой точностью;
  • какие упрощающие предположения принимать касательно математической структуры предиктора (на каком множестве функций его искать);
Но, что наиболее важно, как и всякий иной алгоритм, машинное обучение лишь отрабатывает ту последовательность принятия решений, которая намечена (пусть и неявно) разработчиком. Это справедливо даже в случае недетерминированного поиска, то есть такого, который при одинаковых начальных условиях и одних и тех же данных может не выдать одно и то же решение. В каждом случае работы алгоритма стратегия принятия решений в главном осуществляется именно так, как предписано. Машина от этого отнюдь не становится умнее, она лишь отрабатывает то, что ей предписали.

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

Любопытно, что в коротенькой статейке, на которую я дал ссылку выше, слово «design» и его производные употребляются 8 раз.

1 comment:

  1. Побликую здесь очень интересный комментарий от пользователя kapiton на форуме протодиакона Андрея Кураева (я опубликовал эту записку там в разделе "Наука и религия").

    Комментарий:

    "Невозможно добиться того, чтобы машина сама для себя написала программу действий."

    В формальном плане это вполне возможно, и иногда это используется (а некоторые т.н. функциональные языки программирования вообще дают естественный способ оперировать кодом программы как данными).

    Другое дело, что напишет машина эту программу всё равно по "шаблону написания", заданному программистом. Машина не умеет мыслить, формировать новые цели, критерии.

    Человек всё это умеет, но ещё никому из людей не удалось фундаментально понять природу этих умений - глубинных методов действия человеческого сознания. По этой причине никто не способен алгоритмизировать деятельность сознания, что означало бы возможность создания искусственного сознания в машине - если бы, конечно, потенциала физической материи и технических возможностей современности хватило бы... Не способен на это ни один программист (сколь замечательно он бы ни разбирался в нейронных системах и прочих алгоритмах так называемого "искусственного интеллекта"), не говоря уже о гораздо меньше понимающих в "интеллекте" биологах-специалистах по устройству мозга человека (имея в виду материалистическое догматическое положение о полной включённости сознания в физический мозг). Интересно, что такое положение вещей установилось давно и сохраняется, несмотря на то, что информационная ёмкость современных компьютерных систем уже сопоставима или превышает информационную ёмкость пространства дискретных состояний нейронных систем физического мозга.

    А если обратиться к научному энтузиазму 1960-х, вспомнить перцептроны, почитать НФ-писателей, вроде С.Лема, то ведь нисколько не сомневались тогда наивные научные материалисты, что стоит имитировать нейронную сеть, и она тотчас же мыслить начнёт. Не вышло: оказалось, что на этом пути не удаётся сколько-нибудь значительно выйти за рамки обобщённых задач распознавания, т.к. за рамки функций ассоциативной памяти.

    ReplyDelete