Главная > Нейронные сети для обработки информации
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

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

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

8.3.2. Алгоритм обучения сети Эльмана

Для обучения сети Эльмана будем использовать градиентный метод наискорейшего спуска, основанный на работах Р. Вильямса и Д. Зипсера [171]. Для этого метода необходимо задать формулы, позволяющие рассчитывать градиент целевой функции в текущий момент времени. Целевая функция в момент определяется как сумма квадратов разностей между значениями выходных сигналов сети и их ожидаемыми значениями для всех М выходных нейронов:

При дифференцировании целевой функции относительно весов выходного слоя получаем:

С учетом выражений (8.23) и (8.24) зависимость (8.26) можно представить в виде

Связи между скрытым и выходным слоем однонаправленные (см. рис. 8.9), поэтому . С учетом этого факта

При использовании метода наискорейшего спуска веса уточняются по формуле где

Простое сравнение с персептронной сетью показывает, что веса выходного слоя сети Эльмана подвергаются точно такой же адаптации, как и веса выходных нейронов персептрона.

Формулы уточнения весов скрытого слоя сети Эльмана более сложны из-за наличия обратных связей между скрытым и контекстным слоями. Расчет компонентов вектора градиента целевой функции относительно весов скрытого слоя требует выполнения значительно большего количества математических операций.

В частности,

С учетом зависимости (8.22) получаем:

Из определения входного вектора (формула (8.20)) в момент следует, что

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

1. Начать обучение с присвоения весам случайных начальных значений, имеющих, как правило, равномерное распределение в определенном интервале (например, между -1 и 1).

2. Для очередного момента определить состояние всех нейронов сети (сигналы и ). На этой основе можно сформировать входной вектор для произвольного момента

3. Определить вектор погрешности обучения для нейронов выходного слоя как разность между фактическим и ожидаемыми значениями сигналов выходных нейронов.

4. Сформировать вектор градиента целевой функции относительно весов выходного и скрытого слоя с использованием формул (8.28), (8.30) и (8.32).

5. Уточнить значения весов сети согласно правилам метода наискорейшего спуска:

• для нейронов выходного слоя сети

• для нейронов скрытого слоя сети

После уточнения значений весов вернуться к пункту 2 алгоритма для расчетов в очередной момент

Для упрощения вычислений при выводе формул (8.33) и (8.34) была предложена онлайн-версия алгоритма обучения, согласно которой значения весов уточнялись после предъявления каждой обучающей пары Обычный офф-лайн-алгоритм несколько более эффективен, поскольку при его выполнении значения весов уточняются только после предъявления всех обучающих пар. Реализация такой версии алгоритма аналогична рассмотренной выше с той разницей, что в ней суммируются компоненты градиента последовательно предъявляемых обучающих пар, а процесс изменения весов выполняется каждом цикле только один раз.

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

Categories

1
Оглавление
email@scask.ru