Добавлен: 28.03.2023
Просмотров: 336
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Нейроны входного слоя служат лишь точками разветвления и не выполняют никаких вычислений. Каждый нейрон входного слоя А соединен отдельным весом с каждым нейроном скрытого слоя B (слоем Кохонена). Например, первый нейрон слоя А соединен с первым нейроном слоя Кохонена весом WA1-B1. Нейроны слоя В суммируют поступающие значения и подают их на выходной слой C. Сигнал передается с одного нейрона слоя Кохонена на один нейрон выходного слоя. Обучение нейронной сети Кохонена - это обучение без учителя.
5. Обучение нейронных сетей
В процессе обучения нейросети происходит настройка весов связей с целью эффективного выполнения сетью определенных задач. Обычно нейронная сеть настраивает веса связей по имеющейся обучающей выборке. Процесс обучения, прежде всего, предполагает наличие модели внешней среды, в которой будет функционировать нейронная сеть. Также, необходимо определить, какие правила обучения будут настраивать весовые параметры сети.
Алгоритмы обучения искусственных нейронных сетей можно разделяются на два класса: обучение «с учителем» и «без учителя». Существует третий вариант обучения - «смешанный». При смешанном обучении часть весов определяется при обучении с учителем, другая часть весов находится с помощью самообучения. Нейросеть нельзя подвергать переобучению, когда излишне точное соответствие нейронной сети конкретному набору обучающих примеров, отнимает у сети способность к обобщению. Также в процессе обучения нейронной сети необходимо проверять, является ли обучение адекватным. Иногда кажется, что сеть успешно проходит обучение, а на самом деле оказывается она обучается совсем не тому, что от нее требовалось создателем. Одним из популярных примеров является случай, когда военными была разработана нейронная сеть, предназначенная для распознавания танков. Обучение проводилось фотографиями, а после обучения обучения провели испытание сети. Оказалось, что нейросеть научилась отличать один фон от другого, но не танки.
5.1 Обучение с учителем
Технология обучения ''с учителем'' искусственной нейронной сети обычно предполагает наличие двух множеств: первое -множество учебных примеров, которое используется для ''настройки'' сети, второе множество контрольных примеров, которое используется для оценки качества работы сети.
Элементами этих множеств есть пары ( X, YI ), где X - вход, для обучаемой нейронной сети, YI - идеальный (желаемый) выход сети для входа X, так же определяется функция ошибки E. Обычно это средняя квадратичная ошибка:
где P - количество обработанных нейронной сетью примеров, yi - реальный выход нейронной сети, di - желаемый (идеальный) выход нейронной сети;
Алгоритм обучения искусственной нейронной сети сводится к процедуре коррекции весов её связей. Целью процедуры коррекции весов является минимизация функции ошибки E.
Схема обучения "с учителем" в общем виде выглядит так :
Весовые коэффициенты нейронной сети устанавливаются некоторым образом, обычно - малыми случайными значениями.
На вход нейронной сети в подаются учебные примеры. Для каждого примера вычисляется ошибка обучения EL и производится коррекция весов с целью минимизации ошибки EL.
Затем происходит проверка правильности работы сети. На вход подаются контрольные примеры. Для каждого примера вычисляется ошибка обобщения EG . Если результат неудовлетворительный то, корректировка весов и повторение цикла обучения шаги 2 и 3.
Если после нескольких итераций алгоритма обучения ошибка обучения EL падает почти до нуля, в то время как ошибка обобщения EG в начале спадает а затем начинает расти, то это признак переобучения сети. В этом случае обучение необходимо прекратить.
Обучение сети методом Розенблатта состоит в подстройке весовых коэффициентов каждого нейрона. Имеется набор пар векторов (x, y), = 1..p, так называемая обучающая выборка. Нейронная сеть считается обученной на данной обучающей выборке, если при подаче на вход сети каждого вектора x на выходах получается соответствующий вектор y
Предложенный Ф.Розенблаттом в 1959году метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку на выходе. Алгоритм включает несколько шагов:
Шаг 0. |
Начальные значения весов всех нейронов W(t=0) полагаются случайными. |
Шаг 1. |
Сети предъявляется входной образ x, в результате формируется выходной образ Y’≠Y |
Шаг 2. |
Вычисляется вектор ошибки δ=(Y’-Y), делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе, и равно нулю если ошибка равна нулю. |
Шаг 3. |
Вектор весов модифицируется формуле: . где - скорость обучения.Здесь модифицируются только компоненты матрицы весов, отвечающие ненулевым значениям входов. Знак приращения веса соответствует знаку ошибки, т.е. положительная ошибка проводит к усилению связи ( > 0, значение выхода меньше требуемого). Обучение каждого нейрона происходит независимо от обучения остальных нейронов, что соответствует важному с биологической точки зрения, принципу локальности обучения. |
Шаг 4. |
Шаги 1-3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох, если вектор весов перестает изменяться, или когда полная просуммированная по всем векторам абсолютная ошибка станет меньше некоторого заранее определенного малого значения. |