Принцип действия алгоритмов другого типа сродни обучению живого существа. Для аналогии представьте себе, как можно было бы научить собаку давать лапу. Нет смысла проводить с ней подробный инструктаж. Вам как дрессировщику надо самому четко понимать, чего вы хотите добиться от собаки и как вы ее поощрите, когда она выполнит команду. Надо только закрепить правильную реакцию, игнорируя ошибочную, и дать собаке потренироваться, чтобы она сама выработала нужный рефлекс. В программировании такая схема называется алгоритмом машинного обучения и подпадает под более широкое понятие искусственного интеллекта, ИИ. Вы вводите в компьютер данные, ставите цель, обеспечиваете обратную связь, если алгоритм выбирает верный путь, – и предоставляете ему самостоятельно искать оптимальное решение.
Оба варианта имеют свои плюсы и минусы. Алгоритмы, основанные на системе правил, просты для восприятия, поскольку инструкции для них пишут люди. Теоретически кто угодно может прочитать правила и аккуратно выполнить все пункты по порядку[20]. Однако в этом преимуществе кроется их изъян. Основанные на системе правил алгоритмы решат задачу только в том случае, если люди знают, какую инструкцию для них написать.
Алгоритмы машинного обучения, как выяснилось в последнее время, напротив, отлично справляются и тогда, когда набор команд не помогает. Они могут распознать объект на картинке и слова, которые мы произносим, могут перевести текст на другой язык – сделать то, что алгоритмам с инструкциями не по зубам. Минус в том, что если предоставить машине самой искать решение, то, скорее всего, человек не поймет, каким путем она пришла к конечному результату. Даже для гениального программиста ее внутренняя логика может остаться тайной за семью – печатями.
Предположим, ставится задача распознать изображение. Не так давно группа исследователей из Японии продемонстрировала, как необычно, с точки зрения человека, видит вещи машина. Может быть, вам встречалась известная оптическая иллюзия, когда трудно с первого взгляда сказать, что вы видите – вазу или два лица (если нет, загляните в примечания, приведенные в конце книги)[21]. Вот вам аналогичный пример из мира компьютеров. Ученые показали, что достаточно изменить один пиксель переднего колеса на изображении, приведенном ниже, чтобы алгоритм машинного обучения передумал и увидел собаку там, где прежде видел автомобиль