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

Для обучения сети Эльмана будем использовать градиентный метод наискорейшего спуска.

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

(6.26)

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

(6.27)

Связи между скрытым и выходным слоем однонаправленные, поэтому:

(6.28)

С учетом этого факта получим:

(6.29)

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

, (6.30)

где (6.31)

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

(6.32)

(6.33)

где - дельта Кронекера, то есть:

.

Из определения входного вектора (формула (6.21)) в момент времени следует выражение (6.34):

. (6.34)

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

. (6.35)

Таким образом, алгоритм обучения сети Эльмана можно представить в следующем виде:

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

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

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

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

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

· для нейронов выходного слоя сети по формуле
(6.36)

· для нейронов скрытого слоя сети по формуле
(6.37)

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

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

, (6.38)

где - коэффициент момента, выбираемый из интервала (0, 1). Первое слагаемое этого выражения соответствует обычному методу обучения, второе – учитывает фактор момента, отражающий последнее изменение весов и не зависящий от фактического значения градиента. Чем больше величина , тем большее влияние на подбор весов оказывает слагаемое момента. Его значение существенно возрастает на плоских участках целевой функции и около локального минимума, где значение градиента близко к нулю.

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



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: