Самообучение нейронной сети

Главная черта, делающая обучение без учителя привлека­тельным, это его самостоятельность. Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов. Очевидно, что подстройка весов синапсов может проводиться только на основании информации о состоянии нейро­нов и уже имеющихся весовых коэффициентов. На этом, в част­ности, по аналогии с известными принципами самоорганизации нервных клеток, построены алгоритмы обучения Хебба.

Метод обучения Хебба заключается в изменении весов по следующему правилу:

самообучение нейронной сети - student2.ru (13)

где самообучение нейронной сети - student2.ru – выходное значение i-го нейрона (q-1)-го слоя, самообучение нейронной сети - student2.ru – выходное значение j-гонейрона q-го слоя, самообучение нейронной сети - student2.ru и самообучение нейронной сети - student2.ru - весовой коэффициент соединяющего эти нейроны, на итерациях t и (t-1) соот­ветственно; a - коэффициент скорости обучения.

При обучении по данному методу усиливаются связи между возбужденными нейронами. Существует также и дифференциальный метод обучения Хебба, определяемый соотношением:

самообучение нейронной сети - student2.ru . (14)

Здесь самообучение нейронной сети - student2.ru и самообучение нейронной сети - student2.ru - выходное значение нейрона i-го слоя (q-1) соответственно на итерациях t и (t-1), самообучение нейронной сети - student2.ru и самообучение нейронной сети - student2.ru – то же самое для нейрона у слоя q. Как видно из формулы (2.17), более интенсивно обучаются синапсы, соединяющие нейроны, выходы которых наиболее динамично изменились в сторону увеличения.

Полный алгоритм обучения с применением вышеприведен­ных формул будет выглядеть следующим образом:

Шаг 1. На стадии инициализации всем весовым коэффици­ентам присваиваются небольшие случайные значения.

Шаг 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям. При этом для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная функция нейрона, в результате чего получается его выходное значение.

Шаг 3. На основании полученных выходных значений ней­ронов по формуле (2.17) или (2.16) проводится изменение весовых коэффициентов.

Шаг 4. Цикл с шага 2, пока выходные значения сети не ста­билизируются с заданной точностью. Применение этого способа определения момента завершения обучения, отличного от исполь­зовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На шаге 2 цикла попеременно предъявляются все образы из входного набора.

Следует отметить, что вид откликов на каждый класс вход­ных образов заранее неизвестен и представляет собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет опреде­лить топологию классов в выходном слое. Для приведения откли­ков обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного персептрона необходимо заставить отображать вы­ходные реакции сети в требуемые образы.

Другой алгоритм обучения без учителя – алгоритм Кохонена [166] – предусматривает подстройку синапсов на основании их значений на предыдущей итерации:

самообучение нейронной сети - student2.ru . (15)

Из выражения (15) видно, что обучение сводится к мини­мизации разницы между входными сигналами нейрона, поступаю­щими с выходов нейронов предыдущего слоя самообучение нейронной сети - student2.ru и весовыми коэффициентами его синапсов.

Полный алгоритм обучения имеет примерно такую же струк­туру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (15) проводится только для него. Эта, так называемая, аккредитация может сопро­вождаться торможением всех остальных нейронов слоя и введе­нием выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произве­дения вектора весовых коэффициентов с вектором входных зна­чений. Максимальное произведение дает выигравший нейрон.

Другой вариант состоит в расчете расстояния между этими векторами в R-мерном пространстве:

самообучение нейронной сети - student2.ru . (16)

где R - размерность векторов; j - индекс нейрона в слое q; i – ин­декс суммирования по нейронам слоя (q-1); wij – вес синапса.

В данном случае, побеждает нейрон с наименьшим расстоя­нием. Иногда слишком часто получающие аккредитацию нейроны принудительно исключаются из рассмотрения, чтобы уравнять права всех нейронов слоя. Простейший вариант такого алгоритма заключается в торможении только что выигравшего нейрона.

После выбора из слоя q нейрона j с минимальным расстоя­нием Dj по формуле (16) производится обучение по формуле (16) не только этого нейрона, но и его соседей, расположенных в некоторой окрестности. Величина окрестности для первых итераций очень большая, так что обучаются все нейроны. Но с течением времени она уменьшается до нуля. Таким образом, чем ближе окончание обу­чения, тем точнее определяется группа нейронов, отвечающих ка­ждому классу образов.

На основе рассмотренного выше метода строятся самоорга­низующиеся нейронные сети.

ЗАКЛЮЧЕНИЕ

В ходе лекции были рассмотрены этапы решения задач в нейросетевом логическом базисе, а также основные алгоритмы обучения нейронных сетей.

Наши рекомендации