Как учится машина. Революция в области нейронных сетей и глубокого обучения - Ян Лекун
Коктейль из старого и нового
Сегодняшние приложения, как правило, используют сочетание машинного обучения, GOFAI и классических вычислений. Рассмотрим машину, способную управлять автомобилем без водителя. Бортовая система визуального распознавания, обученная распознавать визуальные объекты и сигналы, присутствующие на дороге, использует определенную архитектуру нейронной сети, называемую «сверточной сетью». Но решение, которое принимает автопилот автомобиля, когда он «видит» разметку полосы движения, тротуар, припаркованный автомобиль или велосипед, зависит от традиционных систем планирования траектории движения, с правилами, написанными вручную, или же систем, основанных на правилах, которые относятся к области GOFAI.
Полностью автономные транспортные средства находятся все еще на этапе тестирования, но ряд коммерческих автомобилей, подобных «Tesla» 2015 г., уже имеют системы помощи водителю с использованием сверточных сетей. Регуляторы скорости, оснащенные системами технического зрения, берут транспортное средство под автономное управление на автостраде, удерживают его в пределах полосы движения или автоматически меняют ее после того, как водитель включает сигнал поворота, и при этом следят за наличием других автомобилей вокруг.
Тест Тьюринга
Мы будем писать о возможностях и приложении искусственного интеллекта на протяжении всей этой книги, но сейчас пришло время сделать шаг назад. Как определить общие черты всех этих интеллектуальных машин?
Я бы сказал, что искусственный интеллект – это способность машины выполнять задачи, обычно выполняемые животными и людьми, то есть воспринимать, рассуждать и действовать. Эти свойства неотделимы от способности учиться, как это наблюдается и у живых существ. Системы искусственного интеллекта – это просто очень сложные электронные схемы и компьютерные программы. Но возможности хранения информации, доступ к памяти, скорость вычислений и возможности обучения позволяют им «абстрагироваться» от конкретных примеров, содержащейся в огромных объемах данных.
Воспринимать, рассуждать и действовать. Алана Тьюринга – английского математика, оказавшего существенное влияние на развитие информатики и расшифровавшего Enigma – систему шифрования сообщений немецкой армии времен Второй мировой войны, можно назвать первым «пророком» обучающихся машин. Он уже проникся важностью обучения, когда написал: «Вместо того чтобы пытаться создать программу, имитирующую сознание взрослого, почему бы не попытаться создать такую, которая имитирует ум ребенка. Ведь если ум ребенка получает соответствующее воспитание, он становится умом взрослого человека»[8].
Имя Алана Тьюринга связано, кроме того, со знаменитым тестом, суть которого сводится к диалогу между человеком и двумя собеседниками, которых он не видит: компьютером и еще одним человеком[9]. Если по истечении некоторого заданного времени человек не определяет, кто из двух «собеседников» является машиной, значит, машина успешно прошла тест. Но достижения в области ИИ сегодня таковы, что эксперты больше не считают тест Тьюринга эффективным. Способность вести осмысленный диалог является лишь одной из форм интеллекта, и здесь искусственный интеллект легко может обмануть даже опытного эксперта: для этого машине достаточно выдать себя за рассеянного и слегка аутичного подростка, плохо знающего английский язык, чтобы объяснить недостаточное понимание собеседника и ошибки в собственной речи.
Постоянное совершенствование
Я уверен, что глубокое обучение – это неотъемлемая часть будущего искусственного интеллекта. Однако на сегодняшний день эти системы не способны к логическим рассуждениям. В то же время подходы к ИИ, основанные на логике, в нынешнем их состоянии несовместимы с обучением. Наша важнейшая задача на ближайшие годы – сделать эти два подхода совместимыми друг с другом.
Таким образом, глубокое обучение пока остается очень мощным… и очень ограниченным инструментом. Речь не идет о том, чтобы заставить машину, обученную игре в шахматы, работать, и наоборот. Она выполняет действия, не имея ни малейшего представления о том, что делает, и не обладает здравым смыслом. Если бы системы искусственного интеллекта были помещены на шкалу интеллектуальных способностей от мыши до человека, то они оказались бы намного ближе к мыши, чем к человеку – и это несмотря на то, что производительность ИИ в точных и узкоспециализированных задачах является сверхчеловеческой.
Могущество алгоритма
Алгоритм – это последовательность инструкций. Вот и все. В этом нет ничего волшебного. Ничего непонятного. Приведем пример. Возьмем список цифр, которые я хочу расставить в порядке возрастания. Я пишу компьютерную программу, которая считывает первое число, сравнивает его со следующим и меняет их положение, если первое больше второго. Затем я сравниваю второе и третье и повторяю ту же операцию до последнего числа в списке. Затем я возвращаюсь к списку столько раз, сколько необходимо, пока при очередном проходе число произошедших замен не станет равным нулю.
Данный алгоритм сортировки списка чисел называется «сортировкой пузырьком». Я могу перевести его в серию точных инструкций на вымышленном языке программирования[10].
Сортировка пузырьком (Таблица Т)
###
для i в диапазоне от (значение T) –1 до 1
для j в диапазоне от 0 до i –1###
###
если T[j+1] < T[j]###
###
###
обменять (T, j+1, j)###
###
###
###
Возьмите одно значение, сравните его с другим, прибавьте его к третьему, выполните такие-то и такие-то математические операции, циклы, проверьте, является ли условие истинным или ложным и т. д. Алгоритм – все равно, что кулинарный рецепт.
Мы обычно говорим об «алгоритме Фейсбука» или «алгоритме Гугла». Это неправильно. Скорее, алгоритмом (точнее, набором алгоритмов) является механизм, обеспечивающий работу поискового сайта, который создает список всех сайтов, содержащих поисковый текст. Таких сайтов может быть сотни, даже тысячи! Затем каждому из этих сайтов присваивается ряд баллов, полученных с помощью других алгоритмов, написанных вручную или выработанных самой машиной в процессе обучения. Эти баллы оценивают популярность сайта, его надежность, релевантность его содержания, наличие ответа, если поисковая фраза является вопросом, а также соответствие содержания интересам пользователя. Довольно сложное дело.
Однако, что касается обучаемых систем, то программный код, который заставляет их работать и вычисляет баллы, достаточно прост и мог бы уместиться в нескольких строках, если бы нас не интересовала скорость его выполнения (на самом деле требования к быстродействию приводят к его усложнению). Реальная сложность системы заключается не в коде, который вычисляет ее выходные данные, а в связях между нейронами сети, которые, в свою очередь, зависят от архитектуры этой сети и ее обучения.
Прежде чем мы с вами исследуем внутреннее устройство интеллектуальной машины, я хочу обрисовать историю искусственного интеллекта, начиная с середины XX века. Это – захватывающая история, в которой я принимаю участие уже довольно давно, и которая состоит из предвидений и дискуссий, скачков вперед и периодов застоя, где между собой столкнулись ученые, верящие в машинную логику, и те, кто, опираясь на
Ознакомительная версия. Доступно 16 из 82 стр.