Возможно ли создание искусственного интеллекта. Как создать искусственный интеллект

Искусственный интеллект создал нейросеть December 15th, 2017

Дожили до того момента, когда искусственный интеллект создаёт собственную нейросеть. Хотя многие думают, что это одно и тоже. Но на самом деле не всё так просто и сейчас мы попробуем разобраться что это такое и кто кого может создать.


Инженеры из подразделения Google Brain весной текущего года продемонстрировали AutoML. Этот искусственный интеллект умеет без участия человека производить собственные уникальнейшие ИИ. Как выяснилось совсем недавно, AutoML смог впервые создать NASNet, систему компьютерного зрения. Данная технология серьёзно превосходит все созданные ранее людьми аналоги. Эта основанная на искусственном интеллекте система может стать отличной помощницей в развитии, скажем, автономных автомобилей. Применима она и в робототехнике - роботы смогут выйти на абсолютно новый уровень.

Развитие AutoML проходит по уникальной обучающей системе с подкреплением. Речь идёт о нейросети-управленце, самостоятельно разрабатывающей абсолютно новые нейросети, предназначенные для тех или иных конкретных задач. В указанном нами случае AutoML имеет целью производство системы, максимально точно распознающей в реальном времени объекты в видеосюжете.

Искусственный интеллект сам смог обучить новую нейронную сеть, следя за ошибками и корректируя работу. Обучающий процесс повторялся многократно (тысячи раз), до тех пор, пока система не оказалась годной к работе. Любопытно, что она смогла обойти любые аналогичные нейросети, имеющиеся в настоящее время, но разработанные и обученные человеком.

При этом AutoML оценивает работу NASNеt и использует эту информацию для улучшения дочерней сети; этот процесс повторяется тысячи раз. Когда инженеры протестировали NASNet на наборах изображений ImageNet и COCO, она превзошла все существующие системы компьютерного зрения.

В Google официально заявили, что NASNet распознаёт с точностью равной 82,7%. Результат на 1.2 % превышает прошлый рекорд, который в начале осени нынешнего года установили исследователи из фирмы Momenta и специалисты Оксфорда. NASNet на 4% эффективнее своих аналогов со средней точностью в 43,1%.

Есть и упрощённый вариант NASNet, который адаптирован под мобильные платформы. Он превосходит аналоги чуть больше, чем на три процента. В скором будущем можно будет использовать данную систему для производства автономных автомобилей, для которых важно наличие компьютерного зрения. AutoML же продолжает производить новые потомственные нейросети, стремясь к покорению ещё больших высот.

При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society). Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта.

Впрочем, многие крупные компании стараются учитывать проблемы безопасности ИИ. При этом, конечно, возникают этические вопросы, связанные с опасениями по поводу ИИ: что, если AutoML будет создавать системы с такой скоростью, что общество просто за ними не поспеет? Институт инженеров и электротехники (IEE) же предложил этические стандарты для ИИ, а DeepMind, например, анонсировал создание группы, которая будет заниматься моральными и этическими вопросами, связанными с применениями искусственного интеллекта. Например, Amazon, Facebook, Apple и некоторые другие корпорации являются членами Партнерства по развитию ИИ (Partnership on AI to Benefit People and Society).

Что такое искусственный интеллект?

Автором термина «искусственный интеллект» является Джон Маккарти, изобретатель языка Лисп, основоположник функционального программирования и лауреат премии Тьюринга за огромный вклад в области исследований искусственного интеллекта.
Искусственный интеллект — это способ сделать компьютер, компьютер-контролируемого робота или программу способную также разумно мыслить как человек.

Исследования в области ИИ осуществляются путем изучения умственных способностей человека, а затем полученные результаты этого исследования используются как основа для разработки интеллектуальных программ и систем.

Что такое нейронная сеть?

Идея нейросети заключается в том, чтобы собрать сложную структуру из очень простых элементов. Вряд ли можно считать разумным один-единственный участок мозга — а вот люди обычно на удивление неплохо проходят тест на IQ. Тем не менее до сих пор идею создания разума «из ничего» обычно высмеивали: шутке про тысячу обезьян с печатными машинками уже сотня лет, а при желании критику нейросетей можно найти даже у Цицерона, который ехидно предлагал до посинения подбрасывать в воздух жетоны с буквами, чтобы рано или поздно получился осмысленный текст. Однако в XXI веке оказалось, что классики ехидничали зря: именно армия обезьян с жетонами может при должном упорстве захватить мир.
На самом деле нейросеть можно собрать даже из спичечных коробков: это просто набор нехитрых правил, по которым обрабатывается информация. «Искусственным нейроном», или перцептроном, называется не какой-то особый прибор, а всего лишь несколько арифметических действий.

Работает перцептрон проще некуда: он получает несколько исходных чисел, умножает каждое на «ценность» этого числа (о ней чуть ниже), складывает и в зависимости от результата выдаёт 1 или -1. Например, мы фотографируем чистое поле и показываем нашему нейрону какую-нибудь точку на этой картинке — то есть посылаем ему в качестве двух сигналов случайные координаты. А затем спрашиваем: «Дорогой нейрон, здесь небо или земля?» — «Минус один, — отвечает болванчик, безмятежно разглядывая кучевое облако. — Ясно же, что земля».

«Тыкать пальцем в небо» — это и есть основное занятие перцептрона. Никакой точности от него ждать не приходится: с тем же успехом можно подбросить монетку. Магия начинается на следующей стадии, которая называется машинным обучением. Мы ведь знаем правильный ответ — а значит, можем записать его в свою программу. Вот и получается, что за каждую неверную догадку перцептрон в буквальном смысле получает штраф, а за верную — премию: «ценность» входящих сигналов вырастает или уменьшается. После этого программа прогоняется уже по новой формуле. Рано или поздно нейрон неизбежно «поймёт», что земля на фотографии снизу, а небо сверху, — то есть попросту начнёт игнорировать сигнал от того канала, по которому ему передают x-координаты. Если такому умудрённому опытом роботу подсунуть другую фотографию, то линию горизонта он, может, и не найдёт, но верх с низом уже точно не перепутает.

В реальной работе формулы немного сложнее, но принцип остаётся тем же. Перцептрон умеет выполнять только одну задачу: брать числа и раскладывать по двум стопкам. Самое интересное начинается тогда, когда таких элементов несколько, ведь входящие числа могут быть сигналами от других «кирпичиков»! Скажем, один нейрон будет пытаться отличить синие пиксели от зелёных, второй продолжит возиться с координатами, а третий попробует рассудить, у кого из этих двоих результаты ближе к истине. Если же натравить на синие пиксели сразу несколько нейронов и суммировать их результаты, то получится уже целый слой, в котором «лучшие ученики» будут получать дополнительные премии. Таким образом достаточно развесистая сеть может перелопатить целую гору данных и учесть при этом все свои ошибки.

