Опубликован: 30.05.2023 | Доступ: свободный | Студентов: 1158 / 465 | Длительность: 16:08:00
Лекция 2:

Определения, структура и развитие систем ИИ

 Реактивные (слева) и делиберативные (справа) агенты. Источник: [53]

Рис. 1.39. Реактивные (слева) и делиберативные (справа) агенты. Источник: [53]

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

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

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

Многоагентные системы можно классифицировать по типу сотрудничества агентов (рис. 1.40).

 Классификация многоагентных систем по вариантам сотрудничества агентов. Источник: [53]

Рис. 1.40. Классификация многоагентных систем по вариантам сотрудничества агентов. Источник: [53]

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

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

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

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

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

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

 Типы многоагентных систем по способу организации агентов

Рис. 1.41. Типы многоагентных систем по способу организации агентов

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

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

Машинное обучение и его типы

Мы выделили на рис. 1.14 машинное обучение как монолитную область, затем рассмотрели разные научные направления, которые используются для решения задач машинного обучения. Помимо этого, следует упомянуть классификацию машинного обучения по степени контроля за процессом обучения (контролируемое, неконтролируемое, и т. п.), а также по типу целевой переменной 39Целевая переменная описывает результат (цель) процесса, она может быть непрерывной (принимать произвольные значения), категориальной (выбор класса изображения). Может быть ситуация, когда целевой переменной не существует, как, например, в задаче о кластеризации при обучении без учителя и решаемых задач ( рис. 1.42).

 Классификация методов машинного обучения и типов решаемых задач. Источник: [55]

Рис. 1.42. Классификация методов машинного обучения и типов решаемых задач. Источник: [55]
Контролируемое обучение (с учителем)

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

На рис. 1.42 отмечено два типа задач в категории обучения с учителем - это классификация и регрессия.

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

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

В качестве примера алгоритма классического обучения с учителем, используемого для решения задачи классификации, приведем весьма популярный метод опорных векторов (Support Vector Machine, SVM). Впервые этот алгоритм был предложен нашими соотечественниками Владимиром Вапником и Алексеем Червоненкисом в 1963 году.