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

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

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

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

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

Рис. 1.35. Соотношение понятий ген, хромосома, популяция, используемых в генетическом алгоритме

Процесс поиска решения осуществляется в рамках алгоритма, показанного на рис. 1.36.

Блок-схема генетического алгоритма. Источник: по материалам [48]

Рис. 1.36. Блок-схема генетического алгоритма. Источник: по материалам [48]

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

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

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

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

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

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

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

 Упрощенная схема, поясняющая работу процессов скрещивания и мутации. Источник: по материалам [49]

Рис. 1.37. Упрощенная схема, поясняющая работу процессов скрещивания и мутации. Источник: по материалам [49]

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

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

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

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

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

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

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

Принципиальная схема нейроэволюции показана на рис. 1.38.

 Принципиальная схема нейроэволюции. Источник: [50]

Рис. 1.38. Принципиальная схема нейроэволюции. Источник: [50]

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

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

Агентный подход

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

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

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

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

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

Так называемые делиберативные агенты используют некоторые логические рассуждения и/или возможности планирования (1.39).