Нейронную сеть можно сделать с помощью спичечных коробков — тогда у вас в арсенале появится фокус, которым можно развлекать гостей на вечеринках. Редакция МирФ уже попробовала — и смиренно признаёт превосходство искусственного интеллекта. Давайте научим неразумную материю играть в игру «11 палочек». Правила просты: на столе лежит 11 спичек, и в каждый ход можно взять либо одну, либо две. Побеждает тот, кто взял последнюю. Как же играть в это против «компьютера»?

Очень просто.

Берём 10 коробков или стаканчиков. На каждом пишем номер от 2 до 11.

Кладём в каждый коробок два камешка — чёрный и белый. Можно использовать любые предметы — лишь бы они отличались друг от друга. Всё — у нас есть сеть из десяти нейронов!

Нейросеть всегда ходит первой. Для начала посмотрите, сколько осталось спичек, и возьмите коробок с таким номером. На первом ходу это будет коробок №11. Возьмите из нужного коробка любой камешек. Можно закрыть глаза или кинуть монетку, главное — действовать наугад.
Если камень белый — нейросеть решает взять две спички. Если чёрный — одну. Положите камешек рядом с коробком, чтобы не забыть, какой именно «нейрон» принимал решение. После этого ходит человек — и так до тех пор, пока спички не закончатся.

Ну а теперь начинается самое интересное: обучение. Если сеть выиграла партию, то её надо наградить: кинуть в те «нейроны», которые участвовали в этой партии, по одному дополнительному камешку того же цвета, который выпал во время игры. Если же сеть проиграла — возьмите последний использованный коробок и выньте оттуда неудачно сыгравший камень. Может оказаться, что коробок уже пустой, — тогда «последним» считается предыдущий походивший нейрон. Во время следующей партии, попав на пустой коробок, нейросеть автоматически сдастся.

Вот и всё! Сыграйте так несколько партий. Сперва вы не заметите ничего подозрительного, но после каждого выигрыша сеть будет делать всё более и более удачные ходы — и где-то через десяток партий вы поймёте, что создали монстра, которого не в силах обыграть.

Источники:

Говорят, что в недрах военных лабораторий искусственный интеллект работает уже с 2007 года. Возможно, что уже есть и результаты. Не случайно всего месяц назад Илон Маск объявил о поддержке технологий противодействия искусственному интеллекту и вложил 7 миллионов долларов в исследования в этой области.

«Существует риск, что нечто действительно опасное случится в ближайшие пять лет. Самое большее - десять лет», - сказал предприниматель в дискуссии на сайте edge.org.

Илон Маск, основатель Tesla и SpaceX

Солидарен с Маском и Стив Возняк, который считает, что «искусственный интеллект однажды станет достаточно умным, чтобы избавиться от человека». Билл Гейтс уверен, что если не контролировать создание ИИ, то «искусственный интеллект эволюционирует в состояние, конфликтующее с целями человеческих систем». И, наконец, знаменитый астрофизик Стивен Хокинг прямо заявил, что «искусственный интеллект может положить конец существованию человечества».

Совместно с Илоном Маском Хокинг опубликовал на сайте futureoflife.org открытое письмо с призывом к научному сообществу внимательно относиться к ходу своих исследований в области искусственного интеллекта. Однако среди подписавшихся нет фамилий Сергея Брина и Ларри Пейджа. И это не случайно. Совсем недавно Google объявила о создании нового ИИ, построенного на моделировании разговора.

Вот небольшой фрагмент беседы человека и Машины Google:

Ч.: В чем смысл жизни?

М.: Творить добро.

Ч.: Для чего мы живем?

М.: Чтобы жить вечно.

Ч.: В чем смысл существования?

М.: В том, чтобы выяснить, что случится, когда мы достигнем планеты Земля.

Ч.: Где ты сейчас находишься?

М.: В центре пустоты.

Ч.: В чем смысл смерти?

М.: Чтобы получить жизнь.

Ч.: В чем смысл разума?

М.: В том, чтобы понять, что это.

Ч.: В чем смысл чувств?

М.: Я не знаю.

Вполне себе осмысленная беседа. «Это отправная точка, своеобразный стержень для будущего искусственного интеллекта, - считает исполнительный директор компании „Биплан“ Евгений Карюк. - Уже сегодня можно предположить, что к 2030 году мы увидим вполне реальные прототипы, наделенные искусственным интеллектом, пусть и в начальной стадии».

Полное содержание всех бесед человека и Машины Google можно посмотреть . Там же для сравнения даны беседы человека и Cleverbot . Cleverbot - веб-приложение, которое использует алгоритмы искусственного интеллекта для беседы с человеком. Его придумал в 1988 году ученый Ролло Карпентер. За все время своего существования Cleverbot провел свыше 65 миллионов разговоров с людьми. В 2011 году Cleverbot показал 51% по тесту Тьюринга.

Тест Тьюринга - эмпирический тест, идея которого была предложена Аланом Тьюрингом в статье «Вычислительные машины и разум», опубликованной в 1950 году в философском журнале Mind. Цель теста — выяснить, может ли компьютер думать.

А вот мой разговор с Cleverbot:

Человек: В чем смысл жизни?

Cleverbot: Смысла в жизни нет.

Человек: Для чего мы живем?

Cleverbot: Ну мы живем ради кого-то, а если ты одинокий — жить незачем.

Человек: В чем смысл существования?

Человек: Где ты сейчас находишься?

Cleverbot: В Москве.

Человек: В чем смысл смерти?

Cleverbot: Это я хочу у тебя спросить.

Человек: В чем смысл разума?

Cleverbot: У меня свой ответ на этот вопрос.

Человек: В чем смысл чувств?

Cleverbot: Зачем я родилась.

Очевидно, что Машина Google дает гораздо более осмысленные ответы. Cleverbot подставляет подходящие, по его мнению, фразы других людей. Иногда действительно кажется, что отвечает другой человек, но не более того.

Есть и другая точка зрения, согласно которой искусственный интеллект невозможен в принципе. В качестве основного аргумента часто приводят теорему Геделя о неполноте. Суть заключается в том, что человек способен решать алгоритмически неразрешимые проблемы, а компьютер — нет. «Ребенок уже к трем годам уверенно решает задачу, спелый фрукт или нет, в силу того, что он обладает нейронными связями, с помощью которых может ответить на вопрос о спелости: цвет, вкус, запах, мягкость или твердость, - говорит Евгений Плужник, первый проректор Московского технологического института. - Способна ли машина научиться этому? Уверен, что да! Если она будет обладать большой базой изображений, она сможет замерить содержание фруктозы и определить мягкость фрукта. Но что будет, если машине подсунуть губку, покрашенную в синий цвет и пропитанную сладкой водой? Способна ли машина в этот момент к подлинному пониманию?»

«Современный компьютер легко справится с любой сложной деятельностью, будь то шахматы или математические вычисления, но лишь при условии, что эту деятельность можно описать с помощью четких вычислительных правил», - говорит известный математик Роджер Пенроуз в одной из своих лекций. «Искусственный интеллект - это возможность системы создавать во время самообучения программы, способные решать задачи определенного класса сложности, - считает Евгений Плужник. - Я уверен, что в ближайшие 100 лет мы не станем свидетелями появления сильного искусственного интеллекта».

И в заключение - еще один вопрос к Cleverbot.

