Производные! Не бойся

Это полезно!

Дифференциальное исчисление имеет решающее значение для работы алгоритмов машинного обучения. Он предлагает нам правильные математические решения для оптимизации сложных целевых функций и многомерных входных данных.

Производное — это не что иное, как все, что изменяется с течением времени.

Введение

Составные функции или функции, созданные многочисленными функциями, изобилуют моделями глубокого обучения. Понимание цепного правила, которое вычисляет производные составных функций в моделях обучения, имеет решающее значение.

Цель

Цель состоит в том, чтобы подробно изучить цепное правило с использованием математических функций, а также закодировать цепное правило с самого начала и изучить результаты на графиках, сравнивая нормальные функции с производными, чтобы наблюдать, как меняется тренд.

Правило цепи

Цепное правило — это математическая теорема, которая вычисляет производную составных функций или функций, созданных путем вложения одной или нескольких функций.

рассмотрим f1 и f2 — две функции, в которых f1 получает x в качестве входных данных и производит выходные данные, которые затем передаются f2 для получения окончательных выходных данных y. f1f2 — математическое представление данной диаграммы.

Результат применения производных к составной функции следующий:

Здесь x — входные данные, а u — фиктивная переменная, представляющая входные данные функции.

В этой ситуации функции f1,f2 принимают один вход и производят один выход, а производная обозначена как u. Когда функции имеют несколько входных параметров, например x,y, мы используем df/dx и df/dy соответственно.

Производная сложной функции является произведением производных отдельных функций.

Код

При применении цепного правила должны присутствовать две функции, которые принимают один вход и производят один выход; две функции f1 и f2 являются квадратными и сигмовидными соответственно.

f2(f1(x)) — реализующая функция, вычисляющая математический эквивалент f1f2.

Правило цепочки вычислений для функции f1 и f2

(f2(f1(x)))’ = f2'(f1(x)) * f1'(x)

Создание равномерно распределенных значений с .01 от -5 до +5

вычисление выходных значений для f (x) = сигмоид (квадрат (x)) и f (x) = квадрат (сигмоид (x))

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

Мы создали простые функции только с одним входом и выходом. С другой стороны, модели глубокого обучения обычно состоят из длинной цепочки вложенных функций, содержащих дифференциальные функции. Они приводят к более сложным математическим расчетам.

Попробуй сам

Примените то же цепное правило для немного более длинной функции f1f2f3. Опубликуйте производную для f1f2f3 в разделе комментариев ниже.

Использованная литература: