Круг П.Г. Моделирование искусственных нейронных сетей (1088802), страница 8
Текст из файла (страница 8)
4. МНОГОСЛОЙНЫЙ ПЕРСЕПТРОН
4.1. Определения
Многослойный персептрон – это полносвязанная полиморфная ИНС, состоящая из двух замечательных слоев: входного и выходного, и как минимум одного внутреннего (скрытого) слоя (рис.4.1).
В полносвязанной ИНС каждый нейрон сети связан синаптической связью со всеми нейронами предыдущего слоя и со всеми нейронами последующего.
Полиморфность ИНС означает, что все нейроны сети одинаковые и имеют одинаковые активационные функции.
4.2. Алгоритм «Обратного распространения» (Backpropagation)
Обучение многослойного персептрона по алгоритму обратного распространения ошибки или, если коротко, алгоритм «Обратного распространения», заключается в распространении сигналов ошибки от выходов ИНС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы.
Согласно методу наименьших квадратов, минимизируемой целевой функцией ошибки ИНС является величина:
Рис. 4.1. Многослойный персептрон
где – реальное выходное состояние нейрона j выходного слоя N нейронной сети при подаче на ее входы p-го образа; djp – идеальное (желаемое) выходное состояние этого нейрона.
Суммирование ведется по всем нейронам выходного слоя и по всем обрабатываемым сетью образам. Минимизация ведется методом градиентного спуска, что означает подстройку весовых коэффициентов следующим образом:
Здесь wij – весовой коэффициент синаптической связи, соединяющей i-ый нейрон слоя n-1 с j-ым нейроном слоя n, – коэффициент скорости обучения, 0<<1.
В то же время:
Здесь под yj, как и раньше, подразумевается выход нейрона j, а под sj – взвешенная сумма его входных сигналов, то есть аргумент активационной функции. Так как множитель dyj/dsj является производной этой функции по ее аргументу, из этого следует, что производная активационной функция должна быть определена на всей оси абсцисс. В связи с этим функция единичного скачка и прочие активационные функции с неоднородностями не подходят для рассматриваемых ИНС. В них применяются такие гладкие функции, как гиперболический тангенс или классический сигмоид с экспонентой. В случае гиперболического тангенса
Третий множитель sj/wij, очевидно, равен выходу нейрона предыдущего слоя yi(n-1).
Что касается первого множителя в (4.3), он легко раскладывается следующим образом:
Здесь суммирование по k выполняется среди нейронов слоя n+1.
Введя новую переменную
мы получим рекурсивную формулу для расчетов величин j(n) слоя n из величин k(n+1) более старшего слоя n+1.
Для выходного же слоя
Теперь мы можем записать (4.2) в раскрытом виде:
Иногда для придания процессу коррекции весов некоторой инерционности, сглаживающей резкие скачки при перемещении по поверхности целевой функции, (4.9) дополняется значением изменения веса на предыдущей итерации
где – коэффициент инерционности, t – номер текущей итерации.
Таким образом, полный алгоритм обучения ИНС с помощью процедуры обратного распространения строится так:
1. Подать на входы сети один из возможных образов и в режиме обычного функционирования ИНС, когда сигналы распространяются от входов к выходам, рассчитать значения последних. Напомним, что
где M – число нейронов в слое n-1 с учетом нейрона с постоянным выходным состоянием +1, задающего смещение; yi(n-1)=xij(n) – i-ый вход нейрона j слоя n.
yj(n) = f(sj(n)), где f() – сигмоид (4.12)
yq(0)=Iq, (4.13)
где Iq – q-ая компонента вектора входного образа.
2. Рассчитать (N) для выходного слоя по формуле (4.8). Рассчитать по формуле (4.9) или (4.10) изменения весов w(N) слоя N.
3. Рассчитать по формулам (4.7) и (4.9) (или (4.7) и (4.10)) соответственно (n) и w(n) для всех остальных слоев, n=N-1,...1.
4. Скорректировать все веса в ИНС
5. Если ошибка сети существенна, перейти на шаг 1. В противном случае – завершение обучения.
Сети на шаге 1 попеременно в случайном порядке предъявляются все тренировочные образы, чтобы сеть, образно говоря, не забывала одни по мере запоминания других. Алгоритм представлен на рис.4.2.
Из выражения (4.9) следует, что когда выходное значение yi(n-1) стремится к нулю, эффективность обучения заметно снижается.
При двоичных входных векторах в среднем половина весовых коэффициентов не будет корректироваться, поэтому область возможных значений выходов нейронов [0,1] желательно сдвинуть в пределы [-0.5,+0.5], что достигается простыми модификациями логистических функций. Например, сигмоид с экспонентой преобразуется к виду
Теперь коснемся вопроса емкости ИНС, то есть числа образов, предъявляемых на ее входы, которые она способна научиться распознавать.
Рис. 4.2. Диаграмма сигналов в ИНС при обучении по алгоритму «Обратного распространения»
Для сетей с числом слоев больше двух, он остается открытым. Для ИНС с двумя слоями, то есть выходным и одним скрытым слоем, детерминистская емкость сети Cd оценивается так:
Nw/Ny<Cd<Nw/Nylog(Nw/Ny) (4.16)
где Nw – число подстраиваемых весов, Ny – число нейронов в выходном слое.
Следует отметить, что данное выражение получено с учетом некоторых ограничений. Во-первых, число входов Nx и нейронов в скрытом слое Nh должно удовлетворять неравенству Nx+Nh>Ny. Во-вторых, Nw/Ny>1000. Однако, вышеприведенная оценка выполнялась для сетей с активационными функциями нейронов в виде порога, а емкость сетей с гладкими активационными функциями, например – (4.15), обычно больше. Кроме того, фигурирующее в названии емкости прилагательное «детерминистский» означает, что полученная оценка емкости подходит абсолютно для всех возможных входных образов, которые могут быть представлены Nx входами. В действительности, распределение входных образов, как правило, обладает некоторой регулярностью, что позволяет ИНС проводить обобщение и, таким образом, увеличивать реальную емкость. Так как распределение образов, в общем случае, заранее не известно. Мы можем говорить о такой емкости только предположительно, но обычно она раза в два превышает емкость детерминистскую.
В продолжение разговора о емкости ИНС логично затронуть вопрос о требуемой мощности выходного слоя сети, выполняющего окончательную классификацию образов. Дело в том, что для разделения множества входных образов, например, по двум классам достаточно всего одного выхода. При этом каждый логический уровень – «1» и «0» – будет обозначать отдельный класс. На двух выходах можно закодировать уже 4 класса и так далее. Однако результаты работы сети, организованной таким образом, можно сказать – «под завязку» – не очень надежны. Для повышения достоверности классификации, желательно, ввести избыточность путем выделения каждому классу одного нейрона в выходном слое или, что еще лучше, нескольких. Каждый из которых обучается определять принадлежность образа к классу со своей степенью достоверности, например: высокой, средней и низкой. Такие ИНС позволяют проводить классификацию входных образов, объединенных в нечеткие (размытые или пересекающиеся) множества. Это свойство приближает подобные ИНС к условиям реальной жизни.
Рассматриваемая ИНС имеет несколько «узких мест». Во-первых, в процессе обучения может возникнуть ситуация, когда большие положительные или отрицательные значения весовых коэффициентов сместят рабочую точку на сигмоидах многих нейронов в область насыщения. Малые величины производной от логистической функции приведут в соответствие с (4.7) и (4.8) к остановке обучения, что парализует ИНС. Во-вторых, применение метода градиентного спуска не гарантирует, что будет найден глобальный, а не локальный минимум целевой функции. Эта проблема связана еще с одной, а именно – с выбором скорости обучения. Доказательство сходимости обучения в процессе обратного распространения основано на производных, то есть приращения весов и, следовательно, скорость обучения должны быть бесконечно малыми, однако, в этом случае обучение будет происходить неприемлемо медленно. С другой стороны, слишком большие коррекции весов могут привести к постоянной неустойчивости процесса обучения. Поэтому в качестве обычно выбирается число меньше 1, но не очень маленькое, например, 0.1, и оно, вообще говоря, может постепенно уменьшаться в процессе обучения. Кроме того, для исключения случайных попаданий в локальные минимумы иногда, после того как значения весовых коэффициентов застабилизируются, кратковременно сильно увеличивают, чтобы начать градиентный спуск из новой точки. Если повторение этой процедуры несколько раз приведет алгоритм в одно и то же состояние ИНС, можно более или менее уверенно сказать, что найден глобальный максимум, а не локальный.
5.3. Требования к обучающим выборкам
При формировании представительских или обучающих пар (выборок) необходимо руководствоваться рядом общепринятых принципов, соблюдение которых позволяет повышать качество обучения и, как следствие, обеспечивать достоверность и надежность работы ИНС на этапе эксплуатации системы.