Научная статья на тему 'Разработка генетического алгоритма обучения нейронных сетей'

Разработка генетического алгоритма обучения нейронных сетей Текст научной статьи по специальности «Компьютерные и информационные науки»

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

Текст научной работы на тему «Разработка генетического алгоритма обучения нейронных сетей»

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

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

ЛИТЕРАТУРА

1. Курейчик В. М. Математическое обеспечение конструкторского и технологического проектирования с применением САПР. М.: Радио и связь. 1990.

2. Охматов КА. Зарождение жизни на планете Земля. М.: Мир, 1994.

3. Айала Ф. Введение в популярную и эволюционную генетику. М.: Мир, 1984.

УДК 658.512

В.И. Божич, О.Б. Лебедев, ЮЛ. Шницер1

РАЗРАБОТКА ГЕНЕТИЧЕСКОГО АЛГОРИТМА ОБУЧЕНИЯ НЕЙРОННЫХ СЕТЕЙ

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

.

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

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

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

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

С _ к (у'у - у1})

С _ тах-------------*100% ,

у_1 Уу

где к - количество примеров; у у’ - значение /-го выхода нейронной сети для у -того примера.

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

1 Работа выполнена при поддержке РФФИ, грант №00-01-00125

Число генов в хромосоме постоянно и равно максимальному числу слоев нейросети. Ген g1 соответствует входному слою, а ген gn - выходному слою. Гены ё.2, ■■■, gn-1 соответствуют скрытым слоям. Структура связей между двумя соседними слоями соответствует полному двудольному графу. Значением гена gi является число нейронов в /-том слое. Если gi = 0, то этот слой исключается из рассмотре-.

При втором способе кодирования длина хромосомы (число генов) равна фактическому числу слоев нейронной сети плюс один. При этом в хромосоме отсутствуют гены с нулевыми значениями. Значением первого гена g1 является число слоев, значениями генов g2, gn является число нейронов в слое, причем g2 соответствует входному слою, gn - выходному, а g3, gn.1 - скрытым слоям нейронной .

Пространственная сложность и трудоемкость декодирования хромосом имеет оценку О(п), где для первого способа кодирования параметр п - это максимально возможное число слоев нейронной сети, а для второго способа - параметр (п- 1) определяет число слоев нейронной сети.

Основными генетическими операторами являются операторы кроссинговера и мутации [2]. Для хромосом первого вида оператор кроссинговера выполняется следующим образом. Пусть имеются две родительские хромосомы Н1 и И2. Отметим, что гены g1 и g2 в обеих хромосомах имеют одинаковое значение. Последовательно просматриваются локусы хромосом, начиная со второго, и с вероятностью Рк осуществляется обмен генами в текущем локусе. Обмен завершается после просмотра всех локусов в интервале 2 — (п - 1). В результате получаются две хромосомы Н'1 и Н'2.

Особенности применения оператора кроссинговера для хромосом второго типа связаны с тем фактом, что родительские хромосомы могут иметь различную длину. Если родительские пары имеют одинаковую длину, то действие оператора кроссинговера аналогично рассмотренному выше, с той лишь разницей, что локусы просматриваются в интервале{3 — (п - 1)}. Для пары хромосом различной дли. Н1

и Н2 и пусть g1 > g2. Первоначально хромосома меньшей длины Н2 модифицируется путем добавления числа (п1 - п2) генов с нулевым значением. Новые гены могут вставляться между генами ^2 - g3), ^3 - g4), ... , (gn_2 - gn_1). Места вставки выбираются случайным образом. После этого осуществляется процедура кроссинговера между хромосомами Н1 и модифицированной хромосомой Н2М. В результате образуется новая пара хромосом Н'1М и Н'2М. Затем из хромосом Н'1М и Н'2М удаляются гены с нулевым значением и обновляются значения генов g1.

Процедура мутации осуществляется следующим образом: последовательно , ,

, , , , РМ

ген gi е Н приобретает новое значение в текущем диапазоне 0 <gi > т, где т -максимально допустимое число нейронов в слое.

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

оценки временной сложности имеют вид: tk = O(n); tm = O(n), где n - длина хромосомы.

Для организации генетического поиска формируется исходная популяция особей: П„ = {Hk | k = 1, 2, M}, где M- размер популяции. Популяция П„ представляет собой репродукционную группу индивидуальностей, любые из которых могут размножаться, выступая в роли родителей. В алгоритме используется принцип случайного формирования исходной популяции. Формирование популяции хромосом первого типа осуществляется следующим образом. Генам gl и g2 присваиваются значения gl = input, g2 = output, где input и output - задаваемые в качестве исходных данных числа нейронов входного и выходного слоев нейронной .

Гены g2, ..., gn_i принимают случайные значения на интервале (0 - m), где m -задаваемое исходными данными максимально допустимое число нейронов в сети. Если используются хромосомы второго типа, то популяция получается из хромосом первого типа путем модификации. Для этого из хромосомы удаляются гены с , , числу слоев в нейронной сети, кодируемой данной хромосомой. Объем ОЗУ, необходимый для хранения популяции, имеет оценку пространственной сложности, равную O(n,m), где n - длина хромосомы, m - размер популяции.

При синтезе архитектуры нейронной сети решается оптимизационная задача на двух уровнях:

на первом уровне решается оптимизационная задача, связанная с обучением нейронных сетей;

на втором уровне решается задача поиска архитектуры такой нейронной се, .

Для решения указанных двух задач используется один и тот же показатель , :

значения показателя C, на втором уровне при поиске нейронной сети - минимального значения показателя качества C. Для реализации указанных процедур формируются две выборки примеров: VO - обучающая выборка и VT - тестирующая выборка. На выборке VO производится обучение нейронной сети с оптимизацией показателя Со, при этом осуществляется поиск значений весов для всех скрытых и

. VT ( -

) CT,

оценкой качества обучения сети.

, -

Hi ,

VO

VT. ,

множеством фенотипов популяции является множество обученных нейронных се-

CT.

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

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

Уеерш, (У0, Ут) / | Уо |,

где Уюр,ш - число верно классифицированных образов в исходной выборке, | У0 | -мощность (число образов) выборки. Данный критерий определяет число верно классифицируемых образов в тестирующей выборке. Минимально допустимой обучающей выборкой является число образов, для которого достигается максимум

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

некоторый высокий процент от максимального значения.

В данной работе предлагается способ увеличения скорости обучения нейрон, « »

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

р

I К р = е=1

р

ь&»е

е=1

где - вектор изменений синаптических весов нейрона; і - номер нейрона (і = 1, 2, ..., Ы); е - номер обучающего примера; Р - число примеров в обучающей выборке; |*| - длина вектора.

В результате расщепления вместо исходного нейрона в сеть вводятся два но.

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

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

ЛИТЕРАТУРА

1. Уоссермен Ф. Нейрокомпьютерная техника. М.: Мир,1992

2. Курейчик В.М. Генетические алгоритмы: Монография. Таганрог: Изд-во ТРТУ, 1998. 242с.

УДК 681.518:339.13

О.В. Коновалов1

КООПЕРАТИВНО-СОРЕВНОВАТЕЛЬНЫЙ АЛГОРИТМ ОБУЧЕНИЯ СЕТЕЙ РАДИАЛЬНОГО БАЗИСА

1. . , -ных нейронных сетей, всегда имеют только один скрытый слой элементов, причем производимые вычислительные операции для скрытого и выходного слоев различаются. Первый (входной) и последний слои сети выполняют те же функции. Каждый элемент скрытого слоя характеризуется центром c - точкой во входном пространстве и отклонением d. При подаче на вход сети образа каждый элемент определяет евклидово расстояние от собственного центра до входного образа, соотносит это расстояние с отклонением и берет от полученной величины нелинейную функцию /1, 2/. Общее преобразование Fj, выполняемое сетью радиального базиса по выходу j, имеет следующий вид:

L

F (r) j = mj о+Е j(x), (1)

i = 1

где б]о - значение порога по j-му выходу.

L -

, -

тра и отклонения.

ф(х)=ф(\ \х - ci\ \ /di), где Ci е есть центр базисной функции ф, a dt является

отклонением или масштабирующим множителем для радиуса \\х - ci\\, и || || -

обычно евклидова норма в ^п. Теоретически и практически исследованы множество различных функций ф., однако наиболее популярны среди них следующие /1/:

- ф(г)= Г2 log r - тонкопленочный сплайн (thin plate spline);

_ r 2/2

- ф(г)= e - гауссоида;

- Ф(г)= V r2 + 1 - мультиквадратичная функция;

1

- ф(г)= —j= - инверсная мультиквадратичная функция,

Vr2 +1

где во всех случаях r - масштабированный радиус \ \х - ci\\ /di .

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

1 Работа выполнена при поддержке РФФИ, грант №00-01-00125

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