Научная статья на тему 'ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В ОБУЧЕНИИ С ПОДКРЕПЛЕНИЕМ'

ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В ОБУЧЕНИИ С ПОДКРЕПЛЕНИЕМ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
423
53
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МАШИННОЕ ОБУЧЕНИЕ / ОБУЧЕНИЕ С ПОДКРЕПЛЕНИЕМ / ГЕНЕТИЧЕСКИЙ АЛГОРИТМ / АГЕНТ / СРЕДА

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Кравчук В.А.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

USING A GENETIC ALGORITHM IN REINFORCEMENT LEARNING

The method of machine learning is considered - reinforcement learning, the principle of its operation, as well as the genetic algorithm, their weaknesses and areas of application. Then they are compared and weaknesses are highlighted. After all, the possibility of using these approaches together to create artificial intelligence is investigated and an example of such interaction is given.

Текст научной работы на тему «ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В ОБУЧЕНИИ С ПОДКРЕПЛЕНИЕМ»

12. Катеринкина Е.Н. Интеллектуальные отражающие поверхности как один из сценариев создания сетей 6G // Проблемы техники и технологий телекоммуникаций ПТиТТ-2020: XXII международная научно-техническая конференция, IV научный форум телекоммуникации: теория и технологии ТТТ-2020, Самара, 17-20 ноября 2020 года. - Самара: Поволжский государственный университет телекоммуникаций и информатики, 2020. - С. 172-173. - EDN NYDDSD.

13. Бакулин М.Г. Проблема повышения спектральной эффективности и емкости в перспективных системах связи 6G // T-Comm: Телекоммуникации и транспорт, 2020. - Т. 14. - № 2. - С. 25-31. - DOI 10.36724/2072-8735-2020-14-2-25-31. - EDN HHVLBC.

14. Саломатина Е.В. О поддержке сверхнадежной передачи данных с низкой задержкой в сетях 5G и будущих B5G/6G // Перспективные технологии в средствах передачи информации: материалы 14-ой международной научно-технической конференции, Владимир, 06-07 октября 2021 года. - Владимир: Владимирский государственный университет имени Александра Григорьевича и Николая Григорьевича Столетовых, 2021. - С. 404-407. - EDN HDBCDP.

15. Харенко А.А. Машинное обучение в сетях 6G // V Научный форум телекоммуникации: теория и технологии ТТТ-2021: Материалы XXIII Международной научно-технической конференции, Самара, 23-26 ноября 2021 года. - Самара: Поволжский государственный университет телекоммуникаций и информатики, 2021. - С. 209-210. - EDN KQTTUW.

ИСПОЛЬЗОВАНИЕ ГЕНЕТИЧЕСКОГО АЛГОРИТМА В ОБУЧЕНИИ С

ПОДКРЕПЛЕНИЕМ

В.А. Кравчук, Московский технический университет связи и информатики, v.crav4uk@yandex.ru.

УДК 004.85_

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

Ключевые слова: машинное обучение; обучение с подкреплением; генетический алгоритм; агент; среда.

USING A GENETIC ALGORITHM IN REINFORCEMENT LEARNING

Vladislav Kravchuk, Moscow Technical University of Communications and Informatics.

Annotation. The method of machine learning is considered - reinforcement learning, the principle of its operation, as well as the genetic algorithm, their weaknesses and areas of application. Then they are compared and weaknesses are highlighted. After all, the possibility of using these approaches together to create artificial intelligence is investigated and an example of such interaction is given.

Keywords: machine learning; reinforcement learning; genetic algorithm; agent; environment.

Введение

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

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

Обучение с подкреплением

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

Обучение с подкреплением состоит из четырех ключевых элементов [1]:

• Агент - программа, которую тренируют для выполнения определенной

работы.

• Среда - мир реальный или виртуальный, в котором действует агент.

• Действие - шаги, предпринимаемые агентом, которые вызывают изменения

в среде.

• Награда - оценка правильности действия, может быть, как положительной,

так и отрицательной.

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

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

Обучение с подкреплением особенно хорошо подходит для решения проблем, которые включают в себя компромисс между долгосрочным и краткосрочным вознаграждением. Он успешно применялся для решения различных задач, включая управление роботами, [3] планирование лифтов, телекоммуникации, нарды, шашки [4] и Оо (Л1рЪаОо).

Агент учится достигать цели в неразведанной, потенциально сложной среде. Среда обычно описывается в форме процесса принятия решений Маркова (МБР), поскольку многие алгоритмы обучения с подкреплением для этого контекста используют методы динамического программирования [5]. При обучении с подкреплением искусственный интеллект сталкивается с игровой ситуацией и использует метод проб и ошибок, чтобы найти решение задачи. Поощрение правильных действий или наказание за неправильные происходит за счет откликов среды, которые являются сигналами подкрепления агента. Главной целью агента является получение как можно большей награды (рис. 1). На рис. 1 представлена схема работы обучения с подкреплением.

Агент

Рисунок 1

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

Обучение с подкреплением может использоваться в больших средах в следующих ситуациях:

• Модель окружающей среды известна, но аналитическое решение недоступно.

• Дана только имитационная модель окружающей среды (предмет оптимизации на основе моделирования) [6].

• Единственный способ собрать информацию об окружающей среде - это взаимодействовать с ней.

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

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

Генетический алгоритм

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

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

1. Особи в популяции конкурируют за ресурсы и размножение.

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

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

4. Каждое последующее поколение все больше приспосабливается к среде.

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

щш ■■■■■■ ■■■■■■

ген хромосома

популяция

Рисунок 2

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

34

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

Как только начальная популяция создана, алгоритм развивает её, используя следующие операторы:

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

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

3) Некоторые исследования [11-12] предполагают, что более двух «родителей» генерируют хромосомы более высокого качества.

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

Родитель 1

Родитель 2

А В С в Е Р в Н

- Р с н в с Б Е А

Отпрыск

Р С н А В В Е А

Рисунок 3

На рис. 4 представлена схема оператора мутации.

Р С Н в с в Е А

Р С м в с в Е N

После мутации

Рисунок 4 Весь алгоритм выглядит так (рис. 5):

1. Случайным образом инициализировать популяцию.

2. Определить приспособленность популяции.

3. До тех пор, пока не произойдет сходимости:

• выбрать родителей из популяции;

• скрестить и создать новую популяции;

• провести мутацию в новой популяции;

• рассчитать приспособленность для новой популяции. На рис. 5 показана схема работы генетического алгоритма.

Рисунок 5

Сравнение алгоритмов

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

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

Недостатки: Генетический алгоритм.

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

• Требует больших вычислительных затрат.

Обучение с подкреплением:

• Слишком интенсивное обучение с подкреплением может привести к

переобучению, что выражается в снижении результатов.

• Этот алгоритм не является подходящим для решения простых задач.

• Для этого алгоритма требуется много данных и много вычислений.

• Проклятие размерности ограничивает обучение с подкреплением для

реальных физических систем.

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

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

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

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

Совместное использование

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

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

Наглядным примером такого взаимодействия методов может служить проект программиста Срджана Сусника [14] из Хорватии, который использовал одновременно обучение с подкреплением и генетический алгоритм. Как задачу он взял прохождение искусственным интеллектом популярной игры flappy bird. Основной процесс крутится вокруг того, чтобы пройти как можно дальше в двухмерном уровне платформе, перепрыгивая через препятствия и не врезаясь в них или потолок с полом. В своем проекте программист сделал симуляцию, похожую на оригинальную игру с теми же игровыми правилами (рис. 6), однако пользовательский ввод заменил на искусственный интеллект, работающий на принципах обучения с подкреплением, а именно имеющий внутри нейронные сети. Так же он внедрил генетический алгоритм в виде того, что прыгающих птиц, проходящих уровень не одна, а 10, и все они соревнуются между собой по правилам этого алгоритма [15]. На рис. 6 представлена схема созданной симуляции.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рисунок 6 Архитектура нейронной сети (рис. 7):

