Сергей Марков — автор одной из сильнейших шахматных программ в России SmarThink, специалист по методам машинного обучения — на воронежском фестивале «Город прав» рассказал о том, каких успехов в области искусственного интеллекта мы уже добились и чего стоит ждать от современных технологий в будущем. «7x7» публикует конспект научно-популярной лекции.
Что такое искусственный интеллект
С понятием искусственного интеллекта, как и со многими понятиями, появившимися изначально в научной среде, произошли своеобразные трансформации тогда, когда эта тема попала в среду медийную. И если вы сегодня спросите на улице человека о том, что же такое ИИ [искусственный интеллект], то примерно сколько людей вы увидите — столько версий вы услышите. И версии будут зависеть от того, какой последний фильм на эту тему посмотрел человек, чем его пугали последний раз... Прежде чем говорить об ИИ, определим, что же это такое.
Если взять этот термин наиболее широко, то он определяется следующим образом. Есть какая-то интеллектуальная задача. Если мы решение этой задачи автоматизируем, то мы таким образом создаем искусственный интеллект. Но это «слабенький», прикладной интеллект. Его цель — решение какой-то одной задачи, и под это определение подходит широкий набор алгоритмов.
А есть такое понятие, как AGI (Artificial General Intelligence), или «сильный» ИИ. Это универсальный интеллект, предназначенный для решения очень широкого спектра интеллектуальных задач. Злая ирония заключается в том, что реально существующие виды систем в этой области — это, конечно, прикладной интеллект, а над универсальным ИИ мы пока только ведем определенные работы.
Как определить, создали ли мы систему, которая на самом деле обладает универсальным ИИ? Этим вопросом задавались и люди из компьютерных наук, в частности, Алан Тьюринг, и люди из философского лагеря, например Альфред Айер.
Процедура, которая была изобретена 1950 году, получила название теста Тьюринга. Дело в том, что Тьюринг был довольно веселый мужчина, любил хорошие компании, любил интеллектуальное времяпровождение, и вот в его годы на вечеринках была такая игра, которая называлась «игра в имитацию». В чем были ее правила? Были две комнаты, они запирались на ключ. В одну комнату сажали девушку, в другую — парня, и участники этой игры могли просовывать под дверь записки с любыми вопросами и записями, а человек, который сидел в этой комнате, имел возможность писать ответы. Задача этой игры была угадать, где находится девушка, а где парень. Тьюринг взял за основу этот протокол и разработал так называемый тест Тьюринга.
В одну комнату сажали девушку, в другую — парня, и участники этой игры могли просовывать под дверь записки с любыми вопросами и записями, а человек, который сидел в этой комнате, имел возможность писать ответы. Задача этой игры была угадать, где находится девушка, а где — парень
Тест Тьюринга
У нас есть человек-эксперт, который при помощи некого подобия той же записки, компьютерного терминала, например, общается с машиной. Целью машины является прикинуться человеком и добиться того, чтобы в этом эксперименте эксперт не мог отличить искусственный интеллект от интеллекта естественного. В основе этого подхода лежит то, о чем ранее говорил Айер: если нечто выглядит, как овца, блеет, как овца, скачет, как овца, и выглядит, как овца, то, наверное, перед нами овца. То есть если нечто в любом эксперименте проявляется как интеллект, то, наверное, это и есть интеллект.
Первые эксперименты, примитивные системы для «игры в имитацию» появились очень рано. В частности, в 1966 году появилась программа ELIZA. По современным понятиям, она являлась чат-ботом, то есть системой, с которой вы могли переписываться. Создатели решили немножко пошутить: им казалось, что машине изобразить психотерапевта будет проще, чем обычного человека, ведь психотерапевт спрашивает примерно одно и то же у людей, похожим образом реагирует на то, что ему говорят, поэтому «Элиза» играла именно такую роль в этом эксперименте.
Понятное дело, что работала система очень просто: в ней был большой-большой набор правил, составленный людьми. Она могла обнаружить какие-то ключевые слова в том тексте, который писал человек, и на их основе могла выбрать правило и трансформировать входные данные в некий ответ. Надо сказать, эта программа в некоторых ситуациях уже могла одурачить людей. Конечно, считать, что это уже был полноценный тест Тьюринга, нельзя, но тем не менее некоторые частные успехи были достигнуты.
Ну и например, программа PARRY 1972 года. Это уже более сложная система, она играла, наоборот, пациента. «Пэрри» — от слова «параноик». «Пэрри» играл пациента, больного параноидальным синдромом, и психиатров он дурачил довольно-таки неплохо. В 48% случаев психиатры не могли догадаться, что имеют дело с машиной. Но это тоже особый случай, ведь бред параноика может напоминать какое-то механическое поведение, поэтому рассматривать успехи этого эксперимента всерьез мы также не можем.
SHRDLU
Программа написана в 1970 году, она произвела определенный фурор в сфере ИИ. Автор ее — Терри Виноград — один из классиков так называемой школы «грязнуль». Он достаточно пренебрежительно относился к этому эксперименту...
У этой программы есть маленький мирок, в котором есть небольшой набор объектов: коробка, несколько пирамидок, несколько параллелепипедов, и, что самое интересное, программа могла общаться с человеком на естественном языке. Вы могли программе писать какие-то суждения, давать ей какие-то команды, и происходил довольно естественный диалог по поводу того, что происходит внутри этого маленького мира. Что существует вне этой среды, система не знала.
Если посмотреть в исходник этой программы, можно увидеть, что там очень много правил. То есть Терри Виноград на самом деле экспериментировал с разными людьми на протяжении нескольких лет, смотрел, какие вещи они могут говорить, и под каждый этот вариант он написал целый набор правил.
В чем секрет? Почему SHRDLU производит на нас впечатление, несмотря на то, что это было сделано больше сорока лет назад? Потому что мир там очень простой. 50 прилагательных, существительных и глаголов — это все, что потребуется, чтобы описать, что в этом мирке происходит. При таких условиях машина могла запомнить достаточное количество правил, чтобы производить впечатление интеллектуального поведения.
Ожидания Тьюринга
Тьюринг сказал: «Я думаю, что в 2000 году машины с объемом памяти 109 бит (около 125 МБ) будут способны обмануть человека в тесте Тьюринга в 30% случаев».
Была такая программа Eugene Goostman, она изображала из себя мальчика из Одессы. Университет Рединга проводил на протяжении двух лет подряд тесты. В 2014 году программа смогла обмануть судей в 33% случаев.
Но не все специалисты по ИИ согласны с процедурой Тьюринга. В частности, Джон Сёрл, возражая, предложил эксперимент, который он назвал «Китайская комната».
Китайская комната
Представьте себе, что есть такая комната, которая подключена, как терминал, к внешнему миру, имеет «вход» и «выход». А внутри человек, который не знает китайского языка, и у него есть толстый набор правил в книжке. Что если ему пришли вот такие иероглифы, то в ответ нужно отправить вот такие, и так далее. У внешнего наблюдателя может создаться впечатление, что человек, который сидит в комнате, говорит по-китайски. Но, говорит Сёрл, на самом деле человек не понимает китайский язык по определению.
Основные возражения, которые предъявляют другие специалисты, таковы: да, человек, сидящий в комнате, китайского не понимает, но если взять всю систему в целом, то человек, снабженный таким хитрым и большим набором правил, обладает пониманием китайского языка.
И тут встает вопрос. Очень часто, когда сравнивают возможности машины и людей, рассматривают, как машины обыгрывают человека в шахматы, в го, то основное суждение, которое слышишь от человека, который не занимается вопросами ИИ: машина просто очень быстрая, у нее много памяти, и она давит человека грубой силой. Будет интересно сравнить эти два вычислительных устройства: мозг человека и самый мощный процессор, который мы имеем на начало 2016 года.
Очень часто, когда сравнивают возможности машины и людей, рассматривают, как машины обыгрывают человека в шахматы, в го, то основное суждение, которое слышишь от человека, который не занимается вопросами ИИ: машина просто очень быстрая, у нее много памяти, и она давит человека грубой силой
Brute force
Мы знаем, что нервная ткань состоит из нервных клеток (нейронов), а у нервных клеток есть отростки. Входящие отростки — дендриты, а исходящие — аксоны. И вот место контакта аксона одной клетки с дендритом следующей называется синапсом.
В среднем мозге 86 млрд нейронов и 150 трлн синапсов — связей и контактов между нейронами. Каждый синапс имеет 1 000 молекулярных триггеров. Нейронные сети построены на нехитром формализме.
Таким образом, грубый эквивалент мозга в транзисторах — 150 квдрлн. А самый мощный процессор — Sparc-M7 — имеет 10 млрд транзисторов. Самая большая программируемая пользователем вентильная матрица имеет 20 млрд транзисторов.
Разница очень большая. К тому же каждый нейрон в мозге — это отдельное вычислительное устройство, «ядро». Электронная машина имеет много памяти, но даже самые мощные компьютеры имеют порядка 50 тысяч ядер.
Школа «грязнуль» и школа «чистюль»
Я чуть раньше упомянул, что Терри Виноград, который написал SHRDLU, был представителем школы «грязнуль». Когда наука об искусственном интеллекте только зарождалась, существовало два фундаментальных подхода.
«Чистюли» использовали, так сказать, математический подход. Школа эта формировалась в основном в Стенфордском, Эдинбургском университете и в Университете Карнеги — Меллон. Они фокусировались на аналитическом, логически обоснованном решении задач. Прежде чем создать систему ИИ, нужно провести множество математических исследований, потом создать схему, близкую к оптимальной, и внедрить ее.
А «грязнули» использовали любой метод, который решает задачу. И неважно, что он никак формально не обоснован. Они употребляли такой термин, как hacking, то есть задачу они «ломали». Несмотря на то, что ИИ «грязнуль» обладали гораздо меньшими техническими возможностями, чем реальный человеческий мозг, они достигали эффективного решения задачи этими ограниченными средствами.
Современные системы ИИ — это, конечно, синтез этих двух подходов. Если мы возьмем шахматные программы, то во многом они начинались, как обычные системы «грязнуль»: придумали какой-то хитрый алгоритм, и он вроде бы работает. Внесли какое-то изменение в программу, и она стала работать лучше, но почему — мы не знаем. Потом постепенно многие методы, которые нетерпеливые «грязнули» придумали, исследовались уже «чистюлями», и на смену примерным трюкам приходили более строго обоснованные методы, которые, конечно, были эффективнее.
Машинный перевод
Одной из первых задач по обработке естественного языка искусственным интеллектом стала задача машинного перевода. Надо сказать, что первые электромеханические системы для автоматизированного перевода появились еще в конце 20-х годов. Когда компьютерная техника стала развиваться, появились более серьезные программы. В 60-е появились большие военные американские проекты. Они были посвящены автоматизированному переводу с русского языка на английский. Это были Mark, GAT и SYSTRAN ALPAC Report . В 70-е годы такие работы начались и в Советском Союзе. Раймунд Пиотровский руководил группой «Статистика речи», и эти советские достижения лежат в основе программы PROMT.
В 90-е годы зарождается новое направление в машинном переводе. Появляется интернет, а вместе с ним и огромные корпуса текстов, написанных на разных языках. Раньше приходилось работать с отсканированными книгами, а интернет сразу увеличил объемы корпусов на несколько порядков и создал надежду на то, что можно построить перевод, не вникая в особенности естественного языка. Пример такого подхода — Google Translate. В этой программе очень мало запрограммированного интеллекта, она построена на основе корпусного анализа. Однако пока что качество перевода Google Translate уступает предыдущему поколению программ.
Классический пример: «сосиска в тесте» перевели как sausage in father-in-law. То есть в переводе имеется в виду не «тесто», а «тесть». Эта смешная ошибка хорошо помогает нам понять, насколько глубока проблема. Чтобы текст хорошо перевести, нужно его понимать. А чтобы понимать текст, нужно понимать особенности человеческой культуры. И знать, что, скорее всего, практика завертывания сосиски в тесто более распространена, чем практика помещения сосиски в тестя. Это не значит, что второй практики не существует, но машине нужно много знать о человеческой культуре, чтобы не допустить ошибок.
Чтобы текст хорошо перевести, нужно его понимать. А чтобы понимать текст, нужно понимать особенности человеческой культуры. И знать, что, скорее всего, практика завертывания сосиски в тесто более распространена, чем практика помещения сосиски в тестя
Стихи ИИ
Еще одна забавная задачка в рамках обработки естественного языка — это сочинение стихов. С технической точки зрения, взять какой-то текст и воткнуть его в стихотворный размер, имея большой словарь с ударениями, — задача тривиальная. Это было понятно уже в 70-е, и поэтому, когда первые такие игрушечные программы стали появляться, конечно, уже старались добиться осмысленности от этой системы.
Раймунд Пиотровский использовал поэзию скальдов. Скандинавская поэзия примечательна достаточно простыми стихотворными размерами и так называемыми кеннингами, из которых и состояло стихотворение. Это такие устойчивые образы с явно выраженной смысловой окраской: «хорошо», «плохо», «страшно» и так далее. Программе давали задание: сочинить ругательное стихотворение про ворона. Вот что получилось:
Нид ворону
Ври, вран
Вор ран,
гриф гроз,
гусь слез.
Сохл, плох,
трухл, рухл,
дряхл, чахл,
затхл, тухл,
жухл, слаб,
жрун жаб
Дрянь вран.
Дрянн, дран!
Наукоподобный бред искусственного интеллекта
Существуют и другие задачи в обработке естественного языка. Михаил Сергеевич Гельфанд — известный российский биоинформатик — решил поставить довольно злой эксперимент. У нас есть несколько научных изданий, которые специализируются на публикациях людей, готовящихся к защите диссертации. Вокруг этого вырос определенный бизнес. Есть журнал, вы отправляете туда денежку и статью, в теории, этот текст прочитывает рецензент и говорит, подходит этот текст для публикации или нет. Что сделал Гельфанд? Он использовал программу SCIgen, которая генерирует наукоподобный бред, и перевел ее текст на русский язык с помощью автоматического переводчика. Таким образом, получился бред второго порядка. Его минимально отредактировали, чтобы все слова были согласованы, и этот текст отправили в издания такого рода. И нашелся такой «Журнал научных публикаций аспирантов и докторантов», который опубликовал эту статью. Называлась она «Корчеватель: Алгоритм типичной унификации точек доступа и избыточности». Написан там был полнейший бред.
Можно ли считать, что таким образом мы продвинулись к прохождению теста Тьюринга? Ведь квалифицированные эксперты, которые работали в научном издании, пропустили этот текст.
ИИ и литература
Есть и более серьезные эксперименты, попытки создать программу, которая бы писала литературные произведения серьезных жанров. В 2013 году под руководством Дариуса Казими был запущен проект NaNoGenMo («Национальный месяц создания романов»). Программа написала роман «Подростки прогуливаются вокруг дома». Интересно, что текст не генерировался, а были взяты специальные коды, персонажи руководствовались своей логикой. То есть существовал такой виртуальный мир, в котором роботы-подростки ходили вокруг дома, встречались друг с другом, обсуждали какие-то происходящие в этом мире события, высказывали некие суждения. И потом на основе диалогов этих ботов был издан роман.
В начале 2016 года в японском университете Хакодате разработали программу, которая написала произведение «День, когда компьютер пишет роман». Работа прошла в финал литературного конкурса, обойдя 1 450 писателей.
Ну, и конкретно сейчас, пока мы здесь сидим, корпорация Google делает очередную систему, которая будет писать романы. Планируется, что ей дадут прочитать 2 865 романов на английском языке, это будет большая-большая нейронная сеть, и потом программа напишет собственное произведение.
Прогнозы
Наше технологическое могущество растет, а в плане своего интеллектуального и морального прогресса мы развиваемся достаточно медленно. Генетически мы изменились мало за последние 100 лет, а технологически сильно продвинулись вперед. Конечно, это создает серьезную угрозу — в определенный момент мы можем оказаться неспособными распорядиться той технологией, которая будет у нас в руках. Но маловероятно, что этот сценарий будет связан с искусственным интеллектом.
Один из пессимистических прогнозов такой — разум себя неизбежно губит. Когда-то на земле жили бактериальные маты, которые умели только эффективно потреблять элементы, входившие в первичный состав атмосферы земли, и быстро размножаться. Эти бактерии выработали кислород, который их самих же и убил в конечном счете. Оказалось, что они как бы доминировали на планете гораздо более эффективно, чем люди, контролировали чуть ли не всю биосферу, и они себя сгубили. В чем проблема бактериальных матов? Каждый из них в отдельности мог сократить свое потребление каких-то веществ и выработку кислорода, но это не изменило бы картину, потому что они не могли координировать свои действия друг с другом. Потенциально у людей проблема может быть похожей. Мы можем не оказаться достаточно разумными, чтобы построить рациональную стратегию нашего существования в биосфере. Это плохой сценарий, и я лично не очень в него верю.
Нельзя остановить развитие технологий. К тому же технология сама дает инструменты для борьбы с теми угрозами, которые она приносит. Есть хороший сценарий.
Нельзя остановить развитие технологий. К тому же технология сама дает инструменты для борьбы с теми угрозами, которые она приносит
В какой-то момент мы создаем ИИ, который нас превосходит, и наши дороги с этим ИИ расходятся. Люди продолжают жить, занятые своими людскими проблемами, технология продолжает их обеспечивать едой и развлечениями. А ИИ с этого момента как бы принимает эстафетную палочку развития разума, и дальше разумная жизнь развивается в наших «детях», а мы — тупиковая ветвь эволюции в этом плане.
Честно говоря, я думаю, что и этот сценарий спекулятивный. Мне кажется, произойдет нечто другое. В какой-то момент уровень технологии начнет превышать уровень устройства нашего тела. И с этого момента границы между естественным и искусственным начнут стираться еще быстрее, чем это происходит сейчас. Уже сейчас, несмотря на то, что мы разделяем технологию и биологию, в этом есть какое-то лукавство. Когда мы изобрели огонь, первые рубила и так далее, мы стали активно изменять среду, в которой живем. Как биологический вид, мы приспосабливаемся уже к измененной среде, которую сами во многом сформировали благодаря технологии.
Мы не замечаем, что биологическое строение современного человека — уже результат технологии, что мы уже несколько десятков тысяч лет вмешиваемся в его естественное устройство. В том числе и непосредственно — мы активно используем хирургию, бионические протезы рук и ног, мы создали искусственную трахею и искусственный глаз. Пусть это и примитивно, это первые грубые шаги, но в целом вектор намечен. В какой-то момент синтеза биологии и технологии вы не сможете определить, где в человеке будущего модификация, а где что-то врожденное. Этот вариант кажется мне более вероятным.