Комплексный эволюционный подход для автоматического проектирования коллективов нейронных сетей
Автор: Бухтояров Владимир Викторович, Семенкин Евгений Станиславович
Журнал: Сибирский аэрокосмический журнал @vestnik-sibsau
Рубрика: Математика, механика, информатика
Статья в выпуске: 3 (29), 2010 года.
Бесплатный доступ
Предлагается новый комплексный подход для проектирования коллективов нейронных сетей, состоящий из метода автоматического проектирования нейронных сетей и метода автоматического формирования коллективного решения на основе решений отдельных нейронных сетей. Показано, что предлагаемый подход не менее эффективен, чем ряд других подходов для проектирования коллективов нейронных сетей.
Нейронные сети, коллектив, автоматическое проектирование, генетическое программирование, вероятностный эволюционный алгоритм
Короткий адрес: https://sciup.org/148176259
IDR: 148176259
Текст обзорной статьи Комплексный эволюционный подход для автоматического проектирования коллективов нейронных сетей
В настоящее время системы анализа данных, в основе которых лежат интеллектуальные информационные технологии (ИИТ), становятся все более востребованными во многих отраслях человеческой деятельности, а требования к масштабам таких систем неуклонно растут. В связи с этим все актуальнее становится вопрос о разработке методов автоматического проектирования и адаптации ИИТ под конкретные задачи. Такие методы могли бы позволить отказаться от использования для проектирования ИИТ дорогих, в основном человеческих, ресурсов и сократить время, необходимое для разработки интеллектуальных систем.
Одной из наиболее широко используемых и востребованных интеллектуальных технологий являются искусственные нейронные сети. Спектр задач, решаемых с помощью нейронных сетей необычайно широк, что обусловлено целым рядом преимуществ систем, основанных на их использовании. Несмотря на то, что данную информационную технологию можно назвать достаточно универсальным средством для решения задач анализа данных, в каждом конкретном случае приходится создавать уникальную в некотором смысле нейронную сеть.
Одним из подходов повышения эффективности систем, в основе которых лежит использование нейронных сетей, является использование коллективов нейронных сетей. Решение задач с помощью коллективов нейронных сетей предполагает одновременное использование конечного числа предварительно обученных нейронных сетей. Этот подход впервые был предложен в работе [1], в которой было показано, что способность к обобщению системы на основе нейронных сетей может быть значительно повышена за счет их объединения в коллектив.
В общем случае формирование коллектива нейронных сетей включает в себя два этапа. Для использования в системах анализа данных желательно, чтобы оба эти этапа были автоматизированы. Первый этап предполагает формирование структуры и обучение нейронных сетей, которые будут включены в коллектив или предварительный пул. Второй этап включает в себя отбор тех сетей, с помощью решений которых будет сформировано итоговое решение, а также определение способа и параметров формирования общего решения.
Формирование предварительного пула нейронных сетей. Для выполнения первого этапа формирования коллектива нейронных сетей часто используется подход, заключающийся в предварительном выборе и фиксации структуры нейронных сетей и обучении их на различных обучающих множествах, сформированных из исходной обучающей выборки задачи. В некоторых случаях при обучении каждой последующей нейронной сети делают упор на ее обучение на тех подмножествах обучающего множества, на которых ошибка всех предыдущих нейронных сетей была велика. Широкое распространение получили и другие подходы для формирования и обучения нейронных сетей, используемых коллективно. В работе [2] предложено использовать нейронные сети с различным числом скрытых нейронов, а в работе [3] предлагается использовать различные целевые функции для настройки каждой отдельной нейронной сети. Основным недостатком таких подходов является необходимость в априорной фиксации структуры нейронной сети, что может негативно сказаться на адаптивности результирующего коллективного решения.
Отдельное направление составляют подходы, основанные на использовании генетических алгоритмов (ГА) для формирования структуры нейронных сетей. Главной сложностью при использовании этих подходов является необходимость в настройке большого числа параметров алгоритма. Зачастую достаточно сложно подобрать правильные настройки генетического алгоритма, так как это требует значительных вычислительных и временных затрат. В то же время плохо настроенный ГА может вообще не решить задачу.
Анализ существующих методов автоматического проектирования структур нейронных сетей, в частности метода, основанного на использовании генетических алгоритмов [4], показывает, что во время работы методов накапливается и обрабатывается статистическая информация о структуре проектируемой нейронной сети. Однако эта информация не используется в явном виде, ее обработка и накопление в неявном виде осуществляется с помощью отдельных операторов конкретного метода, вид которых зависит от настройки соответствующих параметров. Между тем, если предложить метод обработки этой информации в явном виде, то это позволило бы отказаться от процедуры настройки большинства параметров генетического алгоритма, весьма затруднительной при решении реальных практических задач. В связи с этим для автоматического формирования структуры нейронных сетей предлагается новый вероятностный метод, использующий для обработки информации принципы, заложенные в операторах вероятностного генетического алгоритма [5].
Предлагаемый метод основан на вычислени и и и спользовании оценок вероятностей p k j , где i = 1, N l -номер скрытого слоя нейронной сети; N l - максимальное число скрытых слоев; J = 1, N n - номер нейрона на скрытом слое сети; N n - м аксимальное число нейронов на скрытом слое; к = 0, N F , где N F - мощность множ е ства активационных функций, которые могут быть использованы при формировании структуры нейронной сети. Если индекс к лежит в интервале [ 1; N F ] , то он соответствует номеру активационной функции в нейроне, если к = 0, то pkj является оценкой вероятности того, что в сети отсутствует J -й нейрон на i -м слое.
В качестве максимально полной в смысле количества слоев и количества нейронов на слоях архитектуры нейронной сети используется полный многослойный персептрон с числом скрытых слоев равным Nl , и числом нейронов на каждом скрытом слое равным N n . Данная архитектура позволяет с помощью номера скрытого слоя и номера нейрона на слое явно указать все возможные положения нейрона в сети.
Решения в рассматриваемом методе предлагается представлять в виде вектора-строки S целых чисел, принадлежащих интервалу [ 0; N F ] и длиной L = N l ■ N n .
Число элементов этой строки равно максимально возможному числу нейронов на скрытых слоях полного многослойного персептрона. Номер каждого элемента этой строки, представленный в виде r = Nn ■ (i -1) J, i = IN, J = 1N, (1) однозначно определяет местоположение нейрона в структуре искусственной нейронной сети с архитектурой полного персептрона. Поэтому каждый элемент строки можно трактовать следующим образом:
-
а) если Sr = 0 , то нейрон J на i -м скрытом слое и соответствующие синаптические связи отсутствуют;
-
б) если Sr * 0 , то нейрон J на i -м скрытом слое существует и в нем используется активационная функция с номером Sr .
С помощью такой строки можно описать нейронную сеть с любой конфигурацией слоев и нейронов на них, размеры которой не превышают размеры Nl и Nn , указанные для архитектуры многослойного персептрона.
Ниже представлена общая схема предлагаемого метода автоматического формирования структуры искусственных нейронных сетей.
-
1. Выполнить шаги инициализации метода.
-
2. С луч айным образом сформировать N векторов
-
S o , i , i = 1, N , установить счетчик итераций k = 0.
-
3. На k -м шаге поиск а пр оизвести оценку решений, представленных S k , i , i = 1, N , положить промежуточное множество S ' = 0 .
-
4. С помощью оператора селекции выбрать Npar ре- kk ,1 k ,2 k , N
-
5. Используя решения из множества S ' , вычис лит ь наб ор оц енок вероятностей P = { p^ j } = { plr } , r = 1, L , l = 1, N f . ,
-
6. В соответствии с вычисленными оценками вероятностей с помощью датчика псевдослучайн ы х чисел сформировать промежуточное множество Sk , состоящее из N новых решений.
-
7. К решениям из множества Sk применяется опера-
- тор мутации.
-
8. Из множеств Sk и Sk формируется новое множе- k + 1 ство решений S .
-
9. Если выполняется условие остановки, то лучшее найденное решение объявить результатом работы. Иначе k = k + 1 и перейти к шагу 3.
шений из текущего множества S = { S , , S , , ..., S , } и поместить их в промежуточное множество S ' .
Инициализация метода предполагает указание максимального числа скрытых слоев нейронной сети Nl , максимального числа нейронов на каждом из слоев нейронной сети Nn , определения набора активационных функций S и максимального числа шагов формирования структуры Nstep , а также указания числа сетей, просматриваемых на каждом шаге формирования структуры S .
На втором шаге метода выполняется генерация начального множества решений. Для того чтобы сгенерировать изначально более простые структуры нейронных сетей, в данном методе были установлены следующие значения вероятностей генератора случайных чисел для различных значений элементов строки-решения:
S
0, с вероятностью 0,5, s е[1;NF ], с вероятностью 0,5^ NF
,
r
где r = 1, L , i = 1, N .
Ключевыми шагами метода являются шаги 5 и 6. На шаге 5, учитывая уравнение (1), для полносвязной нейронной сети оценки вероятностей рассчитываются по следующей формуле:
Nni
Z Sr :sr = k, l = 1,Npari k _ r=Nn (i-1)
p, — ,
Nn ■ Npar pi = Pij k = 0,NF, i = 1,Nz, j = I,Nn, где Nn – максимальное число нейронов на скрытом слое; Nl – число скрытых слоев; npar – количество решений в промежуточном родительском множестве; |-| -мощность множества.
На шаге 6 промежуточное множество Sk формируется в соответствии с оценками вероятностей, рассчи- танными на шаге 5. На шагах 5 и 6 предлагаемого метода осуществляются накопление и обработка статистической информации о структурах нейронных сетей в явном виде.
Выбор состава и формирование решения коллектива. На втором этапе должны быть выбраны те нейронные сети, которые будут использованы для расчета коллективного решения, а также должен быть непосредственно определен способ, по которому в коллективном решении будут учтены решения отдельные его членов. Наиболее распространенными вариантами комбинирования решений отдельных нейронных сетей являются равноправное или неравноправное голосование для задач классификации [1] и простое или взвешенное усреднение для задач регрессии [6]. Наиболее разработаны варианты с взвешенным усреднением или неравноправным голосованием. Например, в работе [7] для оценки весовых коэффициентов вклада отдельных нейронных сетей в общее решение используется оценка качества их индивидуальных решений. В работе [8] для определения весовых коэффициентов используется генетический алгоритм.
Для повышения эффективности выполнения этого этапа был разработан метод, позволяющий автоматически выбирать из сформированного предварительно пула те нейронные сети, которые будут участвовать в принятии коллективного решения, и формировать это коллективное решение в виде различных преобразований и комбинаций (линейных и нелинейных) решений отдельных участников коллектива нейронных сетей. Предполагается, что, используя коллектив нейронных сетей, возможно найти более эффективное решение задачи с помощью формирования более сложных комбинаций решений отдельных нейронных сетей, чем простое или взвешенное усреднение и равноправное или неравноправное голосование.
Предлагаемый подход основан на методе генетического программирования [9], который используется для решения задач символьной регрессии. Основная идея заключается в адаптации и использовании операторов генетического программирования для автоматического формирования решения, представляющего собой формулу (программу) для вычисления общего решения коллектива нейронных сетей на основе решений, полученных от его отдельных членов.
Для построения решения предлагаемый метод использует элементы терминального и функционального множеств. В качестве терминального множества – множества термов, из которых будут строиться решения, – используются ответы, данные нейронными сетями из предварительного пула, а не непосредственно переменные задачи, как в методе генетического программирования. В терминальное множество также включены числовые константы, настройка которых позволяет получить более адаптивное общее решение коллектива нейронных сетей. В качестве элементов функционального множества используются различные операции и функции, определяющие вид зависимостей между коллективным решением и решениями, полученными с помощью отдельных нейронных сетей.
Общая схема предлагаемого метода представлена ниже и в основе своей совпадает с шагами метода генетического программирования, используемого для аппроксимации функций.
-
1. Инициализация начальной популяции решений.
-
2. Пока не будет выполнен критерий останова, выполняется итерационная процедура, состоящая из следующих подшагов:
-
2.1. Вычисляется пригодность для каждого индивида текущего поколения.
-
2.2. С вероятностью, связанной с найденным значением пригодности, выбирается один или несколько индивидов из популяции для выполнения генетических операций.
-
2.3. Создается новая популяция индивидов-программ с помощью выполнения с заданной вероятностью следующих генетических операторов:
-
2.3.1. Создание нового индивида с помощью скрещивания.
-
2.3.2. Создание нового индивида с помощью мутации.
-
2.3.3. Простое копирование существующего индивида в новое поколение.
-
-
-
3. После того как будет выполнен критерий останова, лучшее решение, найденное в ходе выполнения алгоритма, объявляется результатом работы алгоритма.
Решения кодируются в виде деревьев, внешние вершины которых формируются из элементов терминального множества, а внутренние – из элементов функционального множества. В качестве элементов функционального множества могут быть использованы арифметические операции, математические функции, булевы операции.
Общее коллективное решение, сформированное с помощью предлагаемого метода, представляет собой некоторую функцию, входными параметрами которой являются частные решения нейронных сетей, включенных в коллектив:
o = f ( o 1 , o 2 , -, o n ) , где o – общее решение; oi – индивидуальное решение i -й сети; n – число сетей в коллективе.
Предлагаемый метод позволяет расширить гибкость системы, основанной на использовании коллективов нейронных сетей, за счет отсутствия твердо закрепленной структуры взаимодействия между индивидуальными сетями, формирующими коллектив. При этом рассматриваемый метод не только формирует структуру взаимодействия между членами коллектива, но и косвенно (за счет включения или невключения соответствующих аргументов в формулу общего решения) отбирает те нейронные сети, решения которых будут наиболее полезны в плане эффективности решения задачи. Использование дополнительных алгоритмов (например, генетического алгоритма) для настройки параметров получаемой модели взаимодействия позволяет дополнительно повысить эффективность модели.
Исследование эффективности метода. Для исследования эффективности предлагаемого комплексного подхода к проектированию коллективов нейронных сетей был проведен ряд численных экспериментов на наборе тестовых задач. Предлагаемый метод был исследован в сравнении со следующими методами, часто используемыми для формирования коллективов нейронных сетей:
-
1. Метод GASEN – метод, использующий для назначения весов генетический алгоритм с последующим учетом при формировании общего решения тех нейронных
-
2. Метод, основанный на использовании генетического алгоритма для выбора фиксированного числа нейронных сетей из предварительного пула и назначения им весов (ниже обозначен как GA-based1).
-
3. Метод, основанный на использовании генетического алгоритма для выбора произвольного числа нейронных сетей из предварительного пула и назначения им весов (ниже обозначен как GA-based2).
сетей, чей весовой коэффициент выше некоторого заданного заранее значения [7].
Для формирования предварительно пула нейронных сетей в этих методах использовался стандартный метод конструирования нейронных сетей на основе генетического алгоритма с заранее подобранными эффективными настройками параметров. Для нейронных сетей максимальное число скрытых слоев равно трем, максимальное число нейронов на каждом слое равно пяти. В ходе предварительного исследования было выяснено, что увеличение максимального числа скрытых слоев сети и максимального числа нейронов на них не дает дополнительного преимущества для рассматриваемых задач.
Для проведения исследований также был использован набор данных тестов по прогнозированию прочностных характеристик бетона из репозитория UCI Machine Learning Repository [10]. Этот набор данных включает 103 записи, описывающих зависимость между составом бетона и измеренными показателями, характеризующими деформацию и прочностные характеристики полученных из него изделий.
Примеры задач, использовавшихся в сравнительных исследованиях, приведены в табл. 1.
В качестве главного критерия эффективности использовались оценка математиче ского ожидания и оценка дисперсии ошибки, рассчитанные по данным, полученным в ходе 50 независимых запусков алгоритмов. Для расчета ошибки аппроксимации в каждом запуске использовалась следующая формула:
Error =
100 %
( y max - y min
s
£ o - y i.
i = 1
где – номер записи в выборке; o – выход сети или коллектива нейронных сетей; y – значение выходной переменной в выборке; y max и y min – максимальное и минимальное значение выходной переменной; s – число элементов в выборке.
Результаты сравнительного исследования предлагаемого вероятностного метода автоматического формиро- вания структуры нейронных сетей и метода, использующего для решения этой задачи генетический алгоритм, приведены в табл. 2.
Результаты сравнительного исследования предлагае- мого комплексного подхода для проектирования коллективов нейронных сетей и других методов, описанных выше, приведены в табл. 3–5.
Приведем пример формулы, описывающей способ расчета коллективного решения для задачи прогнозирования прочностных характеристик бетона на основании решений отдельных нейронных сетей:
o = o4 -(o20 -1,953o4 + 018)/(O9/(o4 + 018)-2,824), где o – общее решение, рассчитанное для коллектива нейронных сетей; o4, o9, o18, o20 – выход четвертой, девятой, восемнадцатой и двадцатой нейронных сетей из предварительного пула. Эти сети в автоматическом режиме были отобраны для формирования коллектива. Из этих сетей минимальной ошибки (4,92 %) позволяет достичь сеть 18. Мак- симальное значение ошибки (4,98) соответствует сети 20.
Значение ошибки коллектива нейронных сетей – 3,57 %.
Рассмотрим характеристики процесса формирования коллектива нейронных сетей для решения задачи прогнозирования прочностных характеристик бетона. Для сравнения рассмотрим характеристики сетей, включенных в
Таблица 1
Примеры тестовых задач
№ задачи |
Моделируемая функция |
Диапазон входных переменных |
Объем выборки |
1 |
y = sin x |
x g[ - 4,3 ] |
150 |
2 |
22 y = x Sin x + x 2 Sin x 2 |
x e [- 4,3 ] |
150 |
3 |
x • x7 У = X 2 |
x g [ 1,20 ] |
200 |
4 |
y = 100 ( x 2 - x 2 ) - ( 1 - x 1 ) 2 |
x g [ - 2,3 ] |
200 |
Таблица 2
Результаты сравнительного исследования методов проектирования нейронных сетей
Задача |
Вероятностный метод Оценка математического ожидания ошибки, % |
ГА Оценка математического ожидания ошибки, % |
1 |
1,880 |
1,857 |
2 |
4,355 |
4,428 |
3 |
0,736 |
0,780 |
4 |
6,750 |
6,643 |
Таблица 3
Результаты сравнительного исследования на тестовых задачах 1 и 2
Метод |
Тестовая задача 1 |
Тестовая задача 2 |
||
Оценка математического ожидания ошибки, % |
Оценка дисперсии ошибки, % |
Оценка математического ожидания ошибки, % |
Оценка дисперсии ошибки, % |
|
Одна нейронная сеть |
1,880 |
0,510 |
4,355 |
0,736 |
GASEN |
1,444 |
0,112 |
3,79 |
0,026 |
GA based 1 |
1,335 |
0,223 |
3,486 |
0,028 |
GA based 2 |
1,302 |
0,162 |
3,482 |
0,024 |
Предлагаемый метод |
0,855 |
0,065 |
3,037 |
0,003 |
Таблица 4
Результаты сравнительного исследования на тестовых задачах 3 и 4
Метод |
Тестовая задача 3 |
Тестовая задача 4 |
||
Оценка математического ожидания ошибки, % |
Оценка дисперсии ошибки, % |
Оценка математического ожидания ошибки, % |
Оценка дисперсии ошибки, % |
|
Одна нейронная сеть |
2,537 |
0,245 |
6,643 |
1,447 |
GASEN |
1,679 |
0,016 |
6,192 |
0,163 |
GA based 1 |
1,651 |
0,019 |
6,147 |
0,178 |
GA based 2 |
1,639 |
0,020 |
6,100 |
0,209 |
Предлагаемый метод |
1,389 |
0,035 |
5,036 |
0,115 |
Таблица 5
Результаты сравнительного исследования на задаче прогнозирования прочностных характеристик бетона
Метод |
Оценка математического ожидания ошибки, % |
Оценка дисперсии ошибки, % |
GASEN |
4,119 |
0,040 |
GA based 1 |
4,113 |
0,047 |
GA based 2 |
4,012 |
0,036 |
Предлагаемый метод |
3,521 |
0,028 |
предварительный пул, и сетей, отобранных в коллектив. Статистические данные были получены по результатам двадцати запусков программной системы, реализующей предлагаемый метод формирования коллектива нейронных сетей.
Сеть минимального размера, которая была включена в предварительный пул, имела два скрытых слоя, на каждом из которых было по два нейрона. Сеть максимального размера, включенная в предварительный пул, имела 13 нейронов на скрытых слоях сети – 5 на первом скрытом слое, по 4 нейрона на втором и третьем скрытых слоях. Среднее число нейронов на скрытых слоях сетей, включенных в предварительный пул, равно 9.
Среднее число сетей, отобранных в коллектив из предварительного пула, включающего 20 нейронных сетей, равно 5 (точное значение 4,75). Среднее число нейронов в таких сетях равно 7.
Среднее значение ошибки для одной нейронной сети из предварительного пула 4,95 %. Среднее значение ошибки для усредненного выхода всех сетей предварительного пула 4,58 %. Среднее значение ошибки коллективов нейронных сетей, сформированных предлагаемым методом, равно 3,52 %. При этом в коллектив обычно попадают не только сети с наименьшей индивидуальной ошибкой моделирования, что указывает на то, что отбираются сети, позволяющие именно совместно минимизировать итоговое значение ошибки, характеризующей качество общего решения коллектива.
Результаты статистических исследований показывают, что предлагаемый комплексный подход для проектирования коллективов нейронных сетей демонстрирует высокую эффективность на всех использованных тестовых задачах. Относительно первого этапа проектирования коллектива нейронных сетей на основании результатов сравнительного исследования можно сделать вывод о том, что вероятностный метод формирования структуры нейронных сетей не менее эффективен, чем широко используемый метод на основе генетического алгоритма. Преимуществом предлагаемого метода является меньшее число параметров алгоритма, которые необходимо настраивать для его эффективной работы, что позволяет снизить затраты на решение задачи.
Предлагаемый подход для формирования коллективов нейронных сетей демонстрирует высокую эффективность и не уступает другим подходам на использованных тестовых задачах. Относительное превосходство предлагаемого метода над другими методами формирования общего решения в коллективах нейронных сетей по показателю средней ошибки моделирования находится в пределах от 50 % для тестовой задачи 1 до 13 % для тестовой задачи 2. Среднее превосходство по рассматриваемому показателю составляет около 25 %. Для задачи прогнозирования прочностных характеристик бетона относительное превосходство предлагаемого метода составило око- ло 15 %, что можно считать достаточно хорошим результатом при обработке реальных данных.
Результаты исследования свидетельствуют о том, что предлагаемый подход позволяет эффективно автоматически генерировать коллективы нейронных сетей и формировать итоговое решение коллектива. Таким образом, данный комплексный подход целесообразно использовать для повышения эффективности решения сложных прикладных задач, традиционно решаемых с помощью систем, использующих одну искусственную нейронную сеть, например, сложных задач аппроксимации и прогнозирования.