Skip to content

xpatronum/NNFromScratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Logo

Page_1_1 Page_1_2

_FCLayer_forward_propagation

_ArchitectureLayer

Обратите внимание, что выход каждого слоя - является входом для другого, поэтому в целом процесс Y = forward_propagation(X) выглядит следующим образом sequential_forward_propagation

В коде это выглядит следующим образом.

Для FCLayer FCLayer_code_fp

Для ActivationLayer ActivationLayer_code_fp

MSE или среднеквадратичное отклонение

В качестве примера, в нашей нейросети будет использоваться функция ошибки (6) - среднеквадратичное отклонение

_LossFunctionMSE

Как только входной вектор X прошел все трансформации слоев - на выходе имеем вектор Y, от которого считаем функцию ошибки (6), и начиная с этого момента нам нужно как-то обновить веса нейрости (параметры), чтобы минимизировать функцию ошибки. Здесь приходит на помощь...

Метод градиентного спуска

gradient_descent

Обратите внимание, что теперь процесс идет в обратную сторону: выход слоев стал входом, а входы, наоборот, выходами ∇L(X) = backward_propagation(∇L(Y), α), см. ниже sequential_backward_propagation _LossFunctionMSE2

Вывод формул обратного распространения ошибки для слоя FCLayer

FCLayer_derivation_bp_1 FCLayer_derivation_bp_2 FCLayer_derivation_bp_3

Таким образом получаем итоговые формулые для реализации backward_propagation() слоя FCLayer FCLayer_end_bp

Реализация в виде кода представлена ниже FCLayer_code_bp

Вывод формул обратного распространения ошибки для слоя ActivationLayer

ActivationLayer_derivation_bp_1 ActivationLayer_derivation_bp_2

Реализация в виде кода представлена ниже ActivationLayer_code_bp

TheEnd Связаться со мной:

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages