freeCodeCamp/guide/russian/machine-learning/backpropagation/index.md

48 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

---
title: Backpropagation
localeTitle: обратное распространение
---
## обратное распространение
Backprogapation - это подтема [нейронных сетей](../neural-networks/index.md) , и это процесс, посредством которого вы вычисляете градиенты каждого узла в сети. Эти градиенты измеряют «ошибку», каждый из которых вносит вклад в выходной уровень, поэтому при обучении нейронной сети эти градиенты минимизируются.
Примечание. Просвещение назад и машинное обучение в целом требовали значительного знакомства с линейной алгеброй и матричной манипуляцией. Курсовая работа или чтение по этой теме настоятельно рекомендуется, прежде чем пытаться понять содержание этой статьи.
### вычисление
Процесс обратного распространения можно объяснить тремя шагами.
Учитывая следующее
* m учебных примеров (x, y) на нейронной сети из L-слоев
* g = сигмоидальная функция
* Theta (i) = матрица перехода от i-го до i + 1-го слоя
* a (l) = g (z (l)); массив значений узлов в слое l на основе одного примера обучения
* z (l) = Theta (l-1) a (l-1)
* Delta - набор L-матриц, представляющих переходы между i-м и i + 1-м слоем
* d (l) = массив градиентов для слоя l для одного примера обучения
* D набор L-матриц с окончательными градиентами для каждого узла
* лямбда - термин регуляризации для сети
В этом случае для матрицы M M будет обозначать транспонирование матрицы M
1. Назначьте все записи Delta (i), для i от 1 до L, ноль.
2. Для каждого примера обучения t от 1 до m выполните следующие действия:
* выполнить прямое распространение на каждом примере для вычисления a (l) и z (l) для каждого слоя
* вычисление d (L) = a (L) - y (t)
* вычисление d (l) = (Theta (l) '• d (l + 1)) • g (z (l)) для l из L-1 в 1
* приращение Delta (l) на delta (l + 1) • a (l) '
1. Подключите матрицу Delta к нашим частным производным матрицам D (l) = 1 \\ m (Delta (l) + lambda • Theta (l)); если l ≠ 0 D (l) = 1 \\ m • Delta (l); если l = 0
Конечно, просто просмотр этой статьи выглядит чрезвычайно сложным и должен действительно пониматься только в более широких контекстах нейронных сетей и машинного обучения. Посмотрите на переписанные ссылки для лучшего понимания темы в целом.
#### Дополнительная информация:
* [Лекция 4 CS231n Введение в нейронные сети](https://youtu.be/d14TUNcbn1k?t=354)
* [Сирадж Равал - Пролонгация через 5 минут](https://www.youtube.com/watch?v=q555kfIFUCM)
* [Курс Эндрю Нг](https://www.coursera.org/learn/machine-learning/)
* [В глубине статьи в стиле вики](https://brilliant.org/wiki/backpropagation/)
* [Backprop в Википедии](https://en.wikipedia.org/wiki/Backpropagation)
* [Пример поэтапного обратного прогона](https://mattmazur.com/2015/03/17/a-step-by-step-backpropagation-example/)