Назад в библиотеку

Подбор параметров нейронной сети с помощью генетических алгоритмов

Арцыбашев И.А., Ефименко К.Н.

Донецкий национальный технический университет

Источник: Арцыбашев И.А. Подбор параметров нейронной сети с помощью генетических алгоритмов / И.А. Арцыбашев, К.Н. Ефименко // Материалы XIV Международной научно-технической конференции «Информатика, управляющие системы, математическое и компьютерное моделирование» (ИУСМКМ-2024).

Введение

Современные методы машинного обучения (machine learning, ML) все чаще используются для решения широкого спектра задач в различных областях науки и техники, таких как обработка данных, предсказания, классификация и оптимизация. Одним из ключевых аспектов успешной реализации моделей ML является правильная настройка их гиперпараметров [1]. Это позволяет значительно улучшить производительность модели и повысить точность предсказаний. Однако процесс поиска оптимальных гиперпараметров является трудоемким и часто требует значительных вычислительных ресурсов.

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

Целью данной работы является исследование методов генетических алгоритмов для подбора параметров нейронных сетей.

В работе были поставлены следующие задачи:

  1. Описать используемую выборку данных и нейронную сеть.
  2. Исследовать методы ГА.
  3. Выполнить анализ результатов эксперимента.


Описание выборки данных для нейронной сети и известных параметров НС

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

y=((a*b)+(c*d))==e (1.1)

Данная выборка представляет собой полный набор комбинаций бинарных входов и соответствующих им выходов, полученных на основе логического выражения. В выборке рассматриваются все возможные сочетания значений пяти бинарных переменных: четырёх входных переменных a, b, c, d и одной переменной e, с которой результат логического выражения сравнивается на равенство. Каждая переменная может принимать значение 0 или 1, что в сумме даёт 32 уникальные комбинации входных данных [2-3].

Соответственно нейронная сеть обретает 5 нейронов во входном слое и 1 нейрон в выходном слое. Остается открытым вопрос количества нейронов скрытого слоя и параметр learning rate, который будет применяться для обучения нейронной сети.


Применение методов генетических алгоритмов

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

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

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

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

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

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

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

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

Равномерный кроссовер не использует точек разделения. Вместо этого каждый параметр в генотипе потомка выбирается от одного из родителей с равной вероятностью. Это даёт очень сильное перемешивание, при котором структура одного родителя практически не сохраняется, зато создаётся высокая вариативность среди потомков, что особенно полезно на ранних этапах эволюции [5].

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

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


Результаты эксперимента

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

Таблица 1 – Результаты эксперимента

Метод отбора Метод кроссовера Размер скрытого слоя Скорость обучения Точность НС № поколения
1ТурнирОдноточечный120,424214
2ТурнирДвухточечный70,5115
3ТурнирРавномерный90,3034119
4ТурнирАрифметический120,307817
5ТурнирBLX-альфа150,449413
6РулеткаОдноточечный150,2024119
7РулеткаДвухточечный200,441512
8РулеткаРавномерный140,3998111
9РулеткаАрифметический110,332314
10РулеткаBLX-альфа90,330914
11РангОдноточечный170,466615
12РангДвухточечный150,46118
13РангРавномерный160,4683111
14РангАрифметический100,332118
15РангBLX-альфа90,381518
16ЭлитизмОдноточечный60,356716
17ЭлитизмДвухточечный90,446918
18ЭлитизмРавномерный110,3908112
19ЭлитизмАрифметический130,406913
20ЭлитизмBLX-альфа120,21811
21СтохастическийОдноточечный80,4774110
22СтохастическийДвухточечный70,367612
23СтохастическийРавномерный80,42960,968820
24СтохастическийАрифметический160,49930,968820
25СтохастическийBLX-альфа160,36716

Чтобы не рассматривать каждую комбинацию по отдельности по каждому критерию таблицы будет отобрано 3 лучших комбинации. Соответственно из параметров размера скрытого слоя, скорости обучения, точности НС и № поколения будет отобрано максимум 12 комбинаций. По параметрам размера скрытого слоя и № поколения требуется минимальные значения, по параметрам скорости обучения и точности – максимальные. В таблице 2 представлены отобранные комбинации методов. Из-за того, что некоторые комбинации пересеклись, количество отобранных комбинаций равно 10. По параметру точности отбирались первые не отобранные комбинации, так как почти во всех комбинация точность достигала 100%.

Таблица 2 – Отобранные комбинации

Метод отбора Метод кроссовера Размер скрытого слоя Скорость обучения Точность НС № поколения
1ТурнирОдноточечный120,424214
2ТурнирДвухточечный70,5115
3ТурнирРавномерный90,3034119
4ТурнирАрифметический120,307817
5РулеткаДвухточечный200,441512
6ЭлитизмОдноточечный60,356716
7ЭлитизмBLX-альфа120,21811
8СтохастическийОдноточечный80,4774110
9СтохастическийДвухточечный70,367612
10СтохастическийАрифметический160,49930,968820

Для более удобного анализа комбинаций на рисунке 1 визуализированы данные эксперимента.

Визуализация отборных комбинаций

Рисунок 1 – Визуализация отборных комбинаций

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

Особый интерес представляет комбинация с применением стохастического отбора и арифметического кроссовера, показавшая самую высокую скорость обучения – почти 0,5, при этом точность модели немного не достигла единицы, составив 0,9688, что делает её единственной в выборке с менее чем стопроцентным значением точности. Тем не менее, высокая скорость обучения и устойчивость по другим параметрам оправдали её включение в финальный список. Также следует отметить, что комбинация с применением элитизма и кроссовера BLX-альфа обеспечила минимальный номер поколения (1), на котором была достигнута целевая точность. Это свидетельствует о высокой сходимости данной конфигурации, что критически важно в условиях ограниченного времени на обучение.

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

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

Матрица парных зависимостей параметров

Рисунок 2 – Матрица парных зависимостей параметров

Точность нейросети в большинстве случаев достигает максимума (1,0), что подтверждает эффективность использованных методов. Лишь одна конфигурация показывает чуть меньший результат – 0,9688. Несмотря на это, значительный разброс по номеру поколения при одинаковой точности указывает, что время достижения результата не всегда зависит от параметров. Высокая скорость обучения также не гарантирует быстрой сходимости или уменьшения скрытого слоя.

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

Выводы

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

Литература

  1. Андреас, Мюллер Введение в машинное обучение с помощью Python. Руководство для специалистов по работе с данными: моногр. / Мюллер Андреас. – Москва: Альфа-книга, 2017. – 697 c.
  2. Барский, А.Б. Логические нейронные сети / А.Б. Барский. – Москва: Бином. Лаборатория знаний / Интернет-Университет Информационных Технологий (ИНТУИТ), 2017. – 336 c.
  3. Домингос, П. Верховный алгоритм. Как машинное обучение изменит наш мир / П. Домингос. – Москва: Манн, Иванов и Фербер, 2016. – 190 c.
  4. Липинский, Л.В. Алгоритм генетического программирования / Л. В. Липинский, Е. С. Семенкин. – Москва: LAP Lambert Academic Publishing, 2013. – 164 c.
  5. Майника, Э. Алгоритмы оптимизации на сетях и графах / Э. Майника. - Москва: [не указано], 1981. – 132 c.