Отметим, что основной недостаток существующих методов разбиения - это получение за один прогон алгоритма одного локального оптимума.
С увеличением числа генераций в ГА время решения, конечно, повышается, но это повышение незначительное и компенсируется получением множества локально-оптимальных решений. Разбиение графов с применением ГА позволяет всегда получать локальные оптимумы, иметь возможность выхода из них и приближаться к получению оптимальных и квазиоптимальных решений.
ЛИТЕРАТУРА
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