1. Входной слой из двух нейронов - подаются данные для ориентирования птицы:

• Расстояние до ближайшего препятствия.

• Разница между вертикальным положением птицы и препятствия.

2. Скрытый слой из шести нейронов.

3. Выходной слой из одного нейрона.

• Если выходной сигнал больше 0,5, то птица прыгнет.

На рис. 7 представлена архитектура нейронной сети.

Рисунок 7

Основные этапы реализации генетического алгоритма:

1. Создаётся исходная популяция из 10 особей (птиц) со случайными весами на нейронных сетях.

2. Одновременно запускаются все 10 особей.

3. У каждой особи вычисляется её функция приспособленности для оценки её качества.

4. После смерти всех особей оценивается текущее поколение.

5. Создание нового поколения с помощью генетических операторов.

• Сортировка особей текущего поколения по уровню приспособленности.

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

• Создание новой особи как результат скрещивания между двумя наилучшими победителями.

• Создание трех новых особей как результаты скрещивания двух случайных победителей.

• Создание двух особей как прямые копии двух случайных победителей.

• Применение к каждому потомку случайные мутации, чтобы добавить вариативности.

6. Возврат на второй этап.

Функция приспособленности

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

Функция приспособленности здесь (этап 3) - это разность между общим расстоянием, проделанным птицей, и текущим расстоянием до ближайшего промежутка (рис. 8).

На рис. 8 показана схема функции приспособленности.

Рисунок 8

Заключение

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

Литература

1. URL https://medium.com/ai3-theory-practice-business/reinforcement-learning-part-1-a-brief-introduction-a53a849771cf (дата обращения - март 2022 г.).

2. Russell Stuart J.; Norvig Peter (2010). Artificial intelligence: a modern approach (Third ed.). Upper Saddle River, New Jersey. - С. 830, 831.

3. Xie Zhaoming, et al. "ALLSTEPS: Curriculum-driven Learning of Stepping Stone Skills." Computer Graphics Forum. Vol. 39. No. 8. 2020.

4. Sutton & Barto, 1998. - С. 11.

5. Van Otterlo M., Wiering M. (2012). Reinforcement learning and markov decision processes. Reinforcement Learning. Adaptation, Learning, and Optimization. Vol. 12. -C.3-42.

6. Gosavi Abhijit, (2003). Simulation-based Optimization: Parametric Optimization Techniques and Reinforcement.

7. Mitchell, 1996. - C. 2.

8. Gerges Firas; Zouein Germain; Azar Danielle, (12 March 2018). "Genetic Algorithms with Local Optima Handling to Solve Sudoku Puzzles".

9. URL https://www.geeksforgeeks.org/genetic-algorithms/ (дата обращения - март 2022 г.).

10. Whitley, 1994. - С. 66.

11. Eiben A.E. Et al (1994). "Genetic algorithms with multi-parent recombination". PPSN III: Proceedings of the International Conference on Evolutionary Computation. The Third Conference on Parallel Problem Solving from Nature: - С. 78-87.

12. Ting Chuan-Kang (2005). «On the Mean Convergence Time of Multi-parent Genetic Algorithms Without Selection». Advances in Artificial Life: - С. 403-412.

13. URL https://medium.com/xrpractices/reinforcement-leaming-vs-genetic-algorithm-ai-for-simulations-f1f484969c56 (дата обращения - март 2022 г.).

14. URL https://www.youtube.com/watch?v=aeWmdojEJf0 (дата обращения - март 2022 г.).

15. URL https://habr.com/ru/post/336612/ (дата обращения - март 2022 г.).

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ СИСТЕМЫ ОБНАРУЖЕНИЯ

МЕТАЛЛА

А.Н. Орлов, Московский технический университет связи и информатики, aon199999@mail.ru.

УДК 004.942_

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

i Надоели баннеры? Вы всегда можете отключить рекламу.