Идиот или гений? Как работает и на что способен искусственный интеллект
Шрифт:
Концепция обучения с учителем – ключевой элемент современного ИИ, поэтому ее стоит разобрать подробнее. Как правило, обучение с учителем требует большого набора положительных (скажем, коллекции восьмерок, написанных разными людьми) и отрицательных (скажем, коллекции других рукописных цифр, среди которых нет восьмерок) примеров. Каждый пример размечается человеком, который присваивает ему определенную категорию (метку) – здесь это “восьмерка” и “не восьмерка”. Метка применяется в качестве контрольного сигнала. Некоторые положительные и отрицательные примеры используются для тренировки системы и формируют тренировочное множество. Оставшиеся примеры – тестовое множество – используются для оценки работы системы после обучения, чтобы понять, насколько хорошо она научилась правильно отвечать на запросы в целом, а не только на обучающие примеры.
Вероятно, самым важным в информатике стоит признать понятие “алгоритм”. Оно обозначает “рецепт”
Теперь мы можем приступать к процессу обучения. Перцептрон получает первый обучающий пример, не видя метку с верной категорией. Перцептрон умножает каждый входной сигнал на его вес, суммирует результаты, сравнивает сумму с пороговым значением и выдает либо 1, либо 0. Здесь выходной сигнал 1 означает, что перцептрон распознал восьмерку, а выходной сигнал 0 – что он распознал “не восьмерку”. Далее в процессе обучения выходной сигнал перцептрона сравнивается с верным ответом, который дает присвоенная человеком метка (“восьмерка” или “не восьмерка”). Если перцептрон прав, веса и пороговое значение не меняются. Если же перцептрон ошибся, веса и пороговое значение слегка корректируются так, чтобы сумма входных сигналов в этом тренировочном примере оказалась ближе к нужной для верного ответа. Более того, степень изменения каждого веса зависит от соответствующего значения входного сигнала, то есть вина за ошибку в основном возлагается на входные сигналы, которые сильнее других повлияли на результат. Например, в восьмерке на рис. 3A главным образом на результат повлияли бы более насыщенные (здесь – черные) пиксели, в то время как пиксели с нулевой насыщенностью (здесь – белые) не оказали бы на него никакого влияния. (Для любопытных читателей я описала некоторые математические подробности в примечании [30] .)
30
Математически алгоритм обучения перцептрона описывается следующим образом. Для каждого веса wj: wj <- wj + (t – y) xj, где t – верный выходной сигнал (1 или 0) для заданного входного сигнала, y – фактический выходной сигнал перцептрона, xj – входной сигнал, связанный с весом wj, а – скорость обучения, задаваемая программистом. Стрелка обозначает обновление. Порог учитывается путем создания дополнительного “входного сигнала” x0 с постоянным значением 1, которому присваивается вес w0 = –порог. При наличии этого дополнительного входного сигнала и веса (называемого смещением) перцептрон дает сигнал на выходе, только если сумма входных сигналов, помноженных на веса (то есть скалярное произведение входного вектора и вектора веса) больше или равняется 0. Часто входные значения масштабируются и подвергаются другим преобразованиям, чтобы веса не становились слишком велики.
Все шаги повторяются на каждом из обучающих примеров. Процесс обучения много раз проходится по всем обучающим примерам, слегка корректируя веса и пороговое значение при каждой ошибке перцептрона. Обучая голубей, психолог Б. Ф. Скиннер обнаружил, что учиться лучше постепенно, совершая множество попыток, и здесь дело обстоит точно так же: если слишком сильно изменить веса и пороговое значение после одной попытки, система может научиться неправильному правилу (например, чрезмерному обобщению, что “нижняя и верхняя половины восьмерки всегда равны по размеру”). После множества повторов каждого обучающего примера система (как мы надеемся) окончательно определяет набор весов и пороговое значение, при которых перцептрон дает верные ответы для всех обучающих примеров. На этом этапе мы можем проверить перцептрон на примерах из тестового множества и увидеть, как он справляется с распознаванием изображений, не входивших в обучающий набор.
Детектор восьмерок полезен, когда вас интересуют только восьмерки. Но что насчет распознавания других цифр? Не составляет труда расширить перцептрон таким образом, чтобы он выдавал десять выходных сигналов, по одному на каждую цифру. Получая пример рукописной цифры, перцептрон будет выдавать единицу в качестве выходного сигнала, соответствующего этой цифре. При наличии достаточного
Розенблатт и другие исследователи показали, что сети перцептронов можно научить выполнять относительно простые задачи на восприятие, а еще Розенблатт математически доказал, что теоретически достаточно обученные перцептроны могут безошибочно выполнять задачи определенного, хотя и строго ограниченного класса. При этом было непонятно, насколько хорошо перцептроны справляются с более общими задачами ИИ. Казалось, эта неопределенность не мешала Розенблатту и его спонсорам из Научно-исследовательского управления ВМС США делать до смешного оптимистичные прогнозы о будущем алгоритма. Освещая пресс-конференцию Розенблатта, состоявшуюся в июле 1958 года, газета The New York Times написала:
Сегодня ВМС продемонстрировали зародыш электронного компьютера, который, как ожидается, сможет ходить, говорить, видеть, писать, воспроизводить себя и сознавать свое существование. Было сказано, что в будущем перцептроны смогут узнавать людей, называть их по именам и мгновенно переводить устную речь и тексты с одного языка на другой [31] .
Да, даже в самом начале ИИ страдал от шумихи. Вскоре я расскажу о печальных последствиях такого ажиотажа. Но пока позвольте мне на примере перцептронов объяснить основные различия между символическим и субсимволическим подходом к ИИ.
31
Цит. по: M. Olazaran, “A Sociological Study of the Official History of the Perceptrons Controversy”, Social Studies of Science 26, no. 3 (1996): 611–659.
Поскольку “знания” перцептрона состоят из набора чисел, а именно – определенных в ходе обучения весов и порогового значения, – сложно выявить правила, которые перцептрон использует при выполнении задачи распознавания. Правила перцептрона не символические: в отличие от символов Универсального решателя задач, таких как ЛЕВЫЙ-БЕРЕГ, #МИССИОНЕРОВ и ПЕРЕМЕСТИТЬ, веса и порог перцептрона не соответствуют конкретным понятиям. Довольно сложно преобразовать эти числа в понятные людям правила. Ситуация существенно усложняется в современных нейронных сетях с миллионами весов.
Можно провести грубую аналогию между перцептронами и человеческим мозгом. Если бы я могла заглянуть к вам в голову и понаблюдать за тем, как некоторое подмножество ста миллиардов ваших нейронов испускает импульсы, скорее всего, я бы не поняла, ни о чем вы думаете, ни какие “правила” применяете при принятии конкретного решения. Тем не менее человеческий мозг породил язык, который позволяет вам использовать символы (слова и фразы), чтобы сообщать мне – часто недостаточно четко, – о чем вы думаете и почему приходите к определенным выводам. В этом смысле наши нервные импульсы можно считать субсимволическими, поскольку они лежат в основе символов, которые каким-то образом создает наш мозг. Перцептроны, а также более сложные сети искусственных нейронов, называются “субсимволическими” по аналогии с мозгом. Их поборники считают, что для создания искусственного интеллекта языкоподобные символы и правила их обработки должны не программироваться непосредственно, как для Универсального решателя задач, а рождаться в нейроноподобных архитектурах точно так же, как интеллектуальная обработка символов рождается в мозге.
Ограниченность перцептронов
После Дартмутского семинара 1956 года доминирующее положение в сфере ИИ занял символический лагерь. В начале 1960-х годов, пока Розенблатт увлеченно работал над перцептроном, большая четверка “основателей” ИИ, преданных символическому лагерю, создала авторитетные – и прекрасно финансируемые – лаборатории ИИ: Марвин Минский открыл свою в MIT, Джон Маккарти – в Стэнфорде, а Герберт Саймон и Аллен Ньюэлл – в Университете Карнеги – Меллона. (Примечательно, что эти университеты по сей день входят в число самых престижных мест для изучения ИИ.) Минский, в частности, полагал, что моделирование мозга, которым занимался Розенблатт, ведет в тупик и ворует деньги у более перспективных проектов символического ИИ [32] . В 1969 году Минский и его коллега по MIT Сеймур Пейперт опубликовали книгу “Перцептроны” [33] , в которой математически доказали, что существует крайне ограниченное количество типов задач, поддающихся безошибочному решению перцептроном, а алгоритм обучения перцептрона не сможет показывать хорошие результаты, когда задачи будут требовать большого числа весов и порогов.
32
M. A. Boden, Mind as Machine: A History of Cognitive Science (Oxford: Oxford University Press, 2006), 2:913.
33
M. L. Minsky and S. L. Papert, Perceptrons: An Introduction to Computational Geometry (Cambridge, Mass.: MIT Press, 1969). (Минский М., Пейперт С. Персептроны / Пер. с англ. Г. Гимельфарба и В. Шарыпанова – М.: Издательство “Мир”, 1971.)