Так как для каждого нейрона выходного слоя задано целевое значение, то подстройка весов легко осуществляется с использованием модифицированного дельта-правила (δ-разность между целевым и реальным выходом). Внутренние слои назовем “скрытыми слоями”. Для их выходов не имеется целевых значений для сравнения. Поэтому обучение усложняется.
На рис. 15 показан процесс обучения для одного веса от нейрона р в скрытом слое j к нейрону q в выходном слое k.
Рис.15. Настройка веса в выходном слое.
Выход нейрона слоя k, вычитаясь из целевого значения (T), дает сигнал ошибки. Он умножается на производную сжимающей функции [OUT*(1-OUT)], вычисленную для этого нейрона слоя k, давая, таким образом, величину δqk.
δqk = OUT*(1-OUT)*(T-OUT). (13)
Затем δqk умножается на величину OUT нейрона j, из которого выходит рассматриваемый вес. Это произведение, в свою очередь, умножается на коэффициент скорости обучения η (обычно от 0.01 до 1), и результат прибавляется к весу. Такая же процедура выполняется для веса от нейрона скрытого слоя к нейрону в выходном слое.
|
|
Следующие уравнения иллюстрируют это вычисление:
Δwpq,k= η δqk OUTp,j, (14)
wpq,k(n+1)= wpq,k(n)+ Δwpq,k, (15)
где wpq,k(n) - величина веса от нейрона р в скрытом слое к нейрону q в выходном слое на шаге (до коррекции);
wpq,k(n+1) - величина веса на шаге n+1 (после коррекции);
Δwpq,- величина Δw для q в выходном слое k;
OUTp,j - величина OUT для нейрона p в скрытом слое j.