Самообучение нейронной сети
Главная черта, делающая обучение без учителя привлекательным, это его самостоятельность. Процесс обучения, как и в случае обучения с учителем, заключается в подстраивании весов синапсов. Очевидно, что подстройка весов синапсов может проводиться только на основании информации о состоянии нейронов и уже имеющихся весовых коэффициентов. На этом, в частности, по аналогии с известными принципами самоорганизации нервных клеток, построены алгоритмы обучения Хебба.
Метод обучения Хебба заключается в изменении весов по следующему правилу:
(13)
где – выходное значение i-го нейрона (q-1)-го слоя, – выходное значение j-гонейрона q-го слоя, и - весовой коэффициент соединяющего эти нейроны, на итерациях t и (t-1) соответственно; a - коэффициент скорости обучения.
При обучении по данному методу усиливаются связи между возбужденными нейронами. Существует также и дифференциальный метод обучения Хебба, определяемый соотношением:
. (14)
Здесь и - выходное значение нейрона i-го слоя (q-1) соответственно на итерациях t и (t-1), и – то же самое для нейрона у слоя q. Как видно из формулы (2.17), более интенсивно обучаются синапсы, соединяющие нейроны, выходы которых наиболее динамично изменились в сторону увеличения.
Полный алгоритм обучения с применением вышеприведенных формул будет выглядеть следующим образом:
Шаг 1. На стадии инициализации всем весовым коэффициентам присваиваются небольшие случайные значения.
Шаг 2. На входы сети подается входной образ, и сигналы возбуждения распространяются по всем слоям. При этом для каждого нейрона рассчитывается взвешенная сумма его входов, к которой затем применяется активационная функция нейрона, в результате чего получается его выходное значение.
Шаг 3. На основании полученных выходных значений нейронов по формуле (2.17) или (2.16) проводится изменение весовых коэффициентов.
Шаг 4. Цикл с шага 2, пока выходные значения сети не стабилизируются с заданной точностью. Применение этого способа определения момента завершения обучения, отличного от использовавшегося для сети обратного распространения, обусловлено тем, что подстраиваемые значения синапсов фактически не ограничены. На шаге 2 цикла попеременно предъявляются все образы из входного набора.
Следует отметить, что вид откликов на каждый класс входных образов заранее неизвестен и представляет собой произвольное сочетание состояний нейронов выходного слоя, обусловленное случайным распределением весов на стадии инициализации. Вместе с тем, сеть способна обобщать схожие образы, относя их к одному классу. Тестирование обученной сети позволяет определить топологию классов в выходном слое. Для приведения откликов обученной сети к удобному представлению можно дополнить сеть одним слоем, который, например, по алгоритму обучения однослойного персептрона необходимо заставить отображать выходные реакции сети в требуемые образы.
Другой алгоритм обучения без учителя – алгоритм Кохонена [166] – предусматривает подстройку синапсов на основании их значений на предыдущей итерации:
. (15)
Из выражения (15) видно, что обучение сводится к минимизации разницы между входными сигналами нейрона, поступающими с выходов нейронов предыдущего слоя и весовыми коэффициентами его синапсов.
Полный алгоритм обучения имеет примерно такую же структуру, как в методах Хебба, но на шаге 3 из всего слоя выбирается нейрон, значения синапсов которого максимально походят на входной образ, и подстройка весов по формуле (15) проводится только для него. Эта, так называемая, аккредитация может сопровождаться торможением всех остальных нейронов слоя и введением выбранного нейрона в насыщение. Выбор такого нейрона может осуществляться, например, расчетом скалярного произведения вектора весовых коэффициентов с вектором входных значений. Максимальное произведение дает выигравший нейрон.
Другой вариант состоит в расчете расстояния между этими векторами в R-мерном пространстве:
. (16)
где R - размерность векторов; j - индекс нейрона в слое q; i – индекс суммирования по нейронам слоя (q-1); wij – вес синапса.
В данном случае, побеждает нейрон с наименьшим расстоянием. Иногда слишком часто получающие аккредитацию нейроны принудительно исключаются из рассмотрения, чтобы уравнять права всех нейронов слоя. Простейший вариант такого алгоритма заключается в торможении только что выигравшего нейрона.
После выбора из слоя q нейрона j с минимальным расстоянием Dj по формуле (16) производится обучение по формуле (16) не только этого нейрона, но и его соседей, расположенных в некоторой окрестности. Величина окрестности для первых итераций очень большая, так что обучаются все нейроны. Но с течением времени она уменьшается до нуля. Таким образом, чем ближе окончание обучения, тем точнее определяется группа нейронов, отвечающих каждому классу образов.
На основе рассмотренного выше метода строятся самоорганизующиеся нейронные сети.
ЗАКЛЮЧЕНИЕ
В ходе лекции были рассмотрены этапы решения задач в нейросетевом логическом базисе, а также основные алгоритмы обучения нейронных сетей.