Добавил:
okley
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ML - Коротков (2 сем, мага) / Lecture_6
.pdf
Проследим за обратным распространением одной из ошибок.
2
212
слой
слой
слой
Вы видите, что после распределения ошибки 0,5 на втором узле
выходного слоя между двумя связями с весами 1,0 и 4,0 мы
получаем доли, равные 0,1 и 0,4 соответственно. Также можно
видеть, что объединенная ошибка на втором узле скрытого слоя
представляет собой сумму распределенных ошибок, в данном
случае равных 0,48 и 0,4, сложение которых дает 0,88.
На следующей диаграмме демонстрируется применение той же
методики к слою, который предшествует скрытому.
е1=0,362
е1=0,42
е1=0,8
0,252
1
w11=3,0
0,168
0,11
входы
w12=1,0
w21=2,0
w22=7,0
выходы
е2=0,938
0,4
е2=0,5
е2=0,88

Описание обратного распространения ошибок с помощью
2
212
слой
слой
слой
w
11
w
11
+ w
21
w
12
w
12
+ w
22
w
21
w
21
+ w
11
w
22
w
22
+ w
12
матричной алгебры
входы
е1=0,362
1
w12=1,0
w21=2,0
е2=0,938
0,252
w11=3,0
w22=7,0
0,168
0,11
0,4
е1=0,42
е1=0,8
выходы
е2=0,5
е2=0,88
e1 = e
e2 = e
выходной,1
выходной,1
* + e
* + e
выходной,2
выходной,2
*
*

w
11
w
11
+ w
21
w
12
w
12
+ w
22
w
21
w
21
+ w
11
w
22
w
22
+ w
12
Можем ли мы упростить трудоемкие расчеты, используя
возможности матричного умножения? Ранее, когда мы
проводили расчеты, связанные с распространением входных
сигналов в прямом направлении, это нам очень пригодилось.
Отправной точкой нам послужат ошибки, возникающие на
выходе нейронной сети в последнем, выходном слое. В
данном случае выходной слой содержит только два узла с
ошибками e1 и e
обозначив e
iвыходной
e
12
e
12
Упростим запись формулы прошлого слайда,
2.
через e
i.
= e1 * + e2 *
= e1 * + e2 *

Возможность выразить множество вычислений в матричной
форме позволяет нам сократить длину соответствующих
выражений и обеспечивает более высокую эффективность
компьютерных расчетов, поскольку компьютеры могут
использовать повторяющийся шаблон вычислений для
ускорения выполнения соответствующих операций.
Было бы здорово, если бы это выражение можно было
переписать в виде простого перемножения матриц.
Преимущества, которые можем при этом получить, огромны!
ошибка
скрытый =
w
w
11
21
w
11
+ w
w
21
+ w
21
11
w
w
12
22
w
12
+ w
w
22
+ w
22
12
e
e
1
2

К сожалению, легкого способа превратить это выражение в
сверхпростое перемножение матриц, как в случае
распространения сигналов в прямом направлении, не
существует. Распутать все эти доли, из которых образованы
элементы большой матрицы, непросто. Было бы
замечательно, если бы мы смогли представить эту матрицу в
виде комбинации имеющихся матриц.
Что можно сделать? Нам позарез нужен способ,
обеспечивающий возможность использования матричного
умножения, чтобы повысить эффективность вычислений.

Взгляните еще раз на приведенное выше выражение. Вы
w
11
w
11
+ w
21
w
видите, что наиболее важная для нас вещь — это умножение
выходных ошибок ei на связанные с ними веса wij. Чем больше
вес, тем большая доля ошибки передается обратно в скрытый
слой. Это важный момент.
В дробях, являющихся элементами матрицы, нижняя часть
играет роль нормирующего множителя. Если пренебречь этим
фактором, можно потерять лишь масштабирование ошибок,
передаваемых по механизму обратной связи. Таким образом,
выражение:
Сделав это, мы получим следующее уравнение.
ошибка
e1 *
скрытый =
w
w
11
21
упростится до:
w
12
w
22
e1 *
e
1
e
2

Эта матрица весов напоминает ту, которую мы строили
ранее, но она повернута вокруг диагонали, так что правый
верхний элемент теперь стал левым нижним, а левый
нижний — правым верхним. Такая матрица называется
транспонированной и обозначается как wT.
Хотя, вы знакомы с матричной алгеброй, давайте всё же
вспомним простые определения. Ниже приведены два
примера транспонирования числовых матриц, которые
напомнят вам смысл операции транспонирования.
Т
w
w
w
11
21
31
w
w
w
12
22
32
w
w
w
13
23
33
=
w
w
w
11
12
13
w
w
w
21
22
32
w
w
w
31
23
33

Т
w
w
11
21
w
w
12
22
w
w
13
23
=
w
w
w
11
12
13
w
w
w
21
22
32
Вы видите, что операция транспонирования применима даже в
тех случаях, когда количество столбцов в матрице отличается
от количества строк.
Мы достигли того, чего хотели, — применили матричный подход
к описанию обратного распространения ошибок:
ошибка
скрытый
= w
T
скрытый_выходной
• ошибка
выходной
Оказывается, что эта упрощенная модель обратного
распространения сигналов ошибок работает ничуть не хуже, чем
более сложная, которую мы разработали перед этим.

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

•
К этому моменту мы научились рассчитывать обратное
распространение ошибок до каждого слоя сети. Зачем нам это
нужно? Затем, что ошибки подсказывают нам, как должны
быть изменены веса связей, чтобы улучшить результирующий
общий ответ на выходе нейронной сети. В основном это то, что
мы делали с линейным классификатором еще в начале главы.
•
Узлы — это не простые линейные классификаторы. В узлах
сигналы суммируются с учетом весов, после чего к ним
применяется сигмоида. Но как нам все-таки справиться с
обновлением весов для связей, соединяющих эти более
сложные узлы?
Соседние файлы в папке ML - Коротков (2 сем, мага)
