Новости
12.04.2024
Поздравляем с Днём космонавтики!
08.03.2024
Поздравляем с Международным Женским Днем!
23.02.2024
Поздравляем с Днем Защитника Отечества!
Оплата онлайн
При оплате онлайн будет
удержана комиссия 3,5-5,5%








Способ оплаты:

С банковской карты (3,5%)
Сбербанк онлайн (3,5%)
Со счета в Яндекс.Деньгах (5,5%)
Наличными через терминал (3,5%)

ВЫБОР НАИЛУЧШЕЙ АРХИТЕКТУРЫ НЕЙРОННОЙ СЕТИ ПОСРЕДСТВОМ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ

Авторы:
Город:
Таганрог
ВУЗ:
Дата:
26 июня 2016г.

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

Для решения задач такого класса ГА имеет ряд достоинств [2]:

1. Изучение пространства поиска решений осуществляется с помощью множества решений, а не одного.

2. ГА не чувствительны к росту размерности множества оптимизации по времени.

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

Будем называть субоптимальным набором весов синаптических связей такой набор весов, при котором многослойный персентрон решает вторую задачу с ошибкой меньшей наперед  заданной. Набор называется субоптимальным, а не оптимальным, потому – что всегда можно найти другой набор весов, который будет решать эту же задачу с меньшей ошибкой, но поиск «лучшего» набора, возможно займет гораздо больше времени [2].

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

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


Так же в топологии присутствует блок оценки особей. Он оценивает фитнес-функцию каждой особи, а так же производит отбор особей для следующего поколения.

Обучение нейронной сети происходит в специальном блоке. В этот блок поступает общая хромосома с параметрами для конструктора и рекомендации к процессу обучения (метод, скорость и т.д.).

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


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


Для работы с такими генами необходимы специальные генетические операторы.

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

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

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

Первый устанавливает степень «связности сети» и вычисляется по формуле:




где NC  – количество связей в сети, NI , NO , NN  – количество входных, выходных нейронов и общее  число нейронов в сети, FB – флаг логического типа, обозначающий возможность добавления в сеть обратных связей.

Таким образом, чем меньше  fC , тем с большей вероятностью будет добавлена новая связь.

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

Чем больше нейронов в сети, тем меньше fN , тем меньше вероятность добавления в сеть нового нейрона. 

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

 

Список литературы

1.     Кричевский М.Л. Интеллектуальный анализ данных в менеджменте: Учеб. пособие / СПбГУАП. СПб. – 2005. – 208 с.

2.     Божич В.И., Лебедев О.Б., Шницер Ю.Л. Разработка генетического алгоритма обучения нейронных сетей // Известия ТРТУ. Тематический выпуск. 2001. Т. 22. №4. – С. 170-174.