Обратное распространение - это алгоритм, который используется для вычисления градиентов параметров в нейронной сети. Для целей алгоритма мы представляем вычисление как проход через направленный граф ацикли c, где листья - это параметры и входы, а внутренние узлы узлов - это операции. Применение правила цепочки для производных тогда соответствует обратному проходу в таком графе. Этот алгоритм в целом может быть применен к любой нейронной net (прямой, рекуррентной или сверточной).
Рекуррентные нейронные сети представляют собой тип нейронной сети, которая периодически применяет одну и ту же функцию на его скрытом состоянии и новый вход в последовательности. Вычисление RNN также может быть описано как граф вычислений, и поэтому алгоритм обратного распространения может также применяться для оценки градиентов его параметров.