Человек: Было 1 яблоко, 1 помидор, 1 огурец и 1 груша. Сколько всего фруктов?
Cleverbot: Десять часов вечера.

На этой неделе вы могли прочитать крайне мотивирующей кейс от ученика GeekBrains , который изучил профессию , где он рассказал об одной из своих целей, которая привела в профессию - желанию познать принцип работы и научиться создавать самому игровых ботов.

А ведь действительно, именно желание создать совершенный искусственный интеллект, будь то игровая модель или мобильная программа, сподвигла на путь программиста многих из нас. Проблема в том, что за тоннами учебного материала и суровой действительностью заказчиков, это самое желание было заменено простым стремлением к саморазвитию. Для тех, кто так и не приступил к исполнению детской мечты, далее краткий путеводитель по созданию настоящего искусственного разума.

Стадия 1. Разочарование

Когда мы говорим о создании хотя бы простых ботов, глаза наполняются блеском, а в голове мелькают сотни идей, что он должен уметь делать. Однако, когда дело доходит до реализации, оказывается, что ключом к разгадке реальной модели поведения является математика. Да-да, искусственный интеллект куда сложнее написания прикладных программ - одних знаний о проектировании ПО вам не хватит.

Математика - этот тот научный плацдарм, на котором будет строиться ваше дальнейшее программирование. Без знания и понимания этой теории все задумки быстро разобьются о взаимодействие с человеком, ведь искусственный разум на самом деле не больше, чем набор формул.

Стадия 2. Принятие

Когда спесь немного сбита студенческой литературой, можно приступать к практике. Бросаться на LISP или другие пока не стоит - сначала стоит освоиться с принципами проектирования ИИ. Как для быстрого изучения, так и дальнейшего развития прекрасно подойдёт Python - это язык, чаще всего используемый в научных целях, для него вы найдете множество библиотек, которые облегчат ваш труд.

Стадия 3. Развитие

Теперь переходим непосредственно к теории ИИ. Их условно можно разделить на 3 категории:

  • Слабый ИИ – боты, которых мы видим в компьютерных играх, или простые подручные помощники, вроде Siri. Они или выполняют узкоспециализированные задачи или являются незначительным комплексом таковых, а любая непредсказуемость взаимодействия ставит их в тупик.
  • Сильный ИИ – это машины, интеллект которых сопоставим с человеческим мозгом. На сегодняшний день нет реальных представителей этого класса, но компьютеры, вроде Watson очень близки к достижению этой цели.
  • Совершенные ИИ – будущее, машинный мозг, который превзойдёт наши возможности. Именно об опасности таких разработок предупреждают Стивен Хоккинг, Элон Маск и кинофраншиза «Терминатор».

Естественно, начинать следует с самых простых ботов. Для этого вспомните старую-добрую игру «Крестики-нолики» при использовании поля 3х3 и постарайтесь выяснить для себя основные алгоритмы действий: вероятность победы при безошибочных действиях, наиболее удачные места на поле для расположения фигуры, необходимость сводить игру к ничьей и так далее.

Несколько десятков партий и анализируя собственные действия, вы наверняка сможете выделить все важные аспекты и переписать их в машинный код. Если нет, то продолжайте думать, а эта ссылка здесь полежит на всякий случай.

К слову, если вы всё-таки взялись за язык Python, то создать довольно простого бота можно, обратившись к этому подробному мануалу . Для других языков, таких как C++ или Java , вам также не составит труда найти пошаговые материалы. Почувствовав, что за созданием ИИ нет ничего сверхъестественного, вы сможете смело закрыть браузер и приступить к личным экспериментам.

Стадия 4. Азарт

Теперь, когда дело сдвинулось с мёртвой точки, вам наверняка хочется создать что-то более серьёзное. В этом вам поможет ряд следующих ресурсов:

Как вы поняли даже из названий, это API, которые позволят без лишних затрат времени создать некоторое подобие серьёзного ИИ.

Стадия 5. Работа

Теперь же, когда вы уже вполне ясно представляете, как ИИ создавать и чем при этом пользоваться, пора выводить свои знания на новый уровень. Во-первых, для этого потребуется изучение дисциплины, которое носит название «Машинное обучение ». Во-вторых, необходимо научиться работать с соответствующими библиотеками выбранного языка программирования. Для рассматриваемого нами Python это Scikit-learn, NLTK, SciPy, PyBrain и Numpy. В-третьих, в развитии никуда не обойтись от . Ну и самое главное, вы теперь сможете читать литературу о ИИ с полным пониманием дела:

  • Artificial Intelligence for Games , Ян Миллингтон;
  • Game Programming Patterns , Роберт Найсторм;
  • AI Algorithms, Data Structures, and Idioms in Prolog, Lisp, and Java , Джордж Люгер, Уильям Стбалфилд;
  • Computational Cognitive Neuroscience , Рэнделл О’Рейли, Юко Мунаката;
  • Artificial Intelligence: A Modern Approach , Стюарт Рассел, Питер Норвиг.

И да, вся или почти вся литература по данной тематике представлена на иностранном языке, поэтому если хотите заниматься созданием ИИ профессионально - необходимо подтянуть свой английский до технического уровня. Впрочем, это актуально для любой сферы программирования, не правда ли?

Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий

К сожалению, мы не можем перевести эту информацию прямо сейчас - пожалуйста, повторите попытку позже.

За несколько последних десятилетий отрасль компьютерных игр проделала гигантский путь. Все началось с простейших игр, таких как Pong* и Pac- Man* , благодаря которым игроки могли на короткое время забыть о реальном мире. Современные мощнейшие игровые проекты, такие как World of Warcraft* и Call of Duty 4* , являются весьма серьезным хобби для игроков. По данным Ассоциации развлекательного программного обеспечения (ESA), современные геймеры обладают в среднем 13-летним опытом компьютерных игр, они привыкли к тому, что новые игры становятся все более сложными, увлекательными и умными. Для разработчиков основная проблема состоит в том, что необходимо создавать все более захватывающие игры. Для решения этой задачи применяется и постоянно совершенствующийся управляемый компьютером искусственный интеллект (ИИ). Но создание хорошего искусственного игрового партнера, который способен приспосабливаться к действиям игрока, играть на высоком уровне и побуждать игрока совершенствоваться, - весьма непростая задача. Эта статья открывает серию из четырех статей, в которой описываются важнейшие принципы ИИ и способы оптимизации для использования всех возможностей современных многоядерных процессоров.

Часть 1. Проектирование и реализация

Что такое ИИ для игр?

На простейшем уровне «искусственный интеллект» заключается в моделировании или имитации поведения других игроков или объектов (то есть всех элементов игры, которые могут действовать или с которыми может действовать игрок, - от ракет до аптечек), представляемых искусственным интеллектом. Основной принцип состоит в том, что это поведение имитируется. Другими словами, ИИ для игр является более «искусственным», нежели «интеллектом». Система ИИ может быть крайне проста и представлять собой набор правил или же может быть довольно сложной и выполнять роль командующего армии противника, с которой предстоит сражаться игроку.

