Прекрасный пример путаницы между реальным и воображаемым ИИ произошел со мной на ежегодном симпозиуме NYC Media Lab, эдакой ярмарке для взрослых. Я представляла ИИ собственной разработки. В моем распоряжении были стол, монитор и ноутбук для демонстрации. В метре от меня находился другой стол с еще одним демо, разработанным студентом гуманитарного факультета, – визуализацией данных. Когда толпа посетителей схлынула, нам стало скучно и мы решили поболтать.
– Что у вас за проект? – спросил он.
– Это программа на основе ИИ, которая призвана помогать журналистам быстро и эффективно разрабатывать новые идеи для своих историй при помощи финансовых данных, – ответила я.
– Ух ты! Искусственный интеллект, – выпалил он. – Настоящий искусственный интеллект?
– Конечно, настоящий, – отозвалась я, слегка обиженная его репликой: иначе зачем бы я стала тратить целый день на демонстрацию программы за этим столом, если бы не сделала что-то работающее?
Студент подошел к моему столу и начал вглядываться в монитор. «Как он работает?» – поинтересовался он. Я коротко ему все объяснила (вы сможете прочитать обстоятельную версию моего объяснения в главе 11). Он выглядел смущенным и немного разочарованным.
– То есть это не настоящий ИИ? – не унимался он.
– Да нет же, настоящий, – ответила я. – И впечатляющий. Но ведь вы наверняка знаете, что внутри компьютера нет никакой симулированной личности? Ничего подобного не существует. Это попросту невозможно с точки зрения компьютерных технологий.
Он слегка поник.
– Я думал, что это и подразумевается под ИИ, – произнес он, – я слышал об IBM Watson и о компьютере, обыгравшем чемпиона по го, о беспилотных машинах. Я думал, что настоящий ИИ уже изобретен.
Он выглядел подавленным. Тогда я поняла, что он вглядывался в монитор, полагая, будто внутри него что-то есть – «настоящий» призрак внутри машины. Я почувствовала вину за разрушение значимого для него мифа, поэтому решила направить разговор в нейтральное русло – и, чтобы его взбодрить, предложила обсудить выход очередного эпизода саги «Звездные войны».
Я отметила этот случай потому, что он напоминает мне о разнице в восприятии ИИ специалистами в области информатики и остальными – пускай и весьма искушенными в вопросах технологий – дилетантами.
Сильный ИИ – это голливудский образ ИИ, связанный с роботами, способными на чувства (которые, возможно, стремятся захватить мир), с сознанием внутри компьютеров, вечной жизнью и машинами, которые «думают» подобно людям. Слабый ИИ – другое дело, это математический метод прогнозирования. Многие – даже те, кто создает технологические системы, – часто путают эти два представления об ИИ. Потому нелишним будет повторить, что сильный ИИ – это фантазия, а слабый – реальность, работающая здесь и сейчас.
Существует один простой способ понять, что представляет собой слабый ИИ. Это технология, дающая точные количественные ответы на любой вопрос, то есть предполагающая количественное прогнозирование. По сути, слабый ИИ – «статистика на стероидах».
Слабый ИИ работает посредством анализа существующих массивов данных, распознавая закономерности и вероятности в каждом конкретном массиве, и затем строит из них вычислительный конструкт под названием модель. Модель – это что-то вроде черного ящика, и, если отправить в него данные, он выдает ответ. Пропустив новые данные через модель, мы можем получить количественный прогностический ответ: о вероятности того, что закорючка на странице – это буква «А», или каковы шансы на то, что конкретный клиент выплатит кредит, выданный ему банком; каким должен быть следующий ход в играх вроде крестики-нолики, шашки или шахматы. Машинное обучение, глубокое обучение, нейронные сети и предиктивная аналитика – вот лишь некоторые из наиболее популярных примеров реализации слабого ИИ. Для каждой существующей сегодня системы ИИ есть логическое объяснение ее принципов работы. Понимание компьютерной логики способно демистифицировать ИИ подобно тому, как развинчивание компьютера раскрывает тайны его аппаратной сущности.
ИИ тесно связан с играми – не потому, что существует естественная корреляция между играми и интеллектом, а потому, что специалисты в области теории вычислительных систем обожают определенные типы загадок и игр. Стратегические игры (нарды или го), а также шахматы – любимые среди разработчиков игр. Если посмотреть в Википедии статьи о венчурных инвесторах и создателях технологических корпораций, окажется, что в детстве они обожали игру Dungeons & Dragons.
С тех самых пор как в 1950-х гг. в одной из своих работ Алан Тьюринг представил свой тест, призванный определить, может ли машина мыслить, специалисты в области информатики использовали шахматы для проверки интеллектуальных способностей вычислительной техники. Только спустя полвека удалось создать компьютер, способный победить гроссмейстера. В 1997 г. компьютер IBM Deep Blue нанес поражение Гарри Каспарову. А победа AlphaGo, программного ИИ, над самым сильным игроком в го Кэ Цзе в трех из трех партий в 2017 г. нередко воспринимается как доказательство скорого появления сильного ИИ. Правда, внимательный взгляд на эту программу и ее культурный контекст раскрывает совершенно другую историю.
AlphaGo – программа, созданная человеком и работающая на аппаратном обеспечении, подобно программе «Hello, world!», с которой мы уже сталкивались в главе 2. Разработчики описали принципы ее работы в 2016 г. в статье для международного научного журнала Nature[11]. Она начинается с таких строк: «Все игры с полной информацией обладают оптимальной функцией оценки, v* (s), которая определяет исход игры для каждой позиции на доске или состояния s при идеальной игре всех игроков. Такие игры могут быть решены путем рекурсивного вычисления функции оптимальной оценки в поисковом дереве, содержащем около bd возможных последовательностей ходов, где b – ширина игры (количество возможных ходов в позиции), d – глубина игры (то есть длительность)». Все это совершенно очевидно человеку, у которого за плечами годы практики в области математики, однако большинство из нас предпочло бы более простое и очевидное для неспециалистов объяснение.
Чтобы понять AlphaGo, стоит вспомнить об игре в крестики-нолики, известной большинству детей. Делая первый ход и располагая знак в центре сетки, вы либо выигрываете, либо играете вничью. Первый ход дает преимущество: у вас будет пять ходов, в то время как у вашего соперника – всего четыре. Большинство детей интуитивно понимают это и, играя с терпеливыми взрослыми, настаивают на праве первого хода.
Достаточно просто написать компьютерную программу для игры в крестики-нолики против человека (первая такая программа была составлена в 1952 г.). Существует алгоритм, набор правил, применение которых позволит компьютеру всегда побеждать или играть вничью. Подобно «Hello, world!», программирование игры в крестики-нолики считается простым упражнением на вводных уроках информатики.
Го – игра куда более сложная, однако также играется на доске, представляющей собой сетку. Каждому игроку дается горстка черных или белых камешков. Новички играют на сетке из девяти горизонтальных и девяти вертикальных линий, мастера – на сетке 19×19. Черные ходят первыми, размещая камень на пересечении линий. Следом ходят белые, также помещая камень на пересечении. Игроки ходят по очереди, стремясь «захватить» камни соперника и окружить их.
Люди играют в го около 3000 лет. Разработчики и поклонники этой игры изучали ее закономерности начиная с 1965 г., а первая программа для го была написала в 1968 г. Существует целое научное направление, посвященное только этой игре, названное (как ни странно) компьютерное го.
Игроки и исследователи компьютерного го годами накапливали записи игр, которые выглядят примерно так:
(; GM [1]
FF [4]
SZ [19]
PW [Sadavir]
WR [7d]
PB [tzbk]
BR [6d]
[11] Silver et al., “Mastering the Game of Go with Deep Neural Networks and Tree Search,” 484.