Файл: Основные подходы к построению систем искусственного интеллекта (Определение сфер применения систем искусственного интеллекта).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 455

Скачиваний: 12

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Введение

Глава 1. Сущность функционирования основных задач искусственного интелекта.

1.1. Определение сфер применения систем искусственного интеллекта

1.2.Основные элементы и задачи искусственного интеллекта

Глава 2. Анализ имеющихся подходов в сфере модернизации и построения систем искусственного интеллекта.

2.1. Состав и содержание основных подходов

2.2. Основные проблемы встречающиеся при построении систем искусственного интеллекта.

Глава 3. Обеспечение бесперебойного функционирования систем искусственного интеллекта на базе корректно выбранных подходов к его построению.

3.1 Алгоритмы поиска оптимального пути

Результаты применения исследуемой архитектуры в простейшем игровом симуляторе

Универсальный алгоритмический интеллект.

Сама идея данного подхода известна давно, но получил он признание сравнительно недавно в основном через работы [Hutter, 2001], [Schmidhuber, 2003] и другие работы этих авторов. В его рамках основной упор делается на модели универсальной индукции Соломонова, включенные в систему выбора действий в окружающей среде для максимизации некоторой оценивающей функции. Здесь анализ начинается с простой универсальной модели, на которую не накладываются ресурсные ограничения.

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

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

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

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

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

Заключение.

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

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

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

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

Список литературы

Далее это устройство пытается отстроить какую-то модель таким образом, чтобы при определенных сигналах на входе она выдавала на выходе те же данные, что и человек. Если данная затея будет когда-нибудь реализована, то для всех посторонних наблюдателей такая модель будет той же личностью, что и реальный человек. А после его смерти она будет высказывать те мысли, которые предположительно высказывал бы и смоделированный человек. [6]

Мы можем пойти дальше и скопировать эту модель и получить брата близнеца с точно такими же "мыслями".

Можно сказать, что "это, конечно, все интересно, но при чем тут я? Ведь эта модель только для других будет являться мной, но внутри ее будет пустота. Копируются только внешние атрибуты, но я после смерти уже не буду думать, мое сознание погаснет (для верующих людей слово "погаснет" необходимо заменить на "покинет этот мир") ". Что ж, это так. Но попробуем пойти дальше. [5]

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

[5] Функциональное программирование на языке Haskell. Автор: Роман Душкин. ДМК-Пресс, 2016 г. 403 стр.

[6] Робинсон Дж. Логическое программирование – прошлое, настоящее и будущее. – В кн. Логическое программиование. Сб.статей / Пер. с англ. и фр. под ред. В.Н.Агафонова. – М.: Мир, 1988. – С.8-26.

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

Если бы мы смогли смоделировать работу именно этих немногих "сознательных" нервных центров (работа которых, правда, основана на деятельности всего остального мозга) в качестве одного ЧЯ и работу "супервизора" в качестве другого ЧЯ, то можно было бы с уверенностью говорить, что "да, данная модель думает, причем так же, как и я". Здесь я ничего не хочу говорить о том, как получить данные о работе этих нервных центров, поскольку, на мой взгляд, сегодня нет ничего такого, что позволило бы следить за мозгом человека годами и при этом не мешало бы его работе и жизни. Хотелось бы отметить, что на практике очень четкой границы между ними нет. Очень часто встречаются смешанные системы, где часть работы выполняется по одному типу, а часть — по другому. [13]


[13] Электронный ресурс https://sandbox.raccoongang.com

[7]  Братко И. Программирование на языке Пролог для искусственного интеллекта.-М.:Мир,1990.-560с. 

Глава 3. Обеспечение бесперебойного функционирования систем искусственного интеллекта на базе корректно выбранных подходов к его построению.

3.1 Алгоритмы поиска оптимального пути

Существует немало методов нахождения пути между двумя вершинами графа. Одним из самых распространенных является алгоритм Дейкстры. Позднее была придумана модификация данного алгоритма. Им стал алгоритм А* (А стар), алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины (начальной) к другой (целевой, конечной). Порядок обхода вершин определяется эвристической функцией «расстояние + стоимость» (обычно обозначаемой как f(x)). Эта функция — сумма двух других: функции стоимости достижения рассматриваемой вершины (x) из начальной (обычно обозначается как g(x) и может быть как эвристической, так и нет) и эвристической оценкой расстояния от рассматриваемой вершины к конечной (обозначается как h(x)).

В 2011 году был представлен алгоритм Jump Point Search. Этот алгоритм является улучшенным алгоритмом поиска пути A*. JPS ускоряет поиск пути, “перепрыгивая” многие места, которые должны быть просмотрены. В отличие от подобных алгоритмов JPS не требует предварительной обработки и дополнительных затрат памяти.

Рисунок 2 – Схематическая схема работы алгоритма Jump Point Search