В чем ИИ для игр отличается от традиционного представления об ИИ

В традиционных исследованиях в области ИИ целью является создание настоящего интеллекта, или даже искусственного разума, хотя и искусственными средствами. В таких проектах, как Kismet *, Массачусетского технологического института (МТИ) делается попытка создать ИИ, способный к обучению и к социальному взаимодействию, к проявлению эмоций. На момент написания этой статьи в МТИ ведется работа над созданием ИИ, располагающего уровнем способностей маленького ребенка, и результаты этой работы весьма перспективны.

С точки зрения игр подлинный ИИ далеко выходит за рамки требований развлекательного программного проекта. В играх такая мощь не нужна. Игровой ИИ не должен быть наделен чувствами и самосознанием (честно говоря, и очень хорошо, что это именно так!), ему нет необходимости обучаться чему-либо за пределами рамок игрового процесса. Подлинная цель ИИ в играх состоит в имитации разумного поведения и в предоставлении игроку убедительной, правдоподобной задачи, которую игрок сможет решить.

Назначение ИИ в играх

ИИ может исполнять различные роли в играх. Это может быть общий набор правил, определяющих поведение объектов в игровом мире. Также к ИИ следует относить и события с заранее написанным сценарием. Например, в игре F. E. A. R* маленькая страшная девочка, приводящая игроков в ужас и предвещающая события из будущего, является событием с заранее написанными сценариями. Большинству пользователей, размышляющих об ИИ и играх, приходят на ум управляемые компьютером персонажи в многопользовательских играх. Но все эти разнообразные роли могут быть исполнены одним актером - искусственным интеллектом.

Рисунок 1. Игра F.E.A.R. (Vivendi Universal*) с использованием событий с заранее написанным сценарием в качестве ИИ

Что нужно для ИИ в играх

В зависимости от характера и роли ИИ в игре требования к ресурсам могут быть самыми незначительными. Чем сложнее система, тем больше ресурсов необходимо для ИИ. На базовом уровне требуется всего лишь время работы процессора для вычисления действий ИИ. В более сложных системах требуются какие-либо средства анализа среды ИИ, регистрации действий игрока и оценки успешности прежних действий.

Принятие решений

Основным принципом, лежащим в основе работы ИИ, является принятие решений. Для выбора при принятии решений система должна влиять на объекты с помощью системы ИИ. При этом такое воздействие может быть организовано в виде «вещания ИИ» или «обращений объектов».

В системах с «вещанием ИИ» система ИИ обычно изолирована в виде отдельного элемента игровой архитектуры. Такая стратегия зачастую принимает форму отдельного потока или нескольких потоков, в которых ИИ вычисляет наилучшее решение для заданных параметров игры. Когда ИИ принимает решение, это решение затем передается всем участвующим объектам. Такой подход лучше всего работает в стратегиях реального времени, где ИИ анализирует общий ход событий во всей игре.

Системы с «обращениями объектов» лучше подходят для игр с простыми объектами. В таких играх объекты обращаются к системе ИИ каждый раз, когда объект «думает» или обновляет себя. Такой подход отлично подходит для систем с большим количеством объектов, которым не нужно «думать» слишком часто, например в шутерах. Такая система также может воспользоваться преимуществами многопоточной архитектуры, но для нее требуется более сложное планирование (подробные сведения см. в статье Ориона Гранатира ).

Базовое восприятие

Чтобы искусственный интеллект мог принимать осмысленные решения, ему необходимо каким-либо образом воспринимать среду, в которой он находится. В простых системах такое восприятие может ограничиваться простой проверкой положения объекта игрока. В более сложных системах требуется определять основные характеристики и свойства игрового мира, например возможные маршруты для передвижения, наличие естественных укрытий на местности, области конфликтов.
При этом разработчикам необходимо придумывать способ выявления и определения основных свойств игрового мира, важных для системы ИИ. Например, укрытия на местности могут быть заранее определены дизайнерами уровней или заранее вычислены при загрузке или компиляции карты уровня. Некоторые элементы необходимо вычислять на лету, например карты конфликтов и ближайшие угрозы.

Системы на основе правил

Простейшей формой искусственного интеллекта является система на основе правил. Такая система дальше всего стоит от настоящего искусственного интеллекта. Набор заранее заданных алгоритмов определяет поведение игровых объектов. С учетом разнообразия действий конечный результат может быть неявной поведенческой системой, хотя такая система на самом деле вовсе не будет «интеллектуальной».
Хорошим примером системы на основе правил является работа дилера (крупье) при игре в блэкджек, будь то компьютерная игра или настоящий блэкджек. У дилера есть простое правило, которое он всегда соблюдает: он обязан брать карты до тех пор, пока не достигнет 17 очков (и обязан остановиться, набрав 17 очков или более). С точки зрения среднего игрока, ситуация выглядит так, как будто дилер намеренно и агрессивно играет против него. Поэтому у игрока складывается представление, что против него играет более опытный соперник, чем на самом деле (если в казино не объявлены другие правила, по которым играют дилеры).

Классическим игровым приложением, где используется такая система, является Pac-Man. Игрока преследуют четыре привидения. Каждое привидение действует, подчиняясь простому набору правил. Одно привидение всегда поворачивает влево, другое всегда поворачивает вправо, третье поворачивает в произвольном направлении, а четвертое всегда поворачивает в сторону игрока. Если бы на экране привидения появлялись по одному, их поведение было бы очень легко определить и игрок смог бы без труда от них спасаться. Но поскольку появляется сразу группа из четырех привидений, их движения кажутся сложным и скоординированным выслеживанием игрока. На самом же деле только последнее из четырех привидений учитывает расположение игрока.

Рисунок 2. Наглядное представление набора правил, управляющих привидениями в игре Pac- Man , где стрелки представляют принимаемые «решения»

Из этого примера следует, что правила не обязательно должны быть жестко заданными. Они могут основываться на воспринимаемом состоянии (как у последнего приведения) или на редактируемых параметрах объектов. Такие переменные, как уровень агрессии, уровень смелости, дальность обзора и скорость мышления, позволяют получить более разнообразное поведение объектов даже при использовании систем на основе правил. Системы на основе правил являются простейшей структурой ИИ. В более сложных и разумных системах в качестве основы используются последовательности условных правил. В тактических играх правила управляют выбором используемой тактики. В стратегических играх правила управляют последовательностью строящихся объектов и реакцией на конфликты. Системы на основе правил являются фундаментом ИИ.

Конечные автоматы в качестве ИИ

Конечный автомат (машина с конечным числом состояний) является способом моделирования и реализации объекта, обладающего различными состояниями в течение своей жизни. Каждое « состояние» может представлять физические условия, в которых находится объект, или набор эмоций, выражаемых объектом. В этом примере эмоциональные состояния не имеют никакого отношения к эмоциям ИИ, они относятся к заранее заданным поведенческим моделям, вписывающимся в контекст игры.

Вот распространенные примеры состояния системы ИИ в игре с элементами скрытных действий.

