Круглов В.В., Борисов В.В. - Искусственные нейронные сети (ИНС) Теория и практика (778918), страница 7
Текст из файла (страница 7)
1.4.2. Обучение без учителя Рассмотренный алгоритм обратного распространения ошибки подразумевает наличие некоего внешнего звена, предоставляющего нейронной сети, кроме входных, целевые выходные образы. Алгоритмы, основанные на подобной концепции, называются алгоритмами обучения с учителем.
Для их успешного функционирования необходимо наличие экспертов, задающих на предварительном этапе для каждого входного образа эталонный выходной. Так как создание интеллектуальных систем базируется, во многом, на биологических прототипах, до сих пор не прекращается спор о том, можно ли считать алгоритмы обучения с учителем натуральными или же они полностью искусственны. Например, обучение человеческого мозга, на первый взгляд, происходит без учителя: на зрительные, слуховые, тактильные и прочие рецепторы поступает информация извне, и внутри нервной системы происходит некая самоорганизация.
Однако, нельзя отрицать и того, что в жизни человека немало учителей (и в буквальном, и в переносном смысле), которые координируют внешние воздействия. Вместе в тем, чем бы ни закончился спор приверженцев этих концепций обучения, они обе имеют право на существование. Главная черта, делающая обучение без учителя привлекательным, это его самостоятельность. Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов.
Некоторые алгоритмы, правда, изменяют и структуру сети, т. е. количество нейронов и их взаимосвязи, но такие преобразования правильнее назвать более широким термином — самоорганизациеи. Очевидно, что подстройка весов синапсов может проводиться только на основании информации о состоянии нейронов и уже имеющихся весовых коэффициентов). На этом, в част- 34 ности, по аналогии с известными принципами самоорганизации нервных клеток, построены алгоритмы обучения Хебба. Сигнальный метод обучения Хебба заключается в изменении весов по следующему правилу. в, (Е) = иг, (Š— 1) + а у(Я ">у~к> (1 25) где у~" ' — выходное значение нейрона Е слоя (е)-1), у'" — выходное значение нейрона Е слоя ЕЕ; вг(Е) и игк(Е-1) — весовой коэффициент синапса, соединяющего эти нейроны, на итерациях Е и (Е-1) соответственно; а — коэффициент скорости обучения.
Здесь и далее, для общности, под е) подРазумевается произвольный слой сети. При обучении по данному методу усиливаются связи между возбужденными нейронами. Существует также и дифференциальный метод обучения Хебба, определяемый соотношением: вг(Е) = кк„(Š— 1) + а '(уы «(Е) — у~е Л(Š— 1)) '(у~е~(Е) — уЕ~~(Š— 1)).(1.26) Здесь у," "(Е) и у," "(Š— 1) — выходное значение нейрона Е слоя (ЕЕ-1) соответственно на итерациях Е и (Š— 1); у,'~'(Е) и у,'"'(Е-1) — то же самое для нейрона Е слоя е). Как видно из формулы (1.26), более интенсивно обучаются синапсы, соединяющие нейроны, выходы которых наиболее динамично изменились в сторону увеличения Полный алгоритм обучения с применением вышеприведенных формул будет выглядеть следующим образом.
ШАГ 1. На стадии инициализации всем весовым коэффициентам лрисваиваются небольшие случайные значения. ШАГ 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям согласно принципам классических сетей прямого распространения (Ееее((огттаге(). При этом для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная функция нейрона, в результате чего получается его выходное значение у,'", Е = 1...(, где Е, — число нейронов в слое е), ЕЕ = 1...Я, Я вЂ” число слоев в сети ШАГ 3 На основании полученных выходных значений нейронов по формуле (1.25) или (1 26) проводится изменение весовых коэффициентов.
ШАГ 4. Цикл с шага 2, пока выходные значения сети не стабилизируются с заданной точностью. Применение этого способа определения момента завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что лодстраиваемые значения синапсов фактически не огра- 35 ничены. На шаге 2 цикла попеременно предъявляются все образы из входного набора. Следует отметить, что вид откликов на каждый класс входных образов заранее неизвестен и представляет собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое.
Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного персептрона необходимо заставить отображать выходные реакции сети в требуемые образы. Другой алгоритм обучения без учителя — алгоритм Коконе на — предусматривает подстройку синапсов на основании их значений на предыдущей итерации: Игк(Г) = В, (à — 1) ч-а (уш и — Иг, (à — 1)). (1.27) Из выражения (1.27) видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя у,'~ ', и весовыми коэффициентами его синапсов.
Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (1.27) проводится только для него Эта, так называемая, аккредитация может сопровождаться торможением всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений.
Максимальное произведение дает выигравший нейрон Другой вариант состоит в расчете расстояния между этими векторами в Я-мерном пространстве: О,= Х(ум-я- „)' (1. 28) ~=1 где Я вЂ” размерность векторов; 7' — индекс нейрона в слое г); г' — индекс суммирования по нейронам слоя (г) — 1); игк — вес синапса, соединяющего нейроны; выходы нейронов слоя (г) — 1) являются входными значениями для слоя г).
В данном случае, побеждает нейрон с наименьшим расстоянием. Иногда слишком часто получающие аккредитацию нейроны принудительно исключаются из рассмотрения, чтобы уравнять права всех нейронов слоя. Простейший вариант такого алгоритма заключается в торможении только что выигравшего нейрона.
С целью сокращения длительности процесса обучения при использовании алгоритма Кохонена существует практика нормализации входных образов и начальных значений весовых коэффициентов на стадии инициализации в соответствии с выражениями. .,=., И.; (1.29) $ =! гко 1 (1.30) /и где х, — ~'-й компонент вектора входного образа или вектора весовых коэффициентов, а л — его размерность.
Инициализация весовых коэффициентов случайными значениями может привести к тому, что различные классы, которым соответствуют плотно распределенные входные образы, сольются или, наоборот, раздробятся на дополнительные подклассы в случае близких образов одного и того же класса Для избежания такой ситуации используется метод выпуклой комбинации. Суть его сводится к тому, что входные нормализованные образы подвергаются преобразованию х, = а(Г) х, + (1 — а(Г)) —, 1 (1. 31) ~/и ' где а(г) — коэффициент, изменяющийся в процессе обучения от нуля до единицы, в результате чего вначале на входы сети подаются практически одинаковые образы, а с течением времени они все больше сходятся к исходным.
После выбора из слоя р нейрона 7' с минимальным расстоянием О, по формуле (1.28) производится обучение по формуле (1.27) не только этого нейрона, но и его соседей, расположенных в окрестности Г2 Величина Г7 для первых итераций очень большая, так что обучаются все нейроны, но с течением времени она уменьшается до нуля. Таким образом, чем ближе окончание обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов. На основе рассмотренного выше метода строятся самоорганизующиеся нейронные сети (эе)(-огйап(з(пц (еа(ше гпарэ). Этот устоявшийся перевод с английского представляется не вполне удачным, так как речь идет не об изменении структуры сети, а только о подстройке синапсов нейронов.
37 1.6. Настройка числа нейронов в скрытых слоях многослойных нейронных сетей в процессе обучения Для того, чтобы многослойная нейронная сеть реализовывала заданное обучающей выборкой отображение, она должна иметь достаточное число нейронов в скрытых слоях В настоящее время нет формул для точного определения необходимого числа нейронов в сети по заданной обучающей выборке. Однако предложены способы настройки числа нейронов в процессе обучения, которые обеспечивают построение нейронной сети для решения задачи и дают возможность избежать избыточности. Эти способы настройки можно разделить на две группы алгоритмы сокращения (ргип~пй а!допйттв) и конструктивные алгоритмы (сопв1гис1Ье а)яоп1йгпв) 1.6.1.
Алгоритмы сокращения В начале работы алгоритма обучения с сокращением число нейронов в скрытых слоях сети заведомо избыточно. Затем из нейронной сети постепенно удаляются синапсы и нейроны. Существуют два подхода к реализации алгоритмов сокращения. 1) Метод шп1рафных функций. В целевую функцию алгоритма обучения вводится штрафы за то, что значения синаптических весов отличны от нуля, например. о С = Х Хи/2, (1. 32) с-чм где ик — синаптический вес, ) — номер нейрона, /- номер входа; )— число нейронов скрытого слоя, и — размерность входного сигнала 2) Метод проекций.
Синаптический вес обнуляется, если его значение попало в заданный диапазон. О, <вк<як, игк, !Игк! е, к ~ ~ ~ ! ~ ! | ! |~< (1 33) 38 где к — некоторая константа, Алгоритмы сокращения имеют, по крайней мере, два недостатка: ° нет методики определения числа нейронов скрытых слоев, которое является избыточным, поэтому перед началом работы алгоритма нужно угадать это число; ° в процессе работы алгоритма сеть содержит избыточное число нейронов, поэтому обучение идет медленно 1.5.2. Конструктивные алгоритмы Предшественником конструктивных алгоритмов можно считать методику обучения многослойных нейронных сетей, включающую в себя следующие шаги: ШАГ 1. Выбор начального числа нейронов в скрытых слоях. ШАГ 2 Инициализация сети, заключающаяся в присваивании синаптическим весам и смещениям сети случайных значений из заданного диапазона.