"Искусственные нейронные сети. Теория и практика." - читать интересную книгу автора (Круглов В.В., Борисов В.В.)Задачи глобальной оптимизации решаются с помощью перебора значений переменных, от которых зависит целевая функция.
Для сравнения методов обучения нейронных сетей необходимо использовать два критерия: • количество шагов алгоритма для получения решения; • количество дополнительных переменных для организации вычислительного процесса. Для иллюстрации термина «дополнительные переменные» приведем следующий пример. Пусть pi и р2 - некоторые параметры нейронной сети с заданными значениями. В процессе обучения сети на каждом шаге, по меньшей мере, два раза потребуется выполнить умножение рф2- Дополнительная переменная требуется для сохранения значение произведения после первого умножения. Предпочтение следует отдавать тем методам, которые позволяют обучить нейронную сеть за небольшое число шагов и требуют малого числа дополнительных переменных. Это связано с ограничением ресурсов вычислительных средств. Как правило, для обучения используются персональные компьютеры. Пусть нейронная сеть содержит Р изменяемых параметров (синаптических весов и смещений). Существует лишь две группы алгоритмов обучения, которые требуют менее 2Р дополнительных параметров и при этом дают возможность обучать нейронные сети за приемлемое число шагов. Это алгоритмы с вычислением частных производных первого порядка и, возможно, одномерной оптимизации. Именно эти алгоритмы и будут рассмотрены в следующих разделах. Хотя указанные алгоритмы дают возможность находить только локальные экстремумы, они могут быть использованы на практике для обучения нейронных сетей с многоэкстремальными целевыми функциями (функциями ошибки), так как экстремумов у целевой функции, как правило, не очень много. Достаточно лишь раз или два вывести сеть из локального минимума с большим значением целевой функции для того, чтобы в результате итераций в соответствии с алгоритмом локальной оптимизации сеть оказалась в локальном минимуме со значением целевой функции, близким к нулю Если после нескольких попыток вывести сеть из локального минимума нужного эффекта добиться не удается, необходимо увеличить число нейронов во всех слоях с первого по предпослед- 25 ний и присвоить случайным образом их синаптическим весам и смещениям значения из заданного диапазона Эксперименты по обучению нейронных сетей показали, что совместное использование алгоритма локальной оптимизации процедуры вывода сети из локального минимума и процедуры увеличения числа нейронов приводит к успешному обучению нейронных сетей Кратко опишем недостатки других методов Стохастические алгоритмы требуют очень большого числа шагов обучения Это делает невозможным их практическое использование для обучения нейронных сетей больших размерностей Экспоненциальный рост сложности перебора с ростом размерности задачи в алгоритмах глобальной оптимизации при отсутствии априорной информации о характере целевой функции также делает невозможным их использование для обучения нейронных сетей больших размерностей Метод сопряженных градиентов очень чувствителен к точности вычислений, особенно при решении задач оптимизации большой размерности Для методов, учитывающих направление антиградиента на нескольких шагах алгоритма, и методов, включающих вычисление матрицы Гессе, необходимо более чем 2Р дополнительных переменных В зависимости от способа разрежения, вычисление матрицы Гессе требует от 2Р до Р2 дополнительных переменных Рассмотрим один из самых распространенных алгоритмов обучения - алгоритм обратного распространения ошибки 1.4.1. Обучение с учителем. Алгоритм обратного распространения ошибки В многослойных нейронных сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, неизвестны Трех- или более слойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах сети Один из вариантов решения этой проблемы - разработка наборов выходных сигналов, соответствующих входным, для каждого слоя нейронной сети, что, конечно, является очень трудоемкой операцией и не всегда осуществимо Второй вариант - динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети Очевидно, что данный метод, несмотря на ка- 26 жущуюся простоту, требует громоздких рутинных вычислений И, наконец, третий, более приемлемый вариант - распространение сигналов ошибки от выходов нейронной сети к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы Этот алгоритм обучения получил название процедуры обратного распространения ошибки (error back propagation) Именно он рассматривается ниже Алгоритм обратного распространения ошибки - это итеративный градиентный алгоритм обучения, который используется с целью минимизации среднеквадратичного отклонения текущих от требуемых выходов многослойных нейронных сетей с последовательными связями Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки нейронной сети является величина E(w) = ll(y{JQ}-djk)2, (19) 2Jk где yffi - реальное выходное состояние нейрона; выходного слоя нейронной сети при подаче на ее входы /с-го образа, djk- требуемое выходное состояние этого нейрона Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам Минимизация методом градиентного спуска обеспечивает подстройку весовых коэффициентов следующим образом OWij где w,j - весовой коэффициент синаптической связи, соединяющей /-й нейрон слоя (д-1) с;-м нейроном слоя q, tj- коэффициент скорости обучения, 0 < tj <1 В соответствии с правилом дифференцирования сложной функции сЕ сЕ dyj As -------=-----------1-------L-i (111) dWy дуj dSj дМу где Sj - взвешенная сумма входных сигналов нейрона ;, т е аргумент активационной функции Так как производная активационной функции должна быть определена на всей оси абсцисс, то функция единичного скачка и прочие активационные функции с неодно-родностями не подходят для рассматриваемых нейронных сетей В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой (см табл 1 1) Например, в случае гиперболического тангенса 27 -^ = 1-s2. (1.12) ds Третий множитель ds/dw,j равен выходу нейрона предыдущего слоя у,("1). Что касается первого множителя в (1.11), он легко раскладывается следующим образом: ?Ё- = Ъ—^^-=Ъ—^п{ч*) (113) <гуу г дуг dsr sW=JE.^Lt (1.14) получим рекурсивную формулу для расчетов величин ' jr sw z dSj (1 15) Для выходного слоя: |
|
© 2026 Библиотека RealLib.org
(support [a t] reallib.org) |