Применение эволюционных алгоритмов для автоматического проектирования рекуррентных нейронных сетей в задачах регрессии
Автор: Базин Н.Р., Семенкин Е.С.
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Информатика, вычислительная техника и управление
Статья в выпуске: 1 т.27, 2026 года.
Бесплатный доступ
В ракетно-космической отрасли часто приходится сталкиваться со сложными задачами черного ящика, для решения которых можно использовать нейронные сети. Данный подход сталкивается с проблемой подбора оптимальной архитектуры нейронной сети. Если создать слишком большую сеть, потратив большое количество вычислительных ресурсов на ее обучение, то для получения результатов потребуется большое количество времени или более мощные процессоры, что не всегда целесообразно. Намного лучше спроектировать небольшую нейронную сеть, которая справится с задачей. Решением данной проблемы занимается направление neural evolution, где эволюционные алгоритмы автоматически проектируют структуру нейронной сети на основе естественного отбора. Одним из таких алгоритмов является алгоритм генетического программирования, который строит функции в виде дерева и преобразует их в нейронную сеть. Деревья содержат функциональные узлы с различными операторами. Однако в стандартном представлении для кодирования нейронной сети используются только два оператора, которые позволяют либо добавлять скрытые слои, либо увеличивать количество нейронов в слое. Эти операторы не поддерживают создание рекуррентных связей, которые могли бы увеличить разнообразие решений и повысить качество моделей. В данном исследовании предложен новый унарный функциональный оператор, создающий рекуррентные связи на основе анализа нейронов скрытого слоя. Эффективность предложенного подхода исследована на некоторых задач из Feynman Symbolic Regression Database и результаты сравнены с предыдущими версиями алгоритма. В результате проведенного исследования были получены следующие результаты: алгоритм в среднем решал задачи хуже, чем прошлые версии, однако в некоторых прогонах находил лучшие решения поставленной задачи. О низкой средней эффективности предложенного подхода создания рекуррентных связей было выдвинуто несколько гипотез, направленных на возможное улучшение алгоритма.
Рекуррентные нейронные сети, самоконфигурируемые алгоритмы, алгоритм генетического программирования, ранняя остановка, задачи регрессии
Короткий адрес: https://sciup.org/148333104
IDR: 148333104 | УДК: 519.6 | DOI: 10.31772/2712-8970-2026-27-1-8-20
Application of evolutionary algorithms for designing recurrent neural networks in regression problems
The aerospace industry often deals with complex black-box problems, where neural networks offer a potential solution. However, a major challenge with this approach is finding the optimal neural network architecture. Designing an overly large network wastes computational resources and requires significant training time or more powerful hardware. A more efficient solution is to design a compact network that performs the task effectively. The field of neural evolution addresses this by using evolutionary algorithms to automatically design network structures through natural selection. Genetic Programming is one such algorithm; it builds functions as trees and then transforms them into neural networks. These trees contain functional nodes with various operators. Currently, the standard encoding method uses only two operators: one adds hidden layers, and the other increases the number of neurons in a layer. These operators cannot create recurrent connections, which could enhance solution diversity and model performance. Our research proposes a new unary functional operator that generates recurrent connections by analyzing neurons in the hidden layer. We studied the effectiveness of this approach on several tasks from the Feynman Symbolic Regression Database and compare the results with previous versions of the algorithm. The study yields the following key findings: on average, the new algorithm performs worse than its predecessors. However, in several independent runs, it discovers better solutions to the given problems. We propose several hypotheses to explain the low average effectiveness of this recurrent connection mechanism, which aims to guide future improvements to the algorithm.
Текст научной статьи Применение эволюционных алгоритмов для автоматического проектирования рекуррентных нейронных сетей в задачах регрессии
для автоматического проектирования архитектуры нейронной сети. В эволюционных алгоритмах решением задачи является индивид.
Одним из таких алгоритмов является генетическое программирование. Индивиды в нем представлены функциями, которые закодированы в виде деревьев. Дерево содержит функциональные и терминальные узлы, представляющие различные способы проектирования нейронной сети. Терминальные узлы соответствуют нейронам скрытого и входного слоёв. Для создания связей и скрытых слоев используются функциональные операторы. Однако функциональные операторы могут либо создавать новые нейроны в слоях, либо объединять и добавлять скрытые слои. Эти операторы не поддерживают возможность создания рекуррентных связей, которые могут передавать полезную информацию из предыдущих итераций. Возможность такой передачи информации способна улучшить качество решения задач, а поддержка рекуррентных связей расширяет пространство возможных решений, что может существенно повысить эффективность алгоритма.
Структура работы включает раздел «Материалы и методы», где представлена постановка задачи регрессии, описаны используемые в работе алгоритмы. Также подробно описан предложенный подход к добавлению нового оператора в функциональное множество алгоритма генетического программирования для создания рекуррентных связей в нейронных сетях. В разделе «Численные эксперименты» исследована эффективность алгоритма на наборе задач из базы данных символьной регрессии Фейнмана. Также проведено сравнение алгоритма с его предыдущими версиями, используя статистический критерий Уилкоксона с уровнем значимости α = 0,05. О низкой эффективности алгоритма сформулированы гипотезы, направленные на улучшение его результатов.
Задача регрессии заключается в нахождении зависимости между множеством признаков (независимых переменных) и непрерывной целевой переменной. Формально, пусть задано множество объектов (наблюдений) X и множество целевых (зависимых) переменных Y.
Предполагается, что существует некоторая неизвестная целевая функция (функция зависимости), которая моделирует взаимосвязь между целевой переменной и данными:
y = f (x), где x g Rd, X; y g R, Y .
Цель задачи регрессии заключается в восстановлении зависимости между целевой переменной и переменными признаками с использованием полученных данных. Достичь данной цели можно с помощью такой функции ф ( x ) , называемой регрессионной моделью, или алгоритмом, который преобразовывает X в Y . Значение данной функции должно находиться максимально близко к неизвестной целевой функции.
Таким образом, задачу регрессии можно свести к задаче минимизации критерия:
1 Е n- 1( У / -ф ( x i ) ) 2 ^ min, n 1
где n – размер обучающей выборки.
Решением задачи можно назвать такую модель ф * ( x ) , которая обеспечивает наилучшее приближение целевой переменной к искомой зависимости для новых, не включенных в обучающую выборку данных. Качество решения позже оценивается на тестовой выборке с использованием специальных метрик оценки.
2.2. Используемые алгоритмы
Нейронные сети (NN) позволяют решать задачи классификации, регрессии и др. [1]. Ключевой проблемой рассматриваемого метода является высокая сложность подбора архитектуры нейронной сети, которая напрямую влияет на качество решения [2].
Решение этой проблемы находится в области эволюции нейронных сетей, использующей эволюционные алгоритмы (EA) для автоматизированного проектирования архитектуры. Этот подход исключает необходимость эксперта в ее настройке, что экономит значительное количество временных и финансовых ресурсов [3].
В EAs для поиска решения задачи используется механизм естественного отбора. Каждый индивид, представляющий потенциально решение задачи, характеризуется численным значением приспособленности (фитнес-функцией) – чем выше это значение, тем качественнее найденное решение. Значение приспособленности напрямую влияет на вероятность того, что индивид оставит потомство и таким образом будет участвовать в формировании нового поколения. Совокупность индивидов на определённой итерации алгоритма образует популяцию.
Для классических EA характерен следующий существенный недостаток: сложность подбора параметров и комбинации операторов алгоритма (селекция, кроссовер, мутация) под конкретную задачу, поскольку эти элементы напрямую влияют на качество решения. Для решения проблемы настройки EA обычно применяются самоконфигурируемые эволюционные алгоритмы (SCEA), основное преимущество которых перед стандартными аналогами заключается в динамической адаптации параметров непосредственно в процессе решения задачи [4].
В данной работе способом автоматизированного проектирования архитектуры нейронной сети является самоконфигурируемый алгоритм генетического программирования (SCGP). Используемый метод кодирует индивидов в популяции, используя узлы функционального и терминального множеств [5]. Для создания нейронной сети используются следующие операторы функционального множества [6; 7]:
– сложение (+) – слои нейронных сетей слева и справа от оператора складываются и становятся новой нейронной сетью с сохранением старых связей;
– объединение (>) – все нейроны без выходящих соединений слева относительно оператора соединяются со всеми нейронами без входящих соединений справа от оператора.
В качестве операторов терминального множества используются нейроны скрытого (которые различаются используемой функцией активации) и входного слоя. В результате декодирования индивида, представленного в виде дерева, формируется нейронная сеть со свойствами, определяемыми деревом.
Ключевой проблемой рассматриваемого способа автоматизированного проектирования нейронных сетей является фундаментальный принцип работы алгоритма генетического программирования – отсутствие заранее заданных правил построения нейронной сети. Если запустить алгоритм, использующий выбранные операторы без дополнительных ограничений на структуру выращиваемого дерева, то даже первые индивиды в процессе декодировки будут вызывать множество структурных противоречий и ошибок.
В качестве решения этой проблемы предложено генерировать деревья по следующей схеме (рис. 1): корневой (начальный) узел всегда является оператором объединения, левое поддерево может содержать только нейроны входного слоя и операторы сложения, правое поддерево – только нейроны скрытого слоя [8].
Для нейронных сетей характерна проблема переобучения, когда алгоритм учится запоминать обучающие данные вместо выявления общих закономерностей для прогнозирования. Для ее решения в данной работе использовался алгоритм early-stopping (ES) [9]. Представленный механизм позволяет остановить настройку весов нейронной сети с неэффективной структурой, экономя вычислительные ресурсы для исследования более перспективных структур.
Рис. 1. Пример преобразования дерева в нейронную сеть
Fig. 1 . Example transforming tree in neural network
2.3. Предложенный алгоритм
В предыдущей главе представлен подход проектирования архитектуры нейронных сетей с использованием SCGP, однако предложенные функциональные операторы не позволяют создавать связи, соединяющие выходы нейронов одного слоя со входами предыдущего (текущего) слоя. Это исключает возможность проектирования рекуррентных нейронных сетей (RNN), которые могут повысить качество решения в некоторых задачах (рис. 2). Их основное свойство, позволяющее достичь такой эффективности, – это хранение информации с предыдущих элементов последовательности для ее использования при обработке текущего элемента, тем самым создавая цикличную связь, которая позволяет информации передаваться от предыдущих шагов к текущему [10].
Рис. 2. Пример рекуррентной нейронной сети
-
Fig. 2. Example of RNN
Данная связь вносит изменения в формулу нейрона, добавляя дополнительные веса и входы (в случае наличия рекуррентной связи), усложняя обучение нейронной сети в зависимости от количества таких связей:
S=f (E m wi • xi+wo+E m=1 rj • yj), где f (x) функция активации; wi - вес нейрона для обычной связи; rj - вес нейрона для рекуррентной связи, xi , yj входы для обычной и рекуррентной связей соответственно.
Используемая формула – это один из способов (возможно простейший) создания рекуррентной связи, имеющий название short-term memory [11]. Одним из недостатков данного подхода является невозможность запоминать большие последовательности данных – с каждой новой итерацией информация о предыдущих затухает и впоследствии меньше влияет на получение следующего значения. В задачах, где важно сохранять всю полноту информации о полученной последовательности (например, в больших языковых моделях, где последовательность слов напрямую влияет на смысл предложения), это является существенным недостатком, и в таком случае используют другой способ представления рекуррентной связи [12]. Однако в задаче регрессии этот недостаток является преимуществом, потому что при построении модели нет необходимости знать точную последовательность последних точек, ведь данная информация может быть неприменима ввиду потери актуальности или отсутствия полезной информации (например, в задаче предсказания цены акций ранние котировки компании могут не иметь существенной связи с её текущей высокой стоимостью), тем самым данный недостаток нивелируется областью применения RNN.
В случае если в RNN для обучения алгоритма подать обучающие данные без предварительной предобработки, то построенная модель может предсказывать неточно из-за особенности, которую вносит short-term memory: информация с предыдущей итерации вносит самый большой вклад в нейрон по сравнению с остальными итерациями до нее. Если для построения текущей точки используется информация самой дальней точки в выборке, то она может губительно повлиять на текущую итерацию, внося избыточную информацию. Поэтому необходимо заранее сортировать все данные по расстоянию: самые близкие точки должны располагаться близко в выборке, чтобы каждая новая итерация извлекала полезную информацию из предыдущей.
Для того чтобы создать оператор функционального множества для SCGP, необходимо учитывать следующие требования для создания рекуррентной связи:
-
1. Рекуррентная связь может быть создана для единственного нейрона (выход текущего нейрона соединяется с его же входом).
-
2. Набор функционального множества должен позволять кодировать любое решение, которое доступно в поисковом пространстве.
Тем самым представленный оператор функционального множества будет унарным (для удовлетворения первого требования) и станет использоваться только в правом поддереве относительно корневого узла (для удовлетворения второго требования).
При автоматизированном проектировании нейронной сети с помощью SCGP могут создаваться нейронные массы (рис. 3) – скопления нейронов, которые не имеют связей друг с другом для обмена информации (исключением являются входной и выходной слоем).
Рис. 3. Пример структуры нейронной массы
-
Fig. 3. Example of neural mass
В случае если в нейронной сети будут замечены эти скопления, необходимо выбрать подход и сформировать правила для обработки этих структур. Существует несколько возможных способов их решения: создавать перекрестные рекуррентные связи для данных нейронных масс, чтобы информация из одной могла поступать в другую и наоборот, тем самым позволив обмениваться информацией для построения модели. Однако это может привести к негативным последствиям, таким как внесение избыточной информации в эти скопления.
Возможно, более эффективной идеей будет являться способ, противоположный первому: создавать такие связи только внутри одной нейронной массы, тем самым усиливая поступающую информацию (но лишив их возможности взаимодействовать друг с другом). Для каждой задачи будет свое эффективное решение, и заранее узнать какое именно, не представляется возможным ввиду высокой вычислительной сложности такой предварительной оценки. Лучше оставить данное решение за EA и их стратегии эволюционного отбора, в результате работы алгоритма будет найден способ обрабатывать данные структуры эффективно.
Исходя из всего вышеперечисленного, функциональный унарный оператор будет иметь алгоритм, представленный на рис. 4.
Рис. 4. Алгоритм создания рекуррентной связи
Fig. 4. Algorithm for creating the recurrent connections
3. Численные эксперименты
3.1. Настройка для проведения экспериментов
Как показано на рис. 4, сначала выбирается нейрон, не имеющий стандартных выходящих соединений. В случае, если у выбранного нейрона нет информации о предыдущих рекуррентных связях (которая может передаваться из поколения в поколение), создается новая связь по следующему алгоритму: случайно выбирается нейрон скрытого слоя, не имеющий входящих соединений, и создаётся рекуррентная связь. Следует заметить, что данный алгоритм применим и к нейронной сети, состоящей из единственного нейрона скрытого слоя.
На следующем этапе происходит сохранение созданной связи, чтобы при незначительных изменениях в структуре нейронной сети у индивида не происходило полного сброса рекуррентных связей, что может негативно сказаться на пригодности индивида. В случае, если у индивида сохранилась прошлая рекуррентную связь, то следует блок проверки этой связи на «актуальность».
В случае, если данное соединение отсылает к нейрону, у которого отсутствуют стандартные входящие соединения (как в предыдущем блоке), то эта связь сохраняется. В случае, если нейрон ссылается на несуществующий нейрон, другими словами, изменения в нейронной сети были настолько существенны, что ее структура полностью поменялась, то связь удаляется и пересоздается по стандартному алгоритму.
В данном разделе представлены численные эксперименты предложенного алгоритма, результаты и их обсуждение. Эффективность алгоритма, предложенного в данной работе, оценивается с использованием 12 уравнений из базы данных символьной регрессии Фейнмана [13]. Данная база содержит 120 уравнений с различными уровнями сложности и количеством переменных от одной до девяти. Эти уравнения охватывают широкий спектр физических явлений.
Для проведения исследования эффективности алгоритма было выбрано 12 задач из базы данных символьной регрессии Фейнмана со следующими индексами: 1.6.2b, 1.8.14, 1.12.1, 1.12.2, 1.12.4, 1.14.3, 1.14.4, 1.15.3x, 1.15.10, 1.18.4, 1.24.6, 1.34.8. Для каждой задачи было случайным образом отобрано по 1000 точек. Полученные точки были разделены на обучающую и тестовую выборки в соотношении 75 к 25 %.
Представленная модификация алгоритма является развитием стандартных нейроэволюцион-ных моделей, позволяющих формировать нейронные сети. Для определения эффективности предложенной модификации было проведено сравнение с предыдущими версиями алгоритма. Сравнение будет проводиться между алгоритмами SCGP NN ES и SCGP NN. Также для настройки весов нейронных сетей в данной работе использовался алгоритм дифференциальной эволюции [14]. Это эволюционный алгоритм глобальной оптимизации, который не использует градиент ошибки, что также решает проблему затухающих и взрывающихся градиентов [15].
Критерием остановки для представленных алгоритмов является достижение заданного числа вычислений функции приспособленности (2,250,000). Функция приспособленности вычисляется как величина, обратная среднеквадратической ошибке (RMSE). Для изучения эффективности автоматизированного проектирования рекуррентных нейронных сетей с помощью SCGP необходимо выполнить несколько запусков (10) и вычислить средние значения полученных оценочных метрик. Этот метод используется для снижения влияния стохастичности алгоритма на оценку его эффективности.
Эффективность алгоритмов оценивается с помощью RMSE и коэффициента детерминации (R2) на основе лучшей архитектуры, найденной в каждом запуске. Результаты всех запусков усредняются, а также вычисляется дисперсия. Эффективность алгоритма также оценивается с помощью критерия знаковых рангов Уилкоксона с уровнем значимости а = 0,05.
3.2. Результаты численных экспериментов
Результаты работы использованных алгоритмов представлены в табл. 1–5. В первом столбце указан номер задачи из выбранной базы данных символьной регрессии Фейнмана, а в другом столбце представлены результаты алгоритмов по выбранным метрикам (RMSE, R2)
Таблица 1
Результаты значений ошибок для алгоритма SCGP NN ES в задачах символьной регрессии Фейнмана
|
№ |
RMSE среднее |
RMSE медиана |
RMSE std |
RMSE минимальное (мин) |
R2 среднее |
R2 std |
R2 мин |
|
1 |
0,030255 |
0,031186 |
0,001887 |
0,027186 |
0,729153 |
0,033031 |
0,681566 |
|
2 |
0,798367 |
0,784630 |
0,063579 |
0,722154 |
0,336326 |
0,105652 |
0,182591 |
|
Окончание табл. 1 |
|
|
№ RMSE |
RMSE RMSE std RMSE мини- R2 среднее R2 std R2 мин |
|
среднее |
медиана мальное (мин) |
|
3 0,888675 4 0,027339 5 0,007253 6 4,933080 7 1,996298 8 0,204526 9 0,421437 10 0,222793 11 5,709326 12 3,819260 |
0,784307 0,207547 0,679695 0,963936 0,017017 0,934025 0,020624 0,013097 0,016995 0,848870 0,152385 0,532484 0,005990 0,004120 0,005297 0,916750 0,125040 0,541924 4,489754 1,367572 3,146004 0,935141 0,034235 0,889169 1,628534 0,786767 1,517677 0,971811 0,024907 0,917305 0,195591 0,017355 0,187883 0,982622 0,003016 0,977386 0,440401 0,037056 0,338179 0,959563 0,006617 0,953995 0,208876 0,026170 0,206589 0,937273 0,015764 0,904050 6,172551 1,162869 3,028174 0,888363 0,037570 0,850067 3,771302 0,678411 2,703044 0,819556 0,066333 0,658984 Таблица 2 Результаты значений ошибок для алгоритма SCGP RNN ES в задачах символьной регрессии Фейнмана |
|
№ RMSE |
RMSE RMSE std RMSE мин R2 среднее R2 std R2 мин |
|
среднее |
медиана |
|
1 0,030967 2 0,768771 3 0,970043 4 0,027461 5 0,008546 6 5,349869 7 2,740801 8 0,275157 9 0,419837 10 0,224578 11 5,752768 12 3,758108 |
0,031253 0,001430 0,026945 0,716757 0,024929 0,681324 0,736520 0,067953 0,694683 0,383719 0,112825 0,122782 1,017971 0,162875 0,675926 0,958103 0,013062 0,936533 0,018819 0,013881 0,016239 0,844296 0,159695 0,510323 0,005866 0,005781 0,004668 0,872636 0,177612 0,512356 5,800234 1,628757 3,287614 0,922596 0,042573 0,861263 3,083539 0,884848 1,514471 0,949215 0,028464 0,916276 0,200556 0,167535 0,189542 0,957194 0,062788 0,775598 0,430116 0,037056 0,334526 0,959867 0,006739 0,948632 0,208458 0,029734 0,206547 0,936029 0,018174 0,898910 6,411327 1,479931 2,517054 0,883970 0,046132 0,843059 3,701063 0,567414 2,464030 0,826771 0,049829 0,720638 |
Таблица 3
Результаты значений ошибок для алгоритма SCGP NN в задачах символьной регрессии Фейнмана
|
№ RMSE |
RMSE RMSE std RMSE мин R2 среднее R2 std R2 мин |
|
среднее |
медиана |
|
1 0,032513 2 0,732702 3 0,897042 4 0,036574 5 0,013806 6 4,870735 7 1,998499 8 0,203477 9 0,414873 10 0,209917 11 5,889937 12 3,404473 |
0,031282 0,002389 0,031282 0,686748 0,049288 0,548246 0,711537 0,044693 0,695596 0,442465 0,070404 0,275806 0,960038 0,191087 0,604022 0,963573 0,014390 0,946306 0,032146 0,016772 0,016396 0,733759 0,225528 0,312249 0,010169 0,008499 0,006038 0,685574 0,346809 –0,00562 4,183917 1,238393 3,296656 0,937487 0,031304 0,891457 1,624447 0,769187 1,513158 0,971925 0,024255 0,916692 0,198328 0,013218 0,187889 0,982851 0,002308 0,977069 0,420976 0,027051 0,338874 0,960948 0,004734 0,956331 0,207715 0,004293 0,206619 0,945049 0,002279 0,939507 6,321806 1,303967 2,748203 0,880329 0,042953 0,833116 3,441702 0,436398 2,532716 0,858723 0,034825 0,802207 |
В табл. 4 представлено сравнение алгоритмов с использованием статистического критерия суммы рангов Уилкоксона при уровне значимости а = 0,05. Для наглядного отображения того, какой алгоритм лучше, использованы следующие специальные обозначения: лучше («+»), хуже («–») или нет различия («=») по сравнению с алгоритмом SCGP RNN с ранней остановкой. В столбце «Результаты» приведено подсчитанное количество этих обозначений по схеме: луч-ше/нет различия/хуже.
Таблица 4
Результаты статистического критерия Уилкоксона
|
Против SCGP RNN ES |
Итог 1 2 3 4 5 6 7 8 9 10 |
11 |
12 |
|
SCGP NN ES SCGP NN |
0/12/0 = = = = = = = = = = 1/10/1 = = = = – = + = = = |
= = |
|
|
Результаты статистического критерия Уилкоксона для других алгоритмов |
Таблица 5 |
||
|
Vs. SCGP NN ES |
Results 1 2 3 4 5 6 7 8 9 10 |
11 |
12 |
|
SCGP NN |
1/9/2 – + = = - = = = = = |
= = |
|
Как видно по результатам статистического критерия Уилкоксона, предложенная модификация алгоритма не показывает статистически значимых улучшений по сравнению с предыдущими версиями. Несмотря на отсутствие статистически значимых различий, можно наблюдать необычные результаты в табл. 5. В этой сравнительной таблице с предыдущими версиями алгоритм SCGP NN ES показывает результаты статистически лучше, хотя лишь с незначительными улучшениями. Это создаёт нетипичную ситуацию, когда SCGP RNN ES демонстрирует среднюю производительность, располагаясь между этими алгоритмами, не обеспечивая ни улучшений, ни ухудшений. Данную аномалию следует исследовать, чтобы в будущем внести улучшающие модификации в SCGP RNN ES.
Было бы некорректно оценивать SCGP RNN ES, основываясь только на результате статистического критерия суммы рангов Уилкоксона, так как алгоритм может демонстрировать лучшие результаты согласно другим метрикам. Его сравнительную эффективность можно проанализировать, используя данные из табл. 1–3. Эти таблицы выявляют следующую закономерность: если рассматривать только численные значения, то другие алгоритмы делят между собой лучшие средние результаты в различных оценках. SCGP RNN ES выигрывает лишь в нескольких задачах, что не согласуется с его относительно схожей производительностью в критерии Уилкоксона.
Можно сделать следующий вывод: в среднем алгоритм показал сопоставимые результаты согласно критерию Уилкоксона, но несколько худшие значения в табл. 1–3. Ключевым преимуществом данной модификации является её более высокая вероятность нахождения наилучшего решения для задачи. В большинстве задач SCGP RNN ES удавалось находить более качественные решения, которых не удавалось достичь другим алгоритмам. Однако он также выдавал и наихудшие решения в большинстве задач, что указывает на низкую стабильность.
На данном этапе необходимо определить причину относительно низкой эффективности SCGP RNN ES. Можно выдвинуть несколько гипотез для объяснения этих результатов.
Алгоритм, возможно, не смог в полной мере использовать преимущество рекуррентных нейронных сетей (RNN) из-за отсутствия подходящих задач. В задачах регрессии нет строгой зависимости результата от последовательности данных. Рекуррентные связи могут вносить полезную информацию, но также могут и перегружать нейрон, тем самым подавляя другие входы. Эта особенность могла нарушить настройку нейронов, поскольку выбранные задачи не были предназначены для поиска таких последовательностей. Этот факт изначально поставил алгоритм в невыгодное положение по сравнению с его аналогами.
Второй причиной относительно низких результатов алгоритма может быть скорость накопления значений в нейроне из-за случайно сгенерированных весов в рекуррентной связи. Такие обстоятельства могут напрямую влиять на приспособленность особи. В результате нейронная сеть может оказаться с нулевой приспособленностью, потому что ошибка была слишком велика из-за случайности. Эту проблему можно было бы решить, реализовав следующий механизм: если связь приходит от нейрона, чья функция активации возвращает большие значения, то этот сигнал следует демпфировать. Этот механизм мог бы защитить нейрон от резких рекуррентных всплесков. Дополнительным требованием была бы инициализация малых весов для таких связей, чтобы основную информацию несли стандартные входы. Предыдущие версии алгоритма не имели этого недостатка из-за меньшего влияния случайных факторов.
4. Заключение
На основании результатов исследования можно сделать следующие выводы. Предложенная модификация, согласно критерию суммы рангов Уилкоксона с уровнем значимости а = 0,05 не показала значимых улучшений. Это указывает на необходимость анализа результатов с использованием других оценочных метрик, так как алгоритм мог продемонстрировать в них лучшие результаты. При рассмотрении численных значений из табл. 1–3 видно, что алгоритм SCGP RNN ES находит лучшее решение задачи в большинстве случаев, но также находит и наихудшие решения в тех же задачах. Данные выводы свидетельствуют о сравнительно низкой эффективности представленного алгоритма.
Следующие предложенные гипотезы могут объяснить причины таких неудовлетворительных результатов. Использованные в исследовании задачи изначально не были предназначены для рекуррентных сетей (RNN), что поставило алгоритм в изначально невыгодное положение по сравнению с предыдущими версиями. Вторая гипотеза касается сильного влияния рекуррентных связей на нейроны. Сгенерированные веса для таких связей могли перевесить полезную информацию, поступающую от стандартных связей. Решением последней проблемы является контроль инициализации весов для рекуррентных связей, чтобы защитить нейрон от их дестабилизирующего влияния.
Acknowledgment. This research was supported by the Russian Science Foundation (project № 2519-20154, , and the Krasnoyarsk Regional Science Foundation.