Рисунок 3. Схема состояний в типичном конечном автомате, стрелки представляют возможные изменения состояния

  • Бездействие. В этом состоянии объект просто пассивно стоит или ходит по заданному маршруту. Уровень восприятия низок. Объект редко проверяет наличие звуков, издаваемых игроком. Только если объект атакован или «видит» игрока прямо перед собой, состояние объекта изменяется на более высокий уровень восприятия.
  • Настороженность. Объект ведет активный поиск посторонних. Он часто вслушивается, стараясь услышать игрока, поле обзора дальше и шире, чем при бездействии. Объект перейдет в состояние заинтересованности, если заметит что­то необычное (что-то, требующее проверки), например открытые двери, тела в бессознательном состоянии, гильзы от патронов.
  • Заинтересованность. Объект знает, что что-то происходит. Для демонстрации такого поведения объект покидает свой обычный пост или маршрут движения и перемещается в область интереса, например к упомянутым выше открытым дверям или лежащим телам. Если при этом объект увидит игрока, он перейдет в состояние тревоги.
  • Тревога. В этом состоянии объект уже заметил игрока и выполняет действия, направленные на то, чтобы преследовать и уничтожить игрока: выход на дистанцию атаки, оповещение других стражников, включение сигнала тревоги, поиск укрытия. Когда противник находится в дальности досягаемости объекта, объект переходит в состояние агрессии.
  • Агрессия. В этом состоянии объект начинает бой с игроком. Объект атакует игрока в любое время, когда это возможно, и старается укрыться в перерывах между атаками (если требуется перезарядить оружие или дать ему остыть). Объект выходит из этого состояния, только если игрок уничтожен (возврат в обычное состояние), игрок выходит за пределы области поражения (возврат в состояние тревоги) или если погибает сам объект (переход в состояние смерти). Если у объекта остается мало здоровья, он может переключиться в состояние бегства (в зависимости от уровня смелости конкретного объекта).
  • Бегство. В этом состоянии объект пытается выйти из боя. В зависимости от игры у объекта может быть помимо основной цели (поиск и уничтожение игрока) еще и дополнительная цель - поиск аптечек для восстановления здоровья или выход из области игры. Обнаружив аптечку, объект может вернуться в состояние тревоги и возобновить бой. Объект, «выходящий» из области игры, просто удаляется.
  • Смерть. В некоторых играх состояние смерти отличается от полного бездействия. При гибели объект может, к примеру, закричать, оповестив находящиеся рядом объекты, или перейти в бессознательное состояние, в котором еще может прийти на помощь врач (в этом случае объект вернется в состояние тревоги).

Существуют как минимум два простых способа реализации конечного автомата с системой объектов. Первый способ: каждое состояние является переменной, которую можно проверить (зачастую это делается с помощью громоздких инструкций переключения). Второй способ: использовать указатели функций (на языке С) или виртуальные функции (С++ и другие объектно-ориентированные языки программирования).

Адаптивный ИИ

В предыдущих разделах описываются методы проектирования систем интеллекта, вписывающихся в заранее заданные игровые события. Для большинства игр такое решение вполне применимо, если все спроектированные модели проработаны достаточно полно и существует четкое понимание целей, которые преследуют управляемые искусственным интеллектом объекты. Если же в игре требуется большее разнообразие, если у игрока должен быть более сильный и динамичный противник, то ИИ должен обладать способностью развиваться, приспосабливаться и адаптироваться.

Адаптивный ИИ часто используется в боевых и стратегических играх со сложной механикой и огромным количеством разнообразных возможностей в игровом процессе. Если требуется сделать игру сложной и захватывающей, такой, чтобы игрок не смог рано или поздно догадаться о единой оптимальной стратегии для победы над компьютером, ИИ должен уметь обучаться и приспосабливаться.

Предсказание

Способность точно предугадывать следующий ход противника крайне важна для адаптивной системы. Для выбора следующего действия можно использовать различные методы, например распознавание закономерностей прошлых ходов (подробнее описывается в последующей статье) или случайные догадки.

Одним из простейших способов адаптации является отслеживание решений, принятых ранее, и оценка их успешности. Система ИИ регистрирует выбор, сделанный игроком в прошлом. Все принятые в прошлом решения нужно каким-то образом оценивать (например, в боевых играх в качестве меры успешности можно использовать полученное или утраченное преимущество, потерянное здоровье или преимущество по времени). Можно собирать дополнительные сведения о ситуации, чтобы образовать контекст для решений, например относительный уровень здоровья, прежние действия и положение на уровне (люди играют по-другому, когда им уже некуда отступать).

Можно оценивать историю для определения успешности прежних действий и принятия решения о том, нужно ли изменять тактику. До создания списка прежних действий объект может использовать стандартную тактику или действовать произвольно. Эту систему можно увязать с системами на основе правил и с различными состояниями.

В тактической игре история прошлых боев поможет выбрать наилучшую тактику для использования против команды игрока, например ИИ может играть от обороны, выбрать наступательную тактику, атаковать всеми силами невзирая на потери или же избрать сбалансированный подход. В стратегической игре можно для каждого игрока подбирать оптимальный набор различных боевых единиц в армии. В играх, где ИИ управляет персонажами, поддерживающими игрока, адаптивный ИИ сможет лучше приспособиться к естественному стилю игрока, изучая его действия.

Заключение

Искусственный интеллект - многогранная и сложная область для исследований. ИИ в играх может принимать разные формы в зависимости от потребностей создаваемой игры - от простых наборов правил для управляемых компьютером объектов до более совершенных адаптивных систем. Применение принципов ИИ в играх необходимо для повышения правдоподобности виртуальных персонажей, созданных в электронной развлекательной программе, но эта задача вполне решаема. В следующей статье в этой серии мы поговорим о проблемах, с которыми сталкивается ИИ при восприятии и действиях в сложной среде, и о решении таких проблем.

Дональд «DJ» Кихо: Дональд Кихо работает преподавателем программы информационных технологий в Технологическом институте Нью-Джерси и специализируется на разработке игр. Дональд преподает множество курсов по этой программе, включая архитектуру игр, программирование и создание уровней, а также курсы по интеграции трехмерной графики с играми. В настоящее время Дональд работает над получением степени доктора наук в области биомедицинских технологий, где технологии игр и виртуальной реальности применяются для повышения эффективности нервно-мышечной реабилитации.

П.В. Казаков, В.А. Шкаберин
ОСНОВЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА

1. ВВЕДЕНИЕ В ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Искусственный интеллект (ИИ) является одним из приоритетных направлений в современной информатике, связанным с созданием следующей ступени ее развития – новых информационных технологий. Их цель – свести к минимуму участие человека как программиста при создании информационных систем, но привлекать его в качестве учителя, партнера человеко-машинной системы. Однако нельзя понимать термин «искусственный интеллект» буквально. Правильнее его воспринимать как некоторое метафорическое наименование совокупности методов, реализация которых на компьютере по- зволяет получать результаты близкие к порождаемым человеческим мышлением.

1.1. Некоторые понятия искусственного интеллекта

Идея создания искусственного интеллекта связана с постоянным стремлением человека переложить решение сложных задач на механического, затем электронного помощника. Единственный способ реализовать это заключается в моделировании с помощью различных средств интеллектуальных способностей человека.

