Читать книгу «Нейронные сети. Эволюция» онлайн полностью📖 — Каниа Алексеевича Кана — MyBook.

Применение дифференциального исчисления, понятие производной

После трех минут с момента начала движения (t=3), скорость составит 9 км/мин. Сравним со скоростью в конце пятой минуты. После пяти минут с момента начала движения (t=5), скорость составляет 25 км/мин. Не важно, что скорость 25 км/мин – сопоставима со скоростью пули, ведь это воображаемая машина, и едет она с той скоростью, с какой мы захотим. Если провести касательную линию в этих точках, то окажется, что угол наклона у них совершенно разный:

Вы видите, что чем больше скорость в точке касательной, тем её наклон круче. Оба наклона представляют искомую скорость изменения скорости движения. Можно сравнить с вторым примером – линейное изменение.

Но как измерить наклон этих линий? Для этого давайте представим, что наша касательная (t = 3, s = 9), пересекает функцию в двух точках, расстояние между которыми очень мало:


Зная координаты этих точек и проведя проекции по осям, можно вычислить расстояние между этими точками.

Если представить прямоугольный треугольник где гипотенуза – это прямая между двумя точками, а его катеты равны разности проекциям точек по осям (∆t и ∆s), то поделив противолежащий катет на прилежащий получим тангенс угла, который и будет являться коэффициентом крутизны. Зная который, как во втором примере, мы легко определим изменение скорости в момент ∆t.





Как мы знаем, скорость изменения – это наклон прямой, которую из второго примера мы уже умеем находить. Значит, около точки (t=3), наш коэффициент крутизны будет равен:




Значит, скорость изменения скорости в момент времени три минуты составляет 6,06 км/мин.

Производная функции


Мы можем говорить о скорости изменения чего угодно – физической величины, экономического показателя и так далее.

Рассмотрим функцию y = f(x). Отметим на оси X, некоторое значение аргумента x, а на оси Y – соответствующее значение функции y = f(x).




Дадим аргументу x, некоторое приращение, обозначенное как ∆х. Попадаем в точку х+∆х. А соответствующие этим значениям аргументов, значение функции обозначим соответственно f(x), f и f(x+∆х). Приращение аргумента ∆х, есть аналог промежутка времени t, а соответствующее приращение функции – это аналог пути s, пройденного за время t.

Если представить, что ∆х – бесконечно мала, т.е. стремиться к нулю (∆х-›0), то выражение нахождения изменения скорости можно записать как:





Или исходя из геометрического представления, описанного ранее:



Отсюда вывод, что производная функции f(x) в точке х – это предел отношения приращения функции к приращению её аргумента, когда приращение аргумента стремиться к нулю.

Нахождение некоторых табличных производных


Решим найденным способом, наш первый пример, когда скорость автомобиля была постоянной, на всем промежутке времени. В этом примере, приращение функции равно нулю (s = 0), и соответственно тангенса угла не существует:

∆s = s(t+∆t) – s(t) = s(t) – s(t) = 0



Итак, имеем первый результат – производная константы равна нулю. Этот результат мы уже выводили ранее:



Откуда можно сформулировать правило, что производная константы, равна нулю.

s(t) = с, где с – константа

с′ = 0

Запись с′ – означает что берется производная по функции.


Во второй примере, когда изменение скорости автомобиля проходило линейно, с постоянным изменением, найти производную функции (s = 0,2t + 1,5), не зная правил дифференцирования сложных функций, мы пока не сможем, поэтому отложим этот пример на потом.


Продолжим с решения третьего примера, когда изменение скорости автомобиля проходило не линейно:

s = t²

Приращение функции и производная:

s(t) = t²

∆s = s(t+∆t) – s(t) = (t+∆t) ² – t² = t² + 2t∆t + ∆t² – t² = ∆t(2t+∆t)




Вот мы и решили наш третий пример! Нашли формулу точного изменения скорость от времени. Вычислим производную, в всё той же точки t = 3.

s(t) = t²

s′(t) = 2*3 = 6

Точный ответ, в пределах небольшой погрешности, почти сошелся с вычисленном до этого приближенным ответом.


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

s(t) = t³

Приращение и производная:

s(t) = t³

∆s = s(t+∆t) – s(t) = t³ + 3 t²∆t+ 3t∆ t² + ∆ t³ – t³ = ∆t(3 t² + 3t∆t + ∆t²)





