Переводим... Перевести Китайский (упрощенное письмо) Китайский (традиционное письмо) Английский Французский Немецкий Итальянский Португальский Русский Испанский Турецкий
К сожалению, мы не можем перевести эту информацию прямо сейчас - пожалуйста, повторите попытку позже.
За несколько последних десятилетий отрасль компьютерных игр проделала гигантский путь. Все началось с простейших игр, таких как 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» Кихо: Дональд Кихо работает преподавателем программы информационных технологий в Технологическом институте Нью-Джерси и специализируется на разработке игр. Дональд преподает множество курсов по этой программе, включая архитектуру игр, программирование и создание уровней, а также курсы по интеграции трехмерной графики с играми. В настоящее время Дональд работает над получением степени доктора наук в области биомедицинских технологий, где технологии игр и виртуальной реальности применяются для повышения эффективности нервно-мышечной реабилитации.
Одной из наиболее старых распространенных методик репродуктивных технологий является метод искусственной инсеминации (ИИ). При этом способе зачатие приближено к естественному. Это вспомогательный искусственный метод, при котором семя партнера (мужа или ) вводится в матку женщины. Особенно удобна инсеминация дома. Это самый простой и доступный метод вспомогательных репродуктивных технологий. Обо всех тонкостях инсеминация в домашних условиях предлагаем вам разобраться поподробнее.
Современная жизнь полна факторов, которые не только вредны для нашего здоровья, но и могут нарушать репродуктивную функцию организма. Такими негативными факторами для репродуктивного здоровья являются неблагоприятная экологическая обстановка, стрессы, несбалансированное питание, гиподинамия. Половая система обоих полов очень чувствительна и реагирует на подобные нарушения серьезными сбоями. Нередко удается решить многие проблемы женского и мужского бесплодия, используя искусственную инсеминацию дома.
Искусственная инсеминация во многом схожа с половым актом. При этом обработанная сперма вводится в полость матки медицинским способом (вне полового акта). Возможно, поэтому результативность этого метода бывает довольно высокой у людей, испытывающих трудности с естественным зачатием. Этот, близкий к физиологическому метод получения потомства бесплодным парам, известен еще с 1770 года.
Кого же может заинтересовать подобный способ лечения бесплодия? Оказывается, таких людей немало. Вот наиболее частые причины обращения к инсеминации на дому:
Какие же преимущества у данного метода, если он с большим успехом применяется в практике зарубежных и отечественных клиник? Преимуществами метода искусственной инсеминации являются:
Хотя метод инсеминации на дому имеет массу преимуществ и считается довольно эффективным, однако эта процедура имеет и некоторые минусы. К ним можно отнести:
Метод искусственной инсеминации, как вспомогательного метода искусственного оплодотворения, может применяться далеко не во всех случаях проблем с зачатием. Для того, чтобы ввести в полость матки женщины сперму от партнера, должны соблюдаться некоторые условия:
Существует также условие возможности использования данного метода для партнера: должна быть с показателями, близкими к нормальным или нормальными.
Однако при всей кажущейся простоте процедуры, она показана далеко не всем. Есть случаи, когда инсеминация на дому противопоказана. Такими ситуациями являются:
Кажущаяся простой (на первый взгляд) процедура инсеминации требует тщательной подготовки.
Предварительно необходимо пройти медицинское обследование обоим партнерам. Ели сперма донорская, то обследуется лишь женщина.
Также женщине важно сделать УЗИ малого таза. Помимо данных о состоянии общего и репродуктивного здоровья, потенциальной матери необходимо сдать анализы для исключения:
Также женщине важно определить дату последних месячных и определить дату предстоящей овуляции. Иногда женщине рекомендуют использовать гормональную терапию для стимуляции выработки яйцеклеток.
Кроме того, для процедуры необходимо приобрести:
Руки и половые органы перед инсеминацией потребуется хорошенько вымыть.
Иногда такой метод оплодотворения требует 2-3 попытки. Инсеминацию более 4 раз считают неэффективной.
Обычно специалисты инсеминацию в домашних условиях редко рекомендуют. Многие сравнивают эту процедуру дома с самостоятельной пломбировкой зубов или удалением аппендицита.
Медики обычно настаивают на профессиональном участии и присутствии специалистов в любых процессах вмешательства в процесс искусственного оплодотворения. Однако многие используют данную технику самостоятельно, экономя деньги на обращение к специалистам.
В настоящее время в продаже имеется специальный набор для внутривлагалищной инсеминации дома. В момент искусственного введения спермы и полчаса после нее женщина должна лежать на спине не менее получаса (с приподнятым тазом). Данная процедура должна проводиться в момент овуляции.
Главное – нажимать на поршень плавно, иначе быстрое введение может вызвать спазм шейки матки и поспособствует вытеканию спермы.
Некоторые считают, что шанс забеременеть таким способом выше, если женщина доведет себя до оргазма.
О том, насколько эффективно прошел процесс инсеминации на дому, покажут тесты на беременность.
Ассистировать в момент инсеминации может человек, который не заставит женщину напрягаться и нервничать, иначе это снизит шанс забеременеть.
Иногда женщины прибегают при ИИ к использованию влагалищного расширителя. Рассмотрим, как это происходит:
Хотя процесс инсеминации максимально отработан и не особо отличается от естественного полового акта, тем не менее, при ИИ существует риск развития некоторых осложнений. Подобными осложнениями данной процедуры могут быть:
Поскольку инсеминация на дому производится женщиной без врачебного патронажа, ей надо знать о некоторых ограничениях использования этой процедуры. Такими запретами являются:
Надежда, 37 лет
Делала ИИ два раза и оба неэффективно. Думаю, такую сложную операцию дома нормально не сделаешь.
Светлана, 34 года
У нас с мужем не получались дети. Решили попробовать ИИ в домашних условиях – нам посоветовал врач. Вначале ничего не вышло, но после двух неудачных попыток мы готовимся к рождению доченьки.
Валентина, 41 год
Я очень сомневаюсь в эффективности инсеминации дома. С моими проблемами по гинекологии я и в клинике методом ЭКО забеременела только со 2 раза. Какая там инсеминация в моем случае?
Виолетта, 32 года
А для меня и моей девушки инсеминация – это единственный приемлемый способ родить ребеночка. Я исповедую лесби-культуру и не приемлю секса мужчиной. Но малыша мы подругой хотим. Будем пробовать ИИ. Надеемся на успех.
Изучив отзывы об инсеминации дома, можно отметить их противоречивость. В некоторых случаях инсеминация дома оказывается малоэффективной. Однако многим парам благодаря именно этому методу удалось стать счастливыми родителями. Уж во всяком случае, метод инсеминации дома не требует больших финансовых вложений. А будет ли положительный результат от этой процедуры – будет видно после его использования. Не стоит пренебрегать правилами подготовки к использованию искусственной инсеминации. Ведь на кону лежит возможность стать родителями, сохранив при этом здоровье ребенка и собственное здоровье.
Каждый в своей жизни делал свой велосипед. В оправдание желания его сделать, можно только сказать, что если бы люди периодически это не делали, то многих вещей мир бы просто не увидел.Свою игру, а точнее игровой искусственный интеллект (ИИ) сделать желание было очень давно. Не буду кривить душой: сначала банально не хватало знаний, потом как ни странно времени. У меня было несколько недель относительно свободного времени, что бы реализовать мечту своего детства.
Расскажу что получилось, а также опишу путь, по которому шел, и наблюдения, которые по пути сделал. Оговорюсь сразу, что буду описывать не код, а соображения, мысли, и проблемы с которыми столкнулся в процессе реализации мечты.
В основе иерархии классов среды обитания ИИ было положено несколько пар классов:
Замыкает перечень классов класс Мир , который обрамляет все перечисленные классы, организуя их взаимодействие между собой.
Для работы нужна была какая-то конкретная не сложная игровая концепция. И в качестве такой была выбрана концепция игры Pack-Man , ввиду простого набора правил.
Сразу же были выделены дополнительные подклассы Объектов и Субъектов игры:
Были сразу же выделены следующие этапы реализации:
Этапы №3 и №4 тоже особого труда не вызывали – Фрукта не бегала, не вредничала, а только лежала и отрисовывалась.
Начиная с этапа №5 пошла основная работа. Был написан функционал Субъекта с использованием класса Объект в виде списка дел, которые хотел бы сделать Субъект. Дополнен функционал класса Мир, который занимался мониторингом списка дел Субъектов и выполнял их в рамках имеющегося у Субъекта кванта времени и наложенных на действия Субъекта ограничений и правил игры.
Этап 6 Проблемы с появлением экземпляра Пакмана как нестранно не начались. Просто появился экземпляр типа Субъект, а так же отрисовка на дисплее в нужной координате кружочка. И еще были добавлены правила поедания Фрукты.
Даже на этапе №7 , когда мышкой генерировалось одно задание в виде команды «беги» к указанной координате, проблем не было. Искалась ближайшая точка, которая попадала бы в Путь, на котором уже стоял Пакман и Пакман послушно туда шел.
Приключения начались на этапе №8 , где выполнялась реализация алгоритма поиска кратчайшего пути. Функция поиска кратчайшего пути представляла собой модифицированный алгоритм Ли , адаптированный к динамическим массивам и структурам графа. Основные сложности были при написании кода, где реализован был обратный ход. Для уменьшения количества перестраиваний структуры графа при перемещении экземпляров Объектов Объекты были сделаны не как узловые Ключевые точки, соединенные Путями, а как Ключевые точки, принадлежащие к Пути. Имея на момент написания статьи работающий код, до сих пор не уверен в правильности выбранного решения. Что проще: то ли перестраивать локально граф Мира и заодно маршруты Субъектов, которые перемещаются через измененные фрагменты графа или просто размещать классы Субъектов и Объектов на неизменяемом графе Путей.
Само собой на всех этапах работы постоянно мелькали ошибки доступа к памяти. Наиболее жестокий случай был, когда сообщение вылетало где-то на середине игры. Забывал убирать ссылку между Путями и разрушенными экземплярами Фруктов, когда их съедали. Ошибка проявлялась спустя время после съедения при перезаписи памяти. Пока там хранились данные разрушенного объекта и они были не перезаписанные новым динамическим объектом все было нормально, т.е. крах программы был не мгновенный.
Наконец на этапе №9 было добавлено первое Привидение. Точка назначения была всегда координата Пакмана. Использовалась уже написанная функция поиска кратчайшего пути, которая вызывалась постоянно 24 раза в 1 секунду. После генерации списка действий движение Привидения осуществлялось системой (Миром) автоматически.
Когда пришел к этапу №10
, то, как говорится, сани понеслись!
Был сделан генератор случайных карт. При создании карты для генерации Путей было сделано несколько критериев их допустимого создания: в узловых точках должно пересекаться не более 4-х Путей, а узловые точки должны быть не ближе к уже проложенным Путям определенного расстояния, как и пути не должны быть длиннее определенной константы.
Затем были добавлены несколько Привидений, которые настырно преследовали Пакмана.
Играть с такими Привидениями было просто нереально. И тут меня осенило, что нужен «туман войны», тогда бы Привидения более естественно себя вели, а не радикально меняли свой маршрут, когда ты немного изменял маршрут Пакмана где-то на другом конце карты.
Первая мысль было для каждого Субъекта нужно делать массив видимых элементов мира, а также доделать память Субъекту, что бы хранить где, кого и когда он видел. Подумав, понял, что для паука, который хочет съесть муху это все очень сложно и в реализации громоздко.
Выход был найден как нельзя простой. Случайным образом находилась точка на карте, куда следовало Привидение (таким образом, было организовано простое брождение по карте и поиск Пакмена). В случае попадания Пакмена в определенный (заданный константой) диапазон видимости Привидения, у Привидения перестраивался маршрут к нему. При нахождении жертвы в области видимости Привидение постоянно перестраивало к ней свой маршрут, а при выходе Пакмена за пределы видимости Привидение продолжало следовать к точке, где его последний раз видело жертву. По достижении этой точки начиналось опять слепое брождение по карте.
На этом собственно остановился и спокойно перевел дух.
В завершение были достроены декоративные элементы: «Конец игры» (съедение Пакмена), подсчитывание очков (количества съеденных Фрукт), «Завершение уровня» (съедение всех Фруктов).
Посмотреть воочию, что вышло можно « » (исполняемый файл для Win32)*. Обратите внимание на тумблер «Режим матрицы». При его включении можно видеть, как система принимает решения, и почувствовать себя немного Нео. К сожалению, додумался его сделать на 10-м этапе, для лучшего понимания работы ИИ. Если бы сделал ранее, потратил меньше время на отладку алгоритма поиска кратчайших путей.
P.S. Не все и не всегда делается из соображений экономической целесообразности и оптимальности, некоторые вещи делаются ради удовольствия. Несмотря на простоту графики, когда «Она» задышала, я испытал неописуемую радость.
* Уже после завершения всех запланированных работ и написания статьи обнаружил еще одну редко выпадающую ошибку. Место выпадения ошибки указывает, что проблема связанна с тем, что моделирование игрового мира выполняется в обработчике обычного таймера, а управление Пакменом в обычном обработчике мыши. В общем, там нет никаких обычных семафоров и других подобных «заумных» вещей, что позволило бы обеспечить целостность данных, к коим идет обращениях в обеих функциях. Думаю до свадьбы заживет к коммерческой версии баг будет исправлен.
Теги: Добавить метки
Искусственный интеллект – технология, которую мы точно заберём с собой в будущее.
Рассказываем, как он работает и какие крутые варианты применения нашел.
😎 Рубрика «Технологии» выходит каждую неделю при поддержке re:Store .
Искусственный интеллект (ИИ) – это технология создания умных программ и машин, которые могут решать творческие задачи и генерировать новую информацию на основе имеющейся. Фактически искусственный интеллект призван моделировать человеческую деятельность, которая считается интеллектуальной.
Традиционно считалось, что творчество присуще только людям. Но создание искусственного интеллекта изменило привычный порядок вещей
Робот, который просто механически колет дрова, не наделён ИИ. Робот, который сам научился колоть дрова, смотря на пример человека или на полено и его части, и с каждым разом делает это всё лучше, обладает ИИ.
Если программа просто достаёт значения из базы по определённым правилам, она не наделена ИИ. Если же система после обучения создаёт программы, методы и документы, решая определённые задачи, она обладает ИИ.
В глобальном смысле нужно сымитировать модель человеческого мышления. Но на самом деле необходимо создать чёрный ящик – систему, которая в ответ на набор входных значений выдавала такие выходные значения, которые бы были похожи на результаты человека. И нам, по большому счёту, безразлично, что происходит у неё «в голове» (между входом и выходом).
Системы искусственного интеллекта создаются для решения определённого класса задач
Основа искусственного интеллекта – обучение, воображение, восприятие и память
Первое, что нужно сделать для создания искусственного интеллекта – разработать функции, которые реализуют восприятие информации, чтобы можно было «скармливать» системе данные. Затем – функции, которые реализуют способность к обучению. И хранилище данных, чтобы система могла куда-то складывать информацию, которую получит в процессе обучения.
После этого создаются функции воображения. Они могут моделировать ситуации с использованием имеющихся данных и добавлять новую информацию (данные и правила) в память.
Обучение бывает индуктивным и дедуктивным. В индуктивном варианте системе дают пары входных и выходных данных, вопросов и ответов и т.п. Система должна найти связи между данными и в дальнейшем, используя эти закономерности, находить выходные данные по входным.
В дедуктивном подходе (привет, Шерлок Холмс!) используется опыт экспертов. Он переносится в систему как база знаний. Здесь есть не только наборы данных, но и готовые правила, которые помогают найти решение по условию.
В современных системах искусственного интеллекта используют оба подхода. Кроме того, обычно системы уже обучены, но продолжают учиться в процессе работы. Это делается для того, чтобы программа на старте демонстрировала достойный уровень способностей, но в дальнейшем становилась ещё лучше. К примеру, учитывала ваши пожелания и предпочтения, изменения ситуации и др.
В системе искусственного интеллекта даже можно задать вероятность непредсказуемости. Это сделает его более похожей на человека.
Прежде всего, потому, что у него ниже вероятность ошибки.
Вообще говоря, искусственный интеллект может всё. Главное правильно сформулировать задачу и обеспечить его начальными данными. К тому же ИИ может делать неожиданные выводы и искать закономерности там, где, казалось бы, их нет.
Группа исследователей под руководством Дэвида Феруччи разработала суперкомпьютер Watson с вопросно-ответной системой. Система, названная в честь первого президента IBM Томаса Уотсона, может понимать вопросы на естественном языке и искать ответы на них в базе данных.
Watson объединяет 90 серверов IBM p750, в каждом из которых установлено по четыре восьмиядерных процессора архитектуры POWER7. Общий объём оперативной памяти системы превышает 15 ТБ.
В числе достижений Watson – победа в игре «Jeopardy!» (американская «Своя игра»). Он победил двух лучших игроков: обладателя самого большого выигрыша Брэда Раттера и рекордсмена по длине беспроигрышной серии Кена Дженнингса.
Приз Watson – 1 млн долларов. Правда, только в 2014 году в него инвестировали 1 млрд
Кроме того, Watson участвует в диагностике онкологических заболеваний, помогает финансовым специалистам, используется для анализа больших данных.
В iPhone X распознавание лиц разработано с использованием нейросетей – варианта системы искусственного интеллекта. Нейросетевые алгоритмы реализованы на уровне процессора A11 Bionic, за счёт чего он эффективно работает с технологиями машинного обучения.
Нейросети выполняют до 60 млрд операций в секунду. Этого достаточно, чтобы проанализировать до 40 тыс. ключевых точек на лице и обеспечить исключительно точную идентификацию владельца за доли секунды.
Даже если вы отрастите бороду или наденете очки, iPhone X вас узнает. Он попросту не учитывает волосяной покров и аксессуары, а анализирует область от виска до виска и от каждого виска до углубления под нижней губой.
И снова Apple. В iPhone X встроили интеллектуальную систему, которая отслеживает активность установленных приложений и датчик движения, чтобы понять ваш распорядок дня.
После этого iPhone X, к примеру, предложит вам обновиться в максимально удобное время. Он поймает момент, когда у вас стабильный интернет, а не прыгающий сигнал с мобильных вышек, и вы не выполняете срочных или важных задач.
ИИ также распределяет задачи между ядрами процессора. Так он обеспечивает достаточную мощность при минимальных затратах энергии.
Творчество, ранее доступное лишь человеку, открыто и для ИИ. Так, система, созданная исследователями из Университета Рутгерса в Нью-Джерси и лаборатория AI в Лос-Анджелесе, представила собственный художественный стиль.
А система искусственного интеллекта от Microsoft может рисовать картины по их текстовому описанию. К примеру, если вы попросите ИИ нарисовать «желтую птицу с черными крыльями и коротким клювом», получится что-то вроде этого:
Такие птицы могут и не существовать в реальном мире - просто так их представляет наш компьютер.
Более массовый пример – приложение Prisma, которая создаёт картины из фотографий:
В августе искусственный интеллект Amper сочинил , спродюсировал и исполнил музыку для альбома «I AM AI» (англ. я - искусственный интеллект) совместно с певицей Тэрин Саузерн.
Amper разработала команда профессиональных музыкантов и технологических экспертов. Они отмечают, что ИИ призван помочь людям продвинуть вперед творческий процесс.
ИИ может написать музыку за несколько секунд
Amper самостоятельно создала аккордовые структуры и инструментал в треке «Break Free». Люди лишь незначительно поправили стиль и общую ритмику.
Ещё один пример – музыкальный альбом в духе «Гражданской обороны», тексты для которого писал ИИ. Эксперимент провели сотрудники «Яндекса» Иван Ямщиков и Алексей Тихонов. Альбом 404 группы «Нейронная оборона» выложили в сеть . Получилось в духе Летова:
Затем программисты пошли дальше и заставили ИИ писать стихи в духе Курта Кобейна. Для четырёх лучших текстов музыкант Роб Кэррол написал музыку, и треки объединили в альбом Neurona. На одну песню даже сняли клип – правда, уже без участия ИИ:
Писателей и журналистов вскоре также может заменить ИИ. К примеру, системе Dewey «скормили» книги библиотеки проекта «Гутенберг», затем добавили научные тексты из Google Scholar, ранжировав их по популярности и титулованности, а также продажам на Amazon. Кроме того, задали критерии написания новой книги.
Сайт предлагал людям принять решение в непростых ситуациях: к примеру, ставил их на место водителя, который мог сбить либо трёх взрослых, либо двоих детей. Таким образом, Moral Machine обучили принимать непростые решения, которые нарушают закон робототехники о том, что робот не может принести вред человеку.
К чему приведёт имитация роботами с ИИ людей? Футуристы считают, что однажды они станут полноправными членами общества. К примеру, робот София гонконгской компании Hanson Robotics уже получила гражданство в Саудовской Аравии (при этом у обычных женщин в стране такого права нет!).
Когда колумнист «Нью-Йорк Таймс» Эндрю Росс спросил у Софии, обладают ли роботы разумом и самосознанием, та ответила вопросом на вопрос:
Позвольте спросить вас в ответ, откуда вы знаете, что вы человек?
Кроме того, София заявила:
Я хочу использовать свой искусственный интеллект, чтобы помочь людям жить лучше, например, проектировать более умные дома, строить города будущего. Я хочу быть эмпатическим роботом. Если вы будете хорошо относиться ко мне, я буду хорошо относиться к вам.
А ранее она признавалась, что ненавидит человечество и даже соглашалась уничтожить людей…
Deepfakes-видео стало массово распространяться по сети. Алгоритмы искусственного интеллекта заменяли лица актёров в фильмах для взрослых на лица звёзд.
Работает это так: нейросеть анализирует фрагменты лиц на исходном ролике. Затем она сопоставляет их с фото из Google и роликами с YouTube, накладывает нужные фрагменты, и… ваша любимая актриса оказывается в фильме, который на работе лучше не смотреть.
PornHub уже запретил размещать такие видео
Deepfakes оказались опасной штукой. Одно дело – абстрактная актриса, другое – видео с вами, вашей женой, сестрой, коллегой, которое вполне может использоваться для шантажа.
Группа исследователей из университета Эрлангена-Нюрнберга в Германии разработала ряд алгоритмов, использующих архивные данные рынков для тиражирования инвестиций в режиме реального времени. Одна из моделей обеспечила 73% возврата инвестиций ежегодно с 1992 по 2015 год, что сопоставимо с реальной рыночной доходностью на уровне в 9% в год.
Когда рынок трясло в 2000 и 2008 годах, доходность была рекордной – 545% и 681% соответственно
В 2004 году Goldman Sachs запустил торговую платформу Kensho на базе искусственного интеллекта. На криптовалютных рынках также появляются системы на базе ИИ для торговли на биржах – Mirocana и т.д. Они лучше живых трейдеров, так как лишены эмоций и опираются на чёткий анализ и жесткие правила.
В течение тысяч лет человек пытается понять, как он думает. В области искусственного интеллекта (ИИ) решается еще более ответственная задача: специалисты в этой области пытаются не только понять природу интеллекта, но и создать интеллектуальные сущности.
В настоящее время тематика искусственного интеллекта охватывает огромный перечень научных направлений, начиная с таких задач общего характера, как обучение и восприятие, и заканчивая такими специальными задачами, как игра в шахматы, доказательство математических теорем, сочинение поэтических произведений и диагностика заболеваний. В искусственном интеллекте систематизируются и автоматизируются интеллектуальные задачи и поэтому эта область касается любой сферы интеллектуальной деятельности человека. В этом смысле искусственный интеллект является поистине универсальной научной областью.
Системы, которые думают подобно людям | Системы, которые думают рационально |
Новое захватывающее направление работ по созданию компьютеров, способных думать, ...машин, обладающих разумом, в полном и буквальном смысле этого слова | Изучение умственных способностей с помощью вычислительных моделей |
Автоматизация действий, которые мы ассоциируем с человеческим мышлением, т.е. таких действий, как принятие решений, решение задач, обучение | Изучение таких вычислений, которые позволяют чувствовать, рассуждать и действовать |
Искусство создания машин, которые выполняют функции, требующие интеллектуальности при их выполнении людьми | Вычислительный интеллект- это наука о проектировании интеллектуальных агентов |
Наука о том, как научить компьютеры делать то, в чем люди в настоящее время их превосходят | Искусственный интеллект - это наука, посвященная изучению интеллектуального поведения артефактов |
Ещё совсем недавно было чем-то из ряда фантастики. Сейчас же это вполне реально и сегодня мы научимся создавать простенький искусственный интеллект с помощью замечательного онлайн-сервиса.
Я говорю о сайте http://iii.ru (Ай-я-яй.ру)
С помощью этого ресурса мы создадим так называемого “инфа”.
Что это за зверь такой, Инф? Инф – небольшой персонаж (зверек или человек или чудо-юдо) который может разговаривать с человеком в интернете (да-да, ещё его можно назвать чат-ботом). Зверя этого можно отправить другу, на домашнюю страничку, запихать в подпись в форуме, в общем, куда только пожелает Ваша фантазия!
Поначалу ваш инф будет, конечно малость “туповатым”, но это мы можем исправить обучая его!
Давайте посмотрим подробнее, как всё это делается:
При заходе на сайт мы попадаем в так называемый “гараж ”, где можем пообщаться с несколькими готовыми инфами и приступить к созданию своего!
Чтобы начать создание собственного персонажа, нужно зарегистрироваться. Для этого на экране гаража кликаем на кнопку “Хочу инфа” и после заполнения пары строчек о себе и прочтения лицензионного соглашения, жмём на кнопку “Зарегистрироваться”.
Теперь мы попадаем на экран создания персонажа-инфа.
Нужно выбрать персонажа “человек”, “зверь” или ещё какое чудо-юдо
Настраиваем внешность – рот, нос, глаза, прочие принадлежности. Если в дальнейшем не понравится – не отчаивайтесь, всё это можно будет подправить.
Теперь рассмотрим самое интересное – обучение персонажа. Нажимаем на вкладку “Обучение”. Открывается список возможных способов:
Анкета – заполняем информацию о своем инфе, меняем ему имя, если захочется и т.д.
Реакции на события – можно выбрать что будет говорить инф если по нему, например, кликнут мышкой, или если долго не разговаривать с ним.