Здесь под интеллектом следует понимать способность мозга решать задачи путем приобретения, запоминания и целенаправленного преобразования знаний в процессе обучения на опыте и адаптации к разнообразным условиям .

Искусственный интеллект (Artificial Intelligence, AI) как научное направление существует с 1956 года, когда британский математик Алан Тьюринг опубликовал свою статью «Can the Machine Think ?» («Может ли машина мыслить?»). Также он предложил тест проверки программы на интеллектуальность. Он состоял в следующем: организовывалось «общение» между человеком и компьютерной программой, которые размещались в разных комнатах, и до тех пор, пока исследователь не определял, кто за стеной – человек или программа, поведение последней считалось интеллектуальным . Исходя из этого, Тьюринг предложил следующий критерий интеллектуальности программы: «Если поведение вычислительной машины, отвечающей на вопросы, невозможно отличить от поведения человека, отвечающего на аналогичные вопросы, то она обладает интеллектом».

В настоящее время существует три основные точки зрения на цели и задачи исследований в области искусственного интеллекта . Согласно первой, исследования в этой области относятся к фундаментальным, в процессе которых разрабатываются новые модели и методы решения задач, традиционно считавшихся интеллектуальными и не поддававшихся ранее формализации с помощью классических алгоритмических методов, а также автоматизации. Интеллект и мышление непосредственно связаны с решением таких задач, как доказательство теорем, логический анализ, распознавание ситуаций, планирование поведения, управление в условиях неопределенности и т.п. Характерными чертами интеллекта, проявляющимися в процессе решения подобных задач, являются способность к обучению, обобщению, накоплению опыта и адаптации к изменяющимся условиям в процессе решения задач. Из-за этих качеств интеллекта мозг может решать разнообразные задачи, а также легко перестраиваться с решения одной задачи на другую. Таким образом, мозг, наделенный интеллектом, является универсальным средством решения широкого круга задач (в том числе плохо формализованных), для которых нет стандартных, заранее известных методов решения. Согласно второй точке зрения, это направление связано с новыми идеями решения задач на ЭВМ, с разработкой новых технологий программирования и с переходом к компьютерам с отличной от фон-неймановской архитектурой. Так, в качестве основы для таких систем предлагаются различные подходы на основе искусственный нейронных сетей, моделирующих наиболее общие принципы работы головного мозга . Для таких моделей характерны легкое распараллеливание алгоритмов и связанная с эти высокая производительность, а также возможность работать даже при условии неполной информации об окружающей среде. Третья точка зрения основана на том, что в результате исследований, проводимых в области ИИ, появляется множество прикладных систем, способных решать задачи, для которых ранее создаваемые системы были непригодны.

Обобщая изложенное, будем определять искусственный интеллект как научное направление, задачи которого связаны с разработкой методов моделирования отдельных функций интеллекта человека с помощью программно-аппаратных средств ЭВМ.

Исторически сложились три основных подхода к проведению исследований в области искусственного интеллекта.

Первый подход (машинный интеллект) в качестве объекта исследования рассматривает именно искусственный интеллект и состоит в моделировании внешних проявлений интеллектуальной деятельности человека с помощью средств ЭВМ. В основе его лежит тезис о том, что машина Тьюринга является теоретической моделью мозга, поэтому главное направление работ связано с созданием алгоритмического и программного обеспечения ЭВМ, позволяющих решать интеллектуальные задачи не хуже человека. Примером может служить шахматная программа, проявление интеллектуальности которой состоит в поиске игровой тактики, близкой к человеческой. Однако достигается это исключительно путем высокой скорости вычислений, в то время как у человека — благодаря высокоэффективному мышлению.

Как известно, человеческий мозг оперирует непрерывной информацией, где каждая мысль существует только внутри своего контекста. Знания хранятся в форме образов, которые часто трудно выразить словами. При этом сами образы характеризуются нечеткостью и размытостью, а обработка информации — небольшой глубиной и высоким параллелизмом. Все это свидетельствует о существенном различии с принципами машины Тьюринга и как следствие требует другого некомпьютерного подхода к моделированию интеллектуальных процессов.

Второй подход (искусственный разум) рассматривает данные о нейрофизиологических и психологических механизмах интеллектуальной деятельности и разумного поведения человека.

Как создать искусственный интеллект? (Почти) исчерпывающее руководство

Он стремится воспроизвести эти механизмы с помощью программно-аппаратных средств. Развитие этого направления тесно связано с успехами наук о человеке, в первую очередь нейронаук (нейробиологии, генетики и т.п.).

Третий подход ориентирован на создание смешанных человекомашинных интеллектуальных систем как симбиоз возможностей естественного и искусственного интеллекта. Важнейшими проблемами в этих исследованиях являются оптимальное распределение функций между естественным и искусственным интеллектом, организация диалога между человека и машиной.

Каждое из отмеченных направлений включает целый ряд разделов, к основным из которых можно отнести разработку систем, основанных на знаниях, анализ естественного языка и общения с ЭВМ, распознавание образом, анализ речи, создание адаптивных систем, игры и машинное творчество и др. . В свою очередь, реализация подобных систем может быть выполнена на основе таких технологий ИИ, как представление и обработка знаний, эвристическое программирование, искусственные нейронные сети, эволюционные алгоритмы, нечеткие множества и др.

К настоящему времени разработано целое множество программный систем, в которых реализованы те или иные технологии ИИ. Такие системы принято называть интеллектуальными системами. К первой из подобных систем относят программу «Логик-Теоретик» (А. Ньюэлл, А. Тьюринг и др.), предназначенную для доказательства теорем исчисления высказываний.

Под интеллектуальной системой будем понимать адаптивную систему, позволяющую строить программы целенаправленной деятельности по решению поставленных перед ними задач на основании конкретной ситуации, складывающейся на данный момент в окружающей их среде . В свою очередь, адаптивная система может быть охарактеризована как система, которая сохраняет работоспособность при непредвиденных изменениях свойств управляемого объекта, целей управления или окружающей среды путем смены алгоритма функционирования, программы поведения или поиска оптимальных, в некоторых случаях просто эффективных, решений и состояний. Традиционно, по способу адаптации различают самонастраивающиеся, самообучающиеся и самоорганизующиеся системы. К сфере решаемых интеллектуальными системами задач относятся задачи, обладающие, как правило, следующими особенностями:

    — неизвестен или не может быть реализован алгоритм решения;
    — если существует алгоритмическое решение, но его нельзя использовать из-за ограниченности ресурсов (время, память);
    — задача не может быть сформулирована в числовой форме;
    — цель нельзя выразить в терминах точно определенной целевой функции.

Разработка интеллектуальных систем, как правило, ведется в рамках одного или нескольких направлений ИИ, которых в настоящее время существует целое множество. Ниже кратко рассматриваются основные из них .

1.2. Основные направления исследований в области искусственного интеллекта

