Хайкин С. - Нейронные сети (778923), страница 50
Текст из файла (страница 50)
Эвристические рекомендации по улучшению работы алюритма... 246 Нейрон ! Входной слой Скрытый слой Выходной слой Рис. 4.6. Структурный граф сети для реше- ния задачи ХОЙ (а) и граф передачи сигна- ла для этой сети (6) +! б) 4.6. Эвристические рекомендации по улучшению работы алгоритма обратного распространения Часто утверждают, что проектирование нейронных сетей, использующих алгоритм обратного распространения, является скорее искусством, чем наукой.
При этом имеют в виду тот факт, что многочисленные параметры этого процесса определяются толью на основе личного практичесюго опыта разработчика. В этом утверждении есть доля правды. Тем не менее приведем некоторые общие методы, улучшающие производительность алгоритма обратного распространения. ному образу (О, 0)), выходной нейрон также остается неактивным. Если оба скрытых нейрона возбуждены (что соответствует входному образу (1, 1)), выходной нейрон остается неактивным, так как тормозящее влияние большого отрицательного веса (верхний скрытый нейрон) преобладает над возбуждающим воздействием с меньшим весом (нижний скрытый нейрон). Когда верхний скрытый нейрон находится в заторможенном состоянии, а нижний — в возбужденном (что соответствует входным образам (О, 1) и (1, 0)), выходной нейрон переходит в возбужденное состояние, так как возбуждающий сигнал с положительным весом приходит от нижнего скрытого нейрона.
Таким образом, сеть, изображенная на рис. 4.8, а, н в самом деле решает задачу ХОК. 246 Глава 4. Многослойный персептрон (О, 1) Вход хх (О, 0) (1, 0) Входа, а) (О, 1) Вход (О, 0) (1, 0) Вход х, б) (о, и Вход (О, 0) (1, О) Рис. 4.9. Границы решений, построенные дпи скрытого нейВход х рона ! сети, показанной на рис. 4.8, а (а); границы решений а) дпп скрытого нейрона 2 сети (б) и дпя асей сети (е) 1. Режим: последовательный или пакетный (зесрхепйа! чегвцз Ьа(с)х црг)ате).
Как уже говорилось ранее, последовательный режим обучения методом обратного распространения (использующий последовательное предоставление примеров эпохи с обновлением весов на каждом шаге) в вычислительном смысле оказывается значительно быстрее. Это особенно сказывается тогда, когда обучающее множество является большим и в высокой степени избыточным. (Избыточные данные вызывают вычислительные проблемы при оценке Якобиана, необходимой для пакетного режима.) 2.
Максимизация информативности (шахшнх)пк ш(оппа((оп соптеп(). Как правило, каждый обучающий пример, предоставляемый алгоритму обратного распространения, нужно выбирать из соображений наибольшей информационной насыщенности в области решаемой задачи [617). Для этого суп(ествуют два общих метода. 4.6. Эвристические рекомендации по улучшению работы алюритма... 247 ° Использование примеров, вызывающих наибольшие ошибки обучения. ° Использование примеров, которые радикально отличаются от ранее использованных. Эти два эвристических правила мотивированы желанием максимально расширить область поиска в пространстве весов.
В задачах классификации, основанных на последовательном обучении методом обратного распространения, обычно применяется метод случайного изменения порядка следования примеров, подаваемых на вход многослойного персептрона, от одной эпохи к другой. В идеале такая рандомизация приводит к тому, что успешно обрабатываемые примеры будут принадлежать к различным классам. Более утонченным приемом является стена акцентирования (ешрЬаз1х1пй зсЬегпе), согласно юторой более сложные примеры подаются в систему чаще, чем более легкие [617).
Простота или сложность отдельных примеров выявляется с помощью анализа динамики ошибок (в разрезе итераций), генерируемых системой при обработке обучающих примеров. Однако использование схемы акцентирования приводит к двум проблемам, которые следует учесть. ° Распределение примеров в эпохе, представляемой сети, искажается. ° Наличие исключений или немаркированных примеров может привести к катастрофическим последствиям с точки зрения эффективности алгоритма. Обучение на таких исключениях подвергает риску способность сети к обобщению в наиболее правдоподобных областях пространства входных сигналов. 3.
Функция активации (асйчайоп йшсйоп). Многослойный персептрон, обучаемый по алгоритму обратного распространения, может в принципе обучаться быстрее (в терминах требуемого для обучения количества итераций), если сигмоидальная функция активации нейронов сети является антисимметричной, а не симметричной. Более подробно этот вопрос рассматривается в разделе 4.11. Функция активации у(е) называется антисимметричной (т.е.
четной функцией своего аргумента), если что показано на рис. 4.10, а. Стандартная логистическая функция не удовлетворяет этому условию (рис. 4.10, б). Известным примером антисимметричной функции активации является сигмоидальная нелинейная функция гиперболического тангенса (ЬурегЬойс галйепг) 248 Глава 4. Многослойный персептрон где а и Ь вЂ” константы. Удобными значениями для констант а и Ь являются следующие (617], (618): а = 1,7159, Ь = 2/3.
Определенная таким образом функция гиперболического тангенса имеет ряд полезных свойств. ' ° гр(1) = 1 и гр( — 1) = — 1. ° В начале координат тангенс угла наклона (т.е. эффективный угол) функции активации близок к единице: ф(0) = аЬ = 1, 7159 х 2/3 = 1, 1424. ° Вторая производная ф(с) достигает своего максимального значения при и = 1.
4. Целевые значения (шгйег ча)це). Очень важно, чтобы целевые значения выбирались нз области значений сигмоидальной функции активации. Более точно, желаемый отклик г1,. нейрона 7' выходного слоя многослойного персептрона должен быть смещен на некоторую величину а от границы области значений функции активации в сторону ее внутренней части.
В противном случае алгоритм обратного распространения будет модифицировать свободные параметры сети, устремляя их в бесконечность, замедляя таким образом процесс обучения и доводя скрытые нейроны до предела насыщения. В качестве примера рассмотрим антисимметричную функцию активации, показанную на рис.
4.10, а. Для предельного значения +а выберем г1 =а — е. 1 Аналогично, для предельного значения -а установим г1, = — а+а, где е — соотвегствуюгцая положительная константа. Для выбранного ранее значения а = 1,7159 установим е = О, 7159. В этом случае желаемый отклик г(1 будет находиться в диапазоне от — 1 до +1 (см. рис. 4.10, а). 5.
Нормировка входов (попов!Ыпй бзе 1прпга). Все входные переменные должны быть предварительно обработаны так, чтобы среднее значение по всему обучающему множеству было близко к нулю, иначе их будет сложно сравнивать со стандартным отклонением 1617). Для оценки практической значимости этого правила рассмотрим экстремальный случай, когда все входные переменные положительны. В этом случае синаптические веса нейрона первого скрытого слоя могут либо одновременно увеличиваться, либо одновременно уменьшаться. Следовательно, вектор весов этого нейрона будет менять направление, что приведет к зигзагообразному 4.6. Эвристические рекомендации ло улучшению работы алгоритма... 249 б) Рис. 4.10. Антисимметричная (а) и асимметричная (6) функции активации движению по поверхности ошибки. Такая ситуация обычно замедляет процесс обучения и, таким образом, неприемлема.
260 Глава 4. Многослойный персептрон Смешение среднего Исходное множество лаииых екорревииих Выравнивание ковариаиии х1 Рне. 4.11. Результаты трех щагов нормировки: смещения среднею, декорреляции н выравнивания коварнацнн Чтобы ускорить процесс обучения методом обратного распространения, входные векторы необходимо нормировать в двух следующих аспектах [617). ° Входные переменные, содержащиеся в обучающем множестве, должны быть пекорревированны (цпсогге1атед). Этого можно добиться с помощью анализа главных компонентов, который детально описывается в главе 8.
° Некоррелированные входные переменные должны быть масштабированы так, чтобы их ковариация была приближенно равной (арргохнпате!у ецца!). Тогда различные синаптические веса сети будут обучаться приблизительно с одной скоростью. На рис. 4.11 показан результат трех шагов нормировки: смещения среднего, декорреляции и выравнивания ковариации, примененных в указанном порядке. 4.6. Эвристические рекомендации по улучшению работы алгоритма, .. 261 б. Инициализация (ш111айхаГ(оп). Хороший выбор начальных значений синаптических весов и пороговых значений (г)пезЬо!д) сети может оказать неоценимую помощь в проектировании.
Естественно, возникает вопрос: "А что такое хорошо'!" Если синаптические веса принимают большие начальные значения, то нейроны, скорее всего, достигнут режима насыщения. Если такое случится, то локальные градиенты алгоритма обратного распространения будут принимать малые значения, что, в свою очередь, вызовет торможение процесса обучения.