Алгоритм работает на неориентированном графе единой стоимости. Каждое поле карты имеет <= 8 соседей, которые могут быть проходимы или же нет. Каждый шаг по направлению (по вертикали или по горизонтали) имеет стоимость 1; шаг по диагонали имеет стоимость корень из 2. Движения через препятствия запрещены. Обозначение относится к одному из восьми направлений движения (вверх, вниз, влево и т.д.).


  • Запись y = x + kd означает, что точка y может быть достигнута через k шагов из x в направлении d. Когда d – движение по диагонали, перемещение делится на два перемещения по прямой d1 и d2.
  • Путь p = (n0, n1, …, nk) – упорядоченное перемещение по точкам без циклов из точки n0 до точки nk.
  • Обозначение p \ x означает, что точка x не встречается на пути p.
  • Обозначение len(p) означает длину или стоимость пути p.
  • Обозначение dist(x, y) означает длину или стоимость пути между точками x и y.

Jump points

“Прыжковые точки” позволяют ускорить алгоритм поиска пути, рассматривая только “необходимые” точки. Такие точки могут быть описаны двумя простыми правилами выбора соседей при рекурсивном поиске: одно правило для прямолинейного движения и другое – для диагонального. В обоих случаях необходимо доказать, что исключая из набора ближайших соседей вокруг точки, найдётся оптимальный путь из предка текущей точки до каждого из соседей, и этот путь не будет содержать в себе посещенную точку. Рассмотрим случай 1, который отражает основную идею:

Рисунок 3 - Отсеченный сосед

Рисунок 4 – Принужденный сосед

Пример работы алгоритма Jump Point Search

Здесь добавляется точка x для рассмотрения, предком которой является p(x); направление движение от p(x) к x является прямолинейное перемещение вправо. (Левая картинка): Рекурсивно применяем правило отсечки и получаем у в качестве преемника прыжковой точки х. Эта точка интересна тем, что есть сосед z, в который можно попасть по оптимальному пути только через y. Промежуточные точки не генерируются и не рассматриваются. (Правая картинка): Рекурсивно принимаем диагональные правила отсечки. Обратите внимание, что перед каждым следующим диагональным шагом необходимо рекурсивно пройтись по прямым линиям (выделены пунктиром). Только если обе “прямые” рекурсии не могут определить точку следующего прыжка, то перемещаемся дальше по диагонали. Точка w – вынужденный сосед х, создаётся как обычный.

Рисунок 5 – Пример работы алгоритма Jump Point Search


Результаты применения исследуемой архитектуры в простейшем игровом симуляторе

Для исследования возможностей предложенной архитектуры была разработан простейший симулятор игрового мира, в котором на игровом поле размещаются агенты и «пища». Целью каждого агента является сборка максимального количества «пищи». [14]

[14] Ножов И.М. Практическое применение искусственного интеллекта в компьютерных играх / Ножов И.М. – М. : РГГУ, 2008. – 140с.

При этом область карты, видимая агентом, ограничена. Помимо агентов и пищи на карте располагаются препятствия (черные квадраты). Как только вся «пища» на игровой карте собрана, игра заканчивается. Игроку-человеку предоставляется возможность управления одним из агентов. Игра случайным образом располагает агентов и «пищу» на игровом поле, и на каждой игровой итерации опрашивает агентов об их следующем шаге, затем перерисовывает игровое поле. Агент, получая право сделать движение, обновляет свою видимую зону игрового поля, затем вызывает принятие решения подсистемой ИИ. ИИ запрашивает у агента эффективность перехода в каждом из направлений. Значение функции тем выше, чем ближе к агенту «пища» после совершения хода в данном направлении. Причём близость рассматривается с учетом поиска пути до цели (использовался алгоритм Jump Point Search[4]) и возможностей для видимых объектов добраться до «пищи» за меньшее количество ходов. Таким образом, выбрав экстремум из всех значений, определяется следующий ход. Если же агент находится в открытой местности, где в поле видимости нет целей, то принимается случайное направление, но при этом учитываются предыдущие ходы агента, чтобы он не двигался по замкнутой траектории. На рис. 6 представлена экранная форма игры. Красными точками на ней изображены агенты, синими – ресурсы («пища»), поедаемые ими. А серыми рамками обведены области, которые видимы агентам.

Рисунок 6 – Экранная форма игрового процесса

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


Универсальный алгоритмический интеллект.

Сама идея данного подхода известна давно, но получил он признание сравнительно недавно в основном через работы [Hutter, 2001], [Schmidhuber, 2003] и другие работы этих авторов. В его рамках основной упор делается на модели универсальной индукции Соломонова, включенные в систему выбора действий в окружающей среде для максимизации некоторой оценивающей функции. Здесь анализ начинается с простой универсальной модели, на которую не накладываются ресурсные ограничения.

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

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