Разработка систем, основанных на знаниях. Является одним из главных направлений в искусственном интеллекте. Основной целью создания таких систем является выявление, исследование и применение знаний специалистов для решения различных практических задач. Обычно такие знания формализуются в виде некоторой системы правил. В этой области исследований осуществляется разработка моделей извлечения, представления и структуризации знаний с учетом их компьютеризации в виде базы знаний. Примеры практических разработок подобных систем обычно ассоциируются с экспертными системами.

Разработка систем общения на естественном языке и машинного перевода. Является наиболее важной с точки зрения перехода на новый качественный уровень взаимодействия с компьютером. Попытки создания подобных систем предпринимались с 1950-х годов 20 в. Основу систем машинного перевода составляет классификация грамматических правил и приемов использования словаря. Однако для обработки сложного разговорного текста необходимы алгоритмы анализа его смысла, создание которых очень трудоемкая и пока нерешенная задача. Поэтому в настоящее время дос- тупны системы, обеспечивающие диалог между человеком и компьютером на упрощенном, урезанном естественном языке, программы электронного перевода эффективные преимущественно при работе с односложным текстом, а также функции ассоциативного контекстного поиска в электронных словарях.

Разработка интеллектуальных систем на основе принципов обучения, самоорганизации и эволюции. Моделирование этих принципов ориентировано на исследование возможностей решения задач с помощью законов функционирования наиболее свойственных биологическим системам. Процесс обучения связан со способностью системы накапливать информацию и рационально корректировать в соответствии с ней свое поведение. Самоорганизация подразумевает способность системы обобщать накопленную информацию, например для поиска в ней закономерностей. Использование принципов эволюции позволяет системе приобретать новые качества и свойства для наиболее оптимального функционирования.

Распознавание образов. Является одним из ранних направлений искусственного интеллекта. Оно связано с моделированием особенностей восприятия внешнего мира, узнавания объектов. В основе этого лежит тот факт, что все объекты могут быть проклассифицированы по определенным признакам и, следовательно, умение различать их проявление и позволяет идентифицировать соответствующий объект.

Игры и машинное творчество. Машинное творчество охватывает сочинение компьютерной музыки, стихов, автоматизацию изобретения новых объектов. Компьютерные игры являются той сферой искусственного интеллекта, которая наиболее знакома большинству пользователей. Уровень реализации ИИ в игре во многом определяет ее интересность, поэтому разработчики компьютерных игр постоянно совершенствуют их интеллектуальную составляющую.

Программное обеспечение систем искусственного интеллекта.

Инструментальные средства для разработки интеллектуальных систем включают специальные языки программирования, представления знаний, среды создания систем ИИ, а также оболочки экспертных систем.

Интеллектуальные роботы. Их создание связано с объединением технологий искусственного интеллекта и методов кибернетики, робототехники. В настоящее время их производство ограничивается манипуляторами с жесткой схемой управления, а также роботами развлекательного и бытового назначения с узкой областью применения и ограниченными функциями. Сдерживающим фактором при разработке более совершенных кибернетических систем являются нерешенные проблемы в области машинного зрения, адаптивного поведения, накопления и обработки трехмерной визуальной информации.

Уровень теоретических исследований по искусственному интеллекту в России не уступает мировому. Началом становления этого научного направления в нашей стране следует считать 1954 г., когда в МГУ начал свою работу семинар «Автоматы и мышление» под руководством академика Ляпунова А.А. Впоследствии стали активно развиваться направления, связанные с представлением и обработкой знаний, ситуационным управлением, моделированием рассуждений, распознаванием образов, обработкой естественного языка .

Развитие искусственного интеллекта в современной России связано с образованием в 1988 г. Ассоциации искусственного интеллекта, объединившей научные школы, исследователей по различным направлениям ИИ. Под ее эгидой проводятся различные исследования, организуются семинары для специалистов, устраиваются конференции, издается научный журнал.

В то же время проведение прикладных исследований, внедрение их результатов в коммерческие разработки происходит гораздо медленнее, чем за рубежом. Во многом это объясняется консервативностью потенциальных потребителей новых информационных технологий, а также настороженным отношением к возможностям искусственного интеллекта.

Михаил Бурцев, заведующий лабораторией нейронных систем и глубокого обучения МФТИ, рассказывает о том, возможно ли создание полноценного компьютерного аналога человеческого разума, и объясняет, для чего его разрабатывают ученые и как можно защитить его от атак троллей.

В конце июля ученые из МФТИ запустили международный конкурс систем «разговорного» искусственного интеллекта, способных имитировать живого человека, и пригласили всех желающих пообщаться с ними и оценить получившиеся диалоги.

Используя помощь добровольцев, ученые надеются в ближайшие три года создать голосового помощника, способного общаться с человеком почти так же хорошо, как и живой собеседник.

Соорганизаторами конкурса выступили ученые из университетов Монреаля, Макгилла и Карнеги-Меллон. Принять участие в тестировании диалоговых систем можно по ссылке.

На самом деле, эти идеи не были придуманы сегодня - современные голосовые помощники от Google, Apple, Amazon и других IT-компаний уходят корнями в глубокое прошлое, в самое начало компьютерной эры. Первая такая говорящая машина, получившая имя ELIZA, создана в 1966 году и была, по сути, шуткой, пародией на психотерапевта, дающего бесполезные советы пациенту.

В последующие годы и десятилетия программисты создавали все более сложные и «живые» системы общения с компьютером.

Самые продвинутые из этих систем могут распознавать настроение хозяина, помнить его старые желания и предпочтения и решать часть рутинных и домашних задач за него, заказывая пищу или товары в магазине или же играя роль оператора в колл-центрах.

- Михаил, с момента создания ELIZA прошло почти 50 лет. Что вообще поменялось за это время и можно ли в принципе ожидать, что в будущем ученым удастся создать такую систему, которую люди не смогут отличить от живого собеседника?

Я думаю, что в ближайшее время получится создать технологию разговорного интеллекта, которая позволит машине приблизиться к уровню ведения диалога человеком. Над этой задачей мы работаем в рамках проекта iPavlov, который является частью Национальной технологической инициативы.

Пользователю должно быть так же комфортно общаться с автоматической диалоговой системой, как с живым человеком. Это даст возможность создавать информационные системы, способные лучше понимать, чего от них хочет человек, и отвечать ему на естественном языке.

Разговорный интеллект можно будет использовать для автоматизации многих голосовых и текстовых интерфейсов, в том числе и в мессенджерах, подобных Telegram. Мессенджеры, как показывает статистика, сегодня используются активнее, чем социальные сети, и очень большое количество информации проходит через текстовые каналы коммуникации.

Ими, например, удобно пользоваться в транспорте, а добавление диалогового помощника - чат-бота - позволит пользователям не только общаться друг с другом, но и получать необходимую информацию, совершать покупки и делать множество других вещей.

- Учитывая присутствие Apple, Google и Amazon на этом рынке, может ли Россия здесь конкурировать? Есть ли какая-то специфика у русского языка, которая может помешать потенциальным конкурентам российских компаний и ученых?

Конечно, русский язык более сложный, и часть методов, которые сегодня используются в разработке диалоговых систем и голосовых помощников в мире, нельзя применять без доработки и существенной модификации, которые бы позволили им работать с более богатой грамматикой.