Из двух последних примеров (с производными функций s(t) = t² и s(t) = t³) следует, что показатель степени числа, становится его произведением, а степень уменьшается на единицу:

s(t) = tⁿ




А чему равна производная от аргумента функции? Давайте узнаем…


s(t) = t

Приращение:


s = s(t+∆t) – s(t) = t + ∆tt = ∆t


Производная:




Получается, что производная от переменной:


t′ = 0

Правила дифференцирования и дифференцирование сложных функций

Дифференцирование суммы

(u+v)′ = u′ + v, где u и v – функции.

Пусть f(x) = u(x) + v(x). Тогда:

f = f(x+∆x) – f(x) = u(x+∆x) + v(x+∆x) – u(x) – v(x) = u(x) + ∆u + v(x) + ∆vu(x) – v(x) = ∆u + ∆v

Тогда имеем:


Дроби u/∆х и v/∆х при ∆х->0 стремятся соответственно к u′(x) и v′ (x). Сумма этих дробей стремится к сумме u′(x) + v′ (x).

f′(x) = u′ (x) + v′ (x)

Дифференцирование произведения

(u*v)′ = uv + vu, где u и v – функции

Разберем, почему это так. Обозначим f(x) = u(x) * v(x). Тогда:

f = f(x+∆x) – f(x) = u(x+∆x) * v(x+∆x) – u(x) * v(x) = (u(x) + ∆u) * (v(x) + ∆v) – u(x) * v(x) = u(x)v(x) + v(x)∆u + u(x)∆v + ∆uvu(x)v(x) = v(x)∆u + u(x)∆v + ∆uv

Далее имеем:



Первое слагаемое стремиться к u′(x) v(x). Второе слагаемое стремиться к v′(x)* u(x). А третье, в дроби u/∆x, в пределе даст число u′(x), а поскольку множитель ∆v стремиться к нулю, то и вся эта дробь обратится в ноль. А следовательно, в результате получаем:

f′(x) = u′ (x) v(x) + v′ (x) u(x)

Из этого правила, легко убедиться, что:

(c*u)′ = cu + c u′ = c u

Поскольку, с – константа, поэтому ее производная равна нулю (c′ = 0).

Зная это правило мы без труда, найдем изменение скорости второго примера.

Применим к выражению правило дифференцирование суммы:

s′ (t) = (0,2t) ′ + (1,5) ′

Теперь по порядку, возьмём выражение – (0,2t) ′. Как брать производную произведения константы и переменной мы знаем:

(0,2t) ′ = 0,2

А производная самой константы равна нулю – (1,5) ′ = 0.

Следовательно, скорость изменения скорости, второго примера:

s′ (t) = 0,2

Что совпадает с нашим ответом, полученном ранее во втором примере.


Дифференцирование сложной функции

Допустим, что в некоторой функции, y сама является функцией:

f = y²

y = x²+x

Представим дифференцирование этой функции в виде:



Нахождение производной в этом случае, осуществляется в два этапа.



Мы знаем, как решить производную типа: dy²/dy = 2y

А также знаем, как решать производную суммы: х² + х = (х²)′ + х′ = 2х+1

Тогда:

2(x²+x) * (2х+1) = (2х²+2х) * (2х+1) = 4х³+6х²+2х

Я надеюсь, вам удалось понять, в чем состоит суть дифференциального исчисления.

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

В качестве небольшого дополнения, приведу список наиболее распространённых табличных производных:






Зачем нам дифференцировать функции

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



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



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

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

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

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

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

Как происходит обновление весовых коэффициентов?

Для ответа на этот вопрос, изобразим наш гипотетический рельеф в двумерной плоскости (гипотетический – потому что функция ошибки, зависящая от аргумента весовых коэффициентов, нам не известна). Где значение высоты будет ошибка, а за координаты по горизонтали нахождения точки в данный момент, будет отвечать весовой коэффициент.



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

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

А шаг, в свою очередь, отлично подходит на роль обновления нашего весового коэффициента, в сторону уменьшения ошибки.

Вычислив производную в точке, мы вычислим наклон функции ошибки, который нам нужно знать, чтобы начать градиентный спуск к минимуму:





Ij – определитель веса, в соответствии со своим входом. Если это вход x1 – то его весовой коэффициент обозначается как – w11, а у входа х2 – обозначается как -w21
















1
...