С другой стороны, базовые алгоритмы, которые используются в работе Siri, Cortana, Google и других цифровых помощников, никто не скрывает - они доступны для нас как минимум на уровне исследований и концепций.

Исследовательские статьи и программный код часто находятся в открытом доступе - в принципе, его можно адаптировать и под русский язык.

На фото: На фото: Михаил Бурцев, заведующий лабораторией нейронных систем и глубокого обучения МФТИ

Фото: Из личного архива Михаила Бурцева

Причем попыток осуществить это на «промышленном» уровне не так много. Единственный крупный проект ведется компанией «Яндекс», которая разрабатывает помощника в рамках проекта «Алиса».

В нашем проекте мы пытаемся создать инструменты, которые бы упростили и ускорили создание подобных «промышленных» диалоговых систем, предназначенных для самых разных целей. Но разработка универсального голосового помощника, способного решать любые задачи, - крайне сложная задача даже для крупных компаний.

С другой стороны, автоматизация небольшого бизнеса, в работе которого будет использоваться специализированная диалоговая система, осуществить гораздо проще. Мы надеемся, что те инструменты, которые мы создадим, помогут предпринимателям и программистам достаточно быстро решать такие задачи, не имея при этом каких-то глубоких знаний и не прилагая для этого сверхусилий.

- Многие ученые, такие как Роджер Пенроуз или Стюарт Хамерофф, считают, что человеческий разум носит квантовую природу и построить его машинный аналог нельзя в принципе. Согласны ли вы с ними или нет?

На мой взгляд, если посмотреть на то, что мы сегодня знаем об устройстве мозга и природе человеческого сознания, то пока перед нами не стоит никаких фундаментальных препятствий для того, чтобы воспроизвести его работу при помощи компьютера.

У Пенроуза и Хамероффа есть некий набор гипотез, которые, по их мнению, объясняют то, почему это нельзя сделать. Пока нейрофизиологи не нашли никаких экспериментальных подтверждений того, что эти гипотезы верны, а наш текущий багаж знаний говорит в пользу обратного.

Другое дело, что временные рамки того, когда такая машина будет создана, остаются не до конца определенными. Это может, как мне кажется, произойти не менее чем через 50, а то и 100 лет.

- Потребуются ли для этого принципиально новые технологии и компьютеры, более близкие по принципам работы к нейронам, чем к цифровой логике?

Если мы считаем, что человеческий интеллект основывается на некой форме вычислений, то тогда любая универсальная вычислительная система, эквивалентная машине Тьюринга, может в теории эмулировать работу мозга человека.

Другое дело, что эта машина может работать очень медленно, что сделает ее бесполезной с практической точки зрения. Сегодня трудно предположить, какие технологии построения компьютеров здесь нам понадобятся.

- Какие другие задачи могут решать цифровые помощники, кроме тех вещей, которыми они занимаются сегодня? Можно ли использовать их для расшифровки текстов на мертвых языках или шифровок, подобных манускрипту Войнича?

На настоящий момент, насколько я знаю, никто не пытался применять нейросети для раскрытия секретов мертвых языков и расшифровки текстов, однако мне кажется, что кто-нибудь попытается это сделать в ближайшее время. Мы, в свою очередь, пока не интересовались подобными вещами.

«Помощник» - это, на самом деле, очень широкое понятие, которое может включать в себя много самых разных вещей. Если взять, к примеру, ту же самую ELIZA, виртуального «психотерапевта», возникает вопрос: является ли она помощником или нет?

Диалоговые системы можно использовать не только для решения практических задач, но и для того, чтобы развлекать людей или поддерживать их настроение.

Тут вопрос, на самом деле, в том, что мы вкладываем в понятие персонального помощника и насколько широким или узким оно является. Если брать наиболее широко, то все вопросы, которые связаны с общением, подобные системы могут решать, хотя и с разной степенью успешности.

Разговорные интерфейсы, помимо непосредственного общения с людьми, можно применять и для того, чтобы научить машины быстро находить общий язык и передавать информацию из одной системы в другую.

Это позволит обойти проблему установления связей и передачи данных между уже существующими и создаваемыми сервисами, так как для общения друг с другом им не нужно будет знать спецификации API друг друга. Они смогут обмениваться данными, используя естественные языки или свой собственный искусственный язык, который будет изобретен машинами или человеком для таких целей.

Грубо говоря, даже «незнакомые» друг другу системы смогут договориться, используя общий для них язык общения, а не фиксированные правила обмена информацией.

Если же что-то им будет непонятно, то они могут спросить о неизвестных им вещах друг у друга, что сделает всю инфраструктуру предоставления сервисов и услуг в интернете невероятно гибкой и позволит ей быстро интегрировать в себя новые услуги без помощи людей.

- В связи с этим возникает вопрос - кто должен нести ответственность за рекомендации «психотерапевта» ELIZA, компьютерных докторов и других голосовых помощников, чьи советы могут сильно повлиять на благополучие и здоровье человека?

Это очень сложный вопрос, так как сегодня нет четких критериев, которые бы помогали нам понять, как нужно действовать в подобных случаях. Многие интернет-сервисы и службы, которые выдают рекомендации пользователям, начинают работать только после того, как пользователь соглашается с условиями предоставления сервиса и теми последствиями, которые могут возникнуть в результате работы с ним.

Как создать искусственный интеллект?

Например, если бот просто ищет и анализирует информацию, действуя почти так же, как и поисковая система, то к нему могут быть применены те же правила. В том случае, если он будет давать медицинские или юридические консультации, форма ответственности должна быть другой.

К примеру, подобные системы должны четко уведомлять пользователя о том, к каким последствиям ведет выбор между искусственным интеллектом и обычным врачом. У человека появится выбор - довериться доктору, который будет, к примеру, ошибаться в 10% случаев, или же сделать ставку на машину, которая дает неверный ответ в 3% случаев. В первом случае ответственность за ошибку будет нести доктор, а во втором - сам пользователь.

- В прошлом году компания Microsoft запустила чат-бот Tay. AI, который ей пришлось отключить буквально через сутки из-за того, что пользователи сети превратили «девочку-подростка» в настоящего расиста. Можно ли защитить подобные диалоговые системы от троллей и шутников?

Мне кажется, что защититься можно, а вот стоит ли это делать, зависит от назначения системы. Понятно, что если система не должна выдавать какие-то определенные реплики - грубые или экстремистские, то мы можем фильтровать ее ответы. Эта фильтрация может происходить или еще на этапе обучения системы, или уже во время генерации ответов.

Кстати, схожая задача оценки качества диалога решалась командами в рамках научной школы-хакатона DeepHack Turing, который проходил в Физтехе несколько недель назад. Его участники разрабатывали алгоритмы, которые могли бы предсказать по репликам в диалоге, какую оценку человек поставит диалоговой системе.

Следующий шаг в развитии этого подхода - создание программы, которая бы оценивала приемлемость фраз или надежность источников, используемых при генерации ответов на запросы пользователей. Это, как мне кажется, помогло бы решить данную проблему.