🔴 Сложный ⏱️ 55 минут

Производная (строгое определение)

📋 Содержание урока

Производная (строгое определение) 📐

Представь, что ты обучаешь нейросеть распознавать рукописные цифры. У сети есть миллионы весов, ошибка на каждом шаге — какое-то число, и алгоритм обучения должен ответить на один-единственный вопрос: если чуть-чуть подвинуть вот этот конкретный вес, ошибка станет чуть больше или чуть меньше — и насколько? Ответ на этот вопрос и есть производная. Не метафора, не интуитивная картинка «крутизны склона», а совершенно конкретное число, которое считается по строгой формуле, и именно эта формула лежит в фундаменте backpropagation — алгоритма, который тренирует буквально каждую современную нейросеть.

В школе тебе наверняка показывали производную как «правило»: у $x^n$ производная $nx^{n-1}$, у $\sin x$ — $\cos x$, бери таблицу и дифференцируй. Это рабочий навык, но он прячет главный вопрос: а что вообще такое производная и откуда берутся эти правила? Ответ был у тебя перед глазами всё прошлые несколько уроков — это предел. Причём не абстрактный предел ради предела, а предел вполне конкретной конструкции: отношения того, насколько изменилось значение функции, к тому, насколько мы сдвинули аргумент, когда этот сдвиг стремится к нулю.

Этот урок — стык двух больших тем курса. С одной стороны, ты уже прошёл пределы и непрерывность (уроки 179–185) и знаешь, как строго обращаться с $\varepsilon$ и $\delta$, с замечательными пределами, с монотонностью и ограниченностью. С другой — начинается дифференциальное исчисление, вся дальнейшая машинерия анализа: правила дифференцирования, исследование функций, оптимизация. Производная — это шов между этими темами, и от того, насколько строго ты понимаешь этот шов, зависит, будешь ли ты просто применять формулы или по-настоящему понимать, что происходит внутри градиентного спуска, когда он минимизирует функцию потерь.

Забегая вперёд: мы также разберём, почему функция активации ReLU, у которой в нуле нет производной в классическом смысле, всё равно прекрасно тренируется в PyTorch и TensorFlow. Это не баг и не хитрость программистов — это следствие того же самого предельного определения, которое мы сейчас построим с нуля.

История: откуда это взялось?

Идея мгновенной скорости изменения занимала математиков и физиков задолго до появления строгого языка пределов. В середине XVII века Исаак Ньютон, разрабатывая механику движения, ввёл понятие флюксии (от латинского fluere — «течь») — скорости изменения «текущей» величины, флюенты. Ньютон мыслил производную физически: как скорость точки, движущейся по кривой, и вывел из этой идеи законы движения планет. Почти одновременно, но независимо, Готфрид Лейбниц в Германии подошёл к той же задаче с другой стороны — через бесконечно малые приращения $dx$ и $dy$, и ввёл обозначение $\frac{dy}{dx}$, которым мы пользуемся до сих пор. Лейбниц представлял $dx$ как «актуально существующую», хоть и невообразимо малую величину — своего рода математический атом изменения.

Между двумя лагерями — английским, шедшим за Ньютоном, и континентальным, шедшим за Лейбницем — на десятилетия разгорелся ожесточённый спор о приоритете открытия, который дошёл до обвинений в плагиате и разбирательства в Королевском обществе (где, что забавно, президентом был сам Ньютон). Спор оказался бессмысленным с математической точки зрения — оба пришли к одному и тому же аппарату независимо, но был крайне вредным практически: английские математики из принципа игнорировали более удобные обозначения Лейбница ещё около столетия, что заметно затормозило развитие анализа в Британии.

Но по-настоящему интересна другая проблема, которая тянулась почти полтора века после Ньютона и Лейбница: никто толком не мог объяснить, что такое $dx$. Бесконечно малая величина, которая не равна нулю, но меньше любого положительного числа — это логически противоречивый объект, и современники это прекрасно понимали. Философ Джордж Беркли в 1734 году едко назвал производные «призраками ушедших величин» (ghosts of departed quantities): по его насмешливому наблюдению, в вычислении сначала делят на $\Delta x$, считая его не равным нулю, а затем в конце как ни в чём не бывало полагают $\Delta x = 0$ — с точки зрения формальной логики это противоречие. И он был совершенно прав: строгого обоснования у метода не было почти сто пятьдесят лет, несмотря на то что он безотказно работал на практике.

Разрешение пришло от тех же людей, что дали строгое определение предела в уроках 179 и 183: Огюстен Луи Коши в 1820-х годах и позже Карл Вейерштрасс переформулировали производную не через мистическую «бесконечно малую», а через обычный предел отношения конечных, вполне реальных приращений — тот самый $\varepsilon$-$\delta$ аппарат, который ты уже знаешь. Призрак Беркли исчез: никто не «делит на ноль, а потом полагает его нулём» — вместо этого честно вычисляется предел, который существует как строгий математический объект, без всякой мистики. Именно эту, современную и полностью строгую версию мы и разберём в этом уроке.

Формальное определение производной через предел

Интуиция: от секущей к касательной

Представь, что ты рассматриваешь график функции через увеличительное стекло, наведённое на одну конкретную точку. Возьми на графике две близкие точки и проведи через них прямую — такая прямая называется секущей. Теперь начни сдвигать вторую точку к первой. Секущая будет поворачиваться, и чем ближе точки друг к другу, тем меньше секущая отличается от прямой, которая просто «касается» графика в этой точке, не пересекая его — от касательной. Производная и есть предельное положение этого углового коэффициента: число, которое показывает, насколько круто идёт график именно в этой точке, а не где-то поблизости.

Тот же самый предельный переход имеет чисто числовую интерпретацию, без всякой геометрии. Пусть функция $f$ определена в окрестности точки $x_0$. Дадим аргументу небольшое приращение $\Delta x$ (оно может быть и положительным, и отрицательным) и посмотрим, как изменится значение функции:

$$\Delta y = f(x_0 + \Delta x) - f(x_0)$$

Отношение $\frac{\Delta y}{\Delta x}$ — это средняя скорость изменения функции на отрезке от $x_0$ до $x_0+\Delta x$: на сколько единиц в среднем менялась функция при единичном изменении аргумента на этом конкретном участке. Чтобы получить не среднюю, а мгновенную скорость изменения именно в точке $x_0$, нужно устремить длину участка к нулю — взять предел этого отношения при $\Delta x \to 0$.

Формальное определение

Определение. Производной функции $f$ в точке $x_0$ называется предел отношения приращения функции к приращению аргумента при стремлении приращения аргумента к нулю:

$$f'(x_0) = \lim_{\Delta x \to 0} \frac{f(x_0+\Delta x)-f(x_0)}{\Delta x}$$

если этот предел существует и конечен. В этом случае функция $f$ называется дифференцируемой в точке $x_0$.

Обозначения здесь важны и встречаются в разной литературе по-разному:

  • $\Delta x$ (читается «дельта икс») — приращение аргумента, иногда обозначается $h$;

  • $\Delta y = f(x_0+\Delta x)-f(x_0)$ — приращение функции;

  • $f'(x_0)$, $\dfrac{dy}{dx}\Big|_{x=x_0}$, $\dot y(x_0)$ — равнозначные обозначения производной (первое — от Лагранжа, второе — от Лейбница, третье, с точкой, — от Ньютона, обычно для производной по времени).

Полезно записать то же определение через замену переменной $x = x_0 + \Delta x$, тогда $\Delta x = x - x_0$, и при $\Delta x \to 0$ получаем $x \to x_0$:

$$f'(x_0) = \lim_{x \to x_0} \frac{f(x)-f(x_0)}{x-x_0}$$

Эта форма ничем не отличается от первой по существу, но иногда удобнее алгебраически, особенно когда $f$ содержит корни или дроби. Раз производная — это предел, к ней применимы все инструменты, которые ты наработал в уроках 179–182: теоремы о пределах, замечательные пределы, таблица эквивалентных бесконечно малых. Это не совпадение, а прямая причина, почему производную изучают именно после пределов, а не до них.

Разбор примеров

Пример 1 (лёгкий). Найти производную $f(x) = x^2$ в точке $x_0 = 3$, используя определение.

Считаем строго по четырём шагам.

Шаг 1. Вычисляем значение функции в сдвинутой точке:

$$f(3+\Delta x) = (3+\Delta x)^2 = 9 + 6\Delta x + (\Delta x)^2$$

Шаг 2. Находим приращение функции:

$$\Delta y = f(3+\Delta x) - f(3) = \bigl(9+6\Delta x+(\Delta x)^2\bigr) - 9 = 6\Delta x + (\Delta x)^2$$

Шаг 3. Составляем отношение приращений и упрощаем — это ключевой шаг, именно здесь исчезает деление на ноль, потому что мы сокращаем общий множитель $\Delta x$ до перехода к пределу, пока $\Delta x$ ещё не равен нулю, а лишь стремится к нему:

$$\frac{\Delta y}{\Delta x} = \frac{6\Delta x + (\Delta x)^2}{\Delta x} = 6 + \Delta x$$

Шаг 4. Переходим к пределу:

$$f'(3) = \lim_{\Delta x \to 0} (6+\Delta x) = 6$$

Ответ: $f'(3) = 6$.

Пример 2 (средний). Найти производную $f(x) = \dfrac1x$ в произвольной точке $x_0 \ne 0$.

$$f(x_0+\Delta x) - f(x_0) = \frac{1}{x_0+\Delta x} - \frac{1}{x_0} = \frac{x_0 - (x_0+\Delta x)}{x_0(x_0+\Delta x)} = \frac{-\Delta x}{x_0(x_0+\Delta x)}$$

Делим на $\Delta x$:

$$\frac{\Delta y}{\Delta x} = \frac{-1}{x_0(x_0+\Delta x)}$$

При $\Delta x \to 0$ знаменатель непрерывно стремится к $x_0 \cdot x_0 = x_0^2$, поэтому

$$f'(x_0) = \lim_{\Delta x\to0} \frac{-1}{x_0(x_0+\Delta x)} = -\frac{1}{x_0^2}$$

Ответ: $\left(\dfrac1x\right)' = -\dfrac1{x^2}$ в любой точке $x_0 \ne 0$.

Пример 3 (сложный). Найти производную $f(x) = \sqrt{x}$ в произвольной точке $x_0 > 0$.

Здесь прямое вычитание даёт разность двух корней, которую в лоб не сократить с $\Delta x$ в знаменателе. Стандартный трюк — домножить и разделить на сопряжённое выражение, чтобы избавиться от корней в числителе:

$$\Delta y = \sqrt{x_0+\Delta x} - \sqrt{x_0} = \frac{\bigl(\sqrt{x_0+\Delta x}-\sqrt{x_0}\bigr)\bigl(\sqrt{x_0+\Delta x}+\sqrt{x_0}\bigr)}{\sqrt{x_0+\Delta x}+\sqrt{x_0}} = \frac{(x_0+\Delta x)-x_0}{\sqrt{x_0+\Delta x}+\sqrt{x_0}} = \frac{\Delta x}{\sqrt{x_0+\Delta x}+\sqrt{x_0}}$$

Теперь делим на $\Delta x$ — он сокращается без остатка:

$$\frac{\Delta y}{\Delta x} = \frac{1}{\sqrt{x_0+\Delta x}+\sqrt{x_0}}$$

При $\Delta x \to 0$ (используем непрерывность корня, доказанную в уроке 185) знаменатель стремится к $\sqrt{x_0}+\sqrt{x_0} = 2\sqrt{x_0}$:

$$f'(x_0) = \frac{1}{2\sqrt{x_0}}$$

Ответ: $(\sqrt{x})' = \dfrac{1}{2\sqrt{x}}$ при $x>0$. Обрати внимание на общий алгоритм всех трёх примеров: раскрыть $\Delta y$, сократить общий множитель $\Delta x$ до перехода к пределу, и только потом подставлять $\Delta x = 0$ в уже упрощённое выражение. Это и есть противоядие от «призрака Беркли» — деления на ноль не происходит нигде, потому что предел вычисляется у функции от $\Delta x$, определённой всюду, кроме самой точки $\Delta x = 0$.

Почему это важно

Смотри, что на самом деле произошло в примере 2: мы не «выучили формулу», а вычислили конкретное число — насколько чувствительно значение $\frac1x$ реагирует на маленькое шевеление $x$ около заданной точки. Это ровно та операция, которую нейросеть выполняет миллиарды раз при обучении, только вместо $\frac1x$ там стоит функция потерь $L(w)$ от вектора весов $w$, и вопрос звучит как «если я чуть-чуть подвину вес $w$, насколько изменится ошибка $L$?». Алгоритм обратного распространения ошибки (backpropagation) — это не что иное, как последовательное применение определения производной (в сочетании с правилом дифференцирования сложной функции, которое появится позже) к каждому весу сети. Градиентный спуск, который двигает веса в направлении $w \gets w - \eta \cdot L'(w)$, работает только потому, что $L'(w)$ строго определена как этот самый предел — не приближённая оценка «на глаз», а точное число, отражающее локальное поведение функции ошибки.

Геометрический и физический смысл производной

Интуиция: наклон и скорость — это одно и то же число

Одна и та же предельная конструкция допускает две совершенно разные, но эквивалентные интерпретации, и обе критически важны.

Геометрически производная $f'(x_0)$ — это угловой коэффициент (тангенс угла наклона) касательной к графику функции $y=f(x)$ в точке $(x_0, f(x_0))$. Мы уже видели это в интуитивной части: секущая через две близкие точки при их слиянии превращается в касательную, и её наклон — это и есть $f'(x_0)$. Зная точку и угловой коэффициент, легко выписать уравнение самой касательной:

$$y = f(x_0) + f'(x_0)(x-x_0)$$

Физически, если $x$ — время, а $f(x)$ — координата (путь) движущегося тела, то $\frac{\Delta y}{\Delta x}$ — это средняя скорость на промежутке времени $\Delta x$, а её предел $f'(x_0)$ — мгновенная скорость в момент времени $x_0$. Это ровно то же самое число, что и «спидометр» из школьного курса: стрелка спидометра показывает не среднюю скорость за какой-то интервал, а скорость именно сейчас, в этот бесконечно короткий момент — и математически это в точности $s'(t)$.

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

Разбор примеров

Пример 1 (лёгкий, геометрия). Составить уравнение касательной к графику $y=x^2$ в точке $x_0=2$.

Из примера 1 предыдущего раздела мы знаем общий метод; посчитаем производную $x^2$ в точке $2$ тем же способом:

$$\Delta y = (2+\Delta x)^2 - 4 = 4\Delta x + (\Delta x)^2, \qquad \frac{\Delta y}{\Delta x} = 4+\Delta x \;\to\; 4$$

Значит, $f'(2)=4$, а $f(2)=4$. Подставляем в уравнение касательной:

$$y = 4 + 4(x-2) = 4x - 4$$

Ответ: $y=4x-4$ — прямая с угловым коэффициентом $4$, проходящая через точку $(2,4)$ и нигде больше не пересекающая параболу вблизи этой точки.

Пример 2 (средний, физика). Тело движется по закону $s(t) = 5t^2$ (метры, секунды). Найти мгновенную скорость в момент $t=3$.

$$\Delta s = 5(3+\Delta t)^2 - 5\cdot9 = 5(9+6\Delta t+(\Delta t)^2) - 45 = 30\Delta t + 5(\Delta t)^2$$$$\frac{\Delta s}{\Delta t} = 30 + 5\Delta t \;\to\; 30 \quad (\Delta t \to 0)$$

Ответ: мгновенная скорость в момент $t=3$ секунды равна $v(3) = s'(3) = 30$ м/с. Обрати внимание: средняя скорость на отрезке от $t=3$ до, скажем, $t=3{,}1$ равна $\frac{s(3{,}1)-s(3)}{0{,}1} = 30{,}5$ м/с — близко к $30$, но не совпадает с ним, потому что интервал ещё не бесконечно мал.

Пример 3 (сложный, ML). Рассмотрим простейшую «нейросеть» из одного веса: модель предсказывает $\hat y = wx$ для фиксированного входа $x=2$ и истинного значения $y=5$, а функция потерь — квадрат ошибки $L(w) = (wx-y)^2 = (2w-5)^2$. Найти по определению производную $L'(w)$ в произвольной точке $w$ и вычислить, в какую сторону нужно скорректировать вес $w=1$, чтобы уменьшить ошибку.

$$L(w+\Delta w) - L(w) = \bigl(2(w+\Delta w)-5\bigr)^2 - (2w-5)^2$$

Обозначим $u = 2w-5$ для краткости, тогда $2(w+\Delta w)-5 = u+2\Delta w$:

$$= (u+2\Delta w)^2 - u^2 = 4u\Delta w + 4(\Delta w)^2$$$$\frac{\Delta L}{\Delta w} = 4u + 4\Delta w \;\to\; 4u = 4(2w-5) \quad (\Delta w \to 0)$$

Ответ: $L'(w) = 4(2w-5) = 8w-20$. В точке $w=1$: $L'(1) = 8-20=-12$ — отрицательное число. Раз производная отрицательна, функция потерь убывает при увеличении $w$, значит шаг градиентного спуска $w \gets w - \eta L'(w) = 1 - \eta\cdot(-12) = 1+12\eta$ действительно увеличивает $w$ и уменьшает ошибку — именно так, как и должен вести себя алгоритм обучения.

Почему это важно

Геометрический и физический смысл — это не две разные темы, а одна и та же математика, надетая на разные слова. Когда ты смотришь на график функции потерь $L(w)$ и видишь, что он идёт вниз-вправо, это буквально то же самое высказывание, что «скорость роста ошибки по весу отрицательна» — и оба они означают одно число, $L'(w)$. В машинном обучении почти никогда не рисуют график весов (их миллионы, а не один), но интуиция «касательная показывает, куда покатится шарик, если его слегка подтолкнуть» работает без всяких изменений: градиентный спуск в буквальном смысле скатывает вес вдоль направления, обратного касательной к поверхности ошибки в текущей точке.

Дифференцируемость и непрерывность

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

Давай разберёмся, как соотносятся два свойства функции, которые ты уже встречал по отдельности: непрерывность (график можно нарисовать не отрывая карандаша — урок 183) и дифференцируемость (у графика в каждой точке есть касательная). Представь, что непрерывность — это требование «дорога без обрывов», а дифференцируемость — требование «дорога без резких изломов». Дорога может быть без обрывов, но с острым изломом (представь букву V) — тогда по ней можно проехать не отрываясь от полотна, но в точке излома руль пришлось бы повернуть мгновенно, скачком, а это и есть отсутствие производной: нет единого направления движения в этой точке.

Теорема о связи дифференцируемости и непрерывности

Теорема. Если функция $f$ дифференцируема в точке $x_0$, то она непрерывна в этой точке. Обратное утверждение неверно: непрерывность в точке не гарантирует дифференцируемости.

Докажем первую часть. Пусть существует конечный предел $f'(x_0) = \lim_{\Delta x\to0} \frac{\Delta y}{\Delta x}$. Тогда приращение функции можно записать как произведение:

$$\Delta y = \frac{\Delta y}{\Delta x} \cdot \Delta x$$

и перейти к пределу при $\Delta x \to 0$, используя теорему о пределе произведения (урок 179):

$$\lim_{\Delta x \to 0} \Delta y = \lim_{\Delta x\to0}\frac{\Delta y}{\Delta x} \cdot \lim_{\Delta x\to0}\Delta x = f'(x_0)\cdot 0 = 0$$

А $\Delta y \to 0$ при $\Delta x \to 0$ — это в точности определение непрерывности функции в точке $x_0$ (значение функции при малом сдвиге аргумента близко к значению в самой точке). Теорема доказана.

Заметь ключевую деталь доказательства: множитель $f'(x_0)$ обязан быть конечным числом — именно поэтому мы умножили $\frac{\Delta y}{\Delta x} \cdot \Delta x$, а не просто сказали «$\Delta y / \Delta x$ конечно, значит $\Delta y \to 0$ автоматически». Конечный предел, умноженный на величину, стремящуюся к нулю, сам стремится к нулю — это не более чем арифметика пределов, но на ней держится вся теорема.

Контрпример: непрерывность без дифференцируемости

Обратное неверно, и классический контрпример — функция $f(x) = |x|$ в точке $x_0=0$. Она непрерывна всюду, в том числе в нуле (предел слева и справа равен $f(0)=0$), но давай проверим производную по определению:

$$\frac{\Delta y}{\Delta x} = \frac{|0+\Delta x| - |0|}{\Delta x} = \frac{|\Delta x|}{\Delta x}$$

Если $\Delta x > 0$, то $|\Delta x| = \Delta x$, и отношение равно $1$. Если $\Delta x < 0$, то $|\Delta x| = -\Delta x$, и отношение равно $-1$. Предел при $\Delta x \to 0$ должен быть одним и тем же числом независимо от того, с какой стороны $\Delta x$ приближается к нулю (как и для любого предела функции, урок 179), но здесь предел слева равен $-1$, а предел справа равен $1$ — они не совпадают, значит двусторонний предел, то есть $f'(0)$, попросту не существует. Геометрически это и есть тот самый острый излом графика $|x|$ в начале координат: там нет единой касательной, есть две разные полукасательные, идущие под разными углами.

Односторонние производные

Ситуация, где пределы слева и справа существуют, но различны, заслуживает отдельного названия — точно так же, как в уроке про непрерывность мы вводили односторонние пределы.

Определение. Правой производной функции $f$ в точке $x_0$ называется $f'_+(x_0) = \lim\limits_{\Delta x \to 0^+} \dfrac{\Delta y}{\Delta x}$, левой производной — $f'_-(x_0) = \lim\limits_{\Delta x \to 0^-} \dfrac{\Delta y}{\Delta x}$ (если эти пределы существуют). Функция дифференцируема в точке $x_0$ тогда и только тогда, когда обе односторонние производные существуют, конечны и равны между собой; в этом случае $f'(x_0)$ равна их общему значению.

Для $f(x)=|x|$ в нуле мы только что нашли $f'_-(0) = -1$ и $f'_+(0) = 1$ — они не равны, поэтому производной в обычном смысле нет, хотя обе односторонние производные существуют по отдельности.

Разбор примеров

Пример 1 (лёгкий). Исследовать дифференцируемость $f(x) = |x-3|$ в точке $x_0=3$.

Это сдвинутая копия $|x|$: $f(x) = |x-3|$, и при замене $t = x-3$ получаем ровно ту же функцию $|t|$ в точке $t_0=0$. По аналогии, $f'_-(3) = -1$, $f'_+(3) = 1$ — производной нет, несмотря на непрерывность.

Пример 2 (средний). Исследовать дифференцируемость $f(x) = x|x|$ в точке $x_0=0$.

Заметим, что $x|x| = x^2$ при $x\ge0$ и $x|x|=-x^2$ при $x<0$ — это не то же самое, что $|x|$, здесь появляется дополнительный множитель $x$, «сглаживающий» излом. Проверим по определению:

$$\frac{\Delta y}{\Delta x} = \frac{\Delta x\,|\Delta x| - 0}{\Delta x} = |\Delta x|$$

При $\Delta x \to 0$ (с любой стороны) $|\Delta x| \to 0$. Односторонние производные совпадают и равны $0$.

Ответ: $f'(0) = 0$ — функция $x|x|$, в отличие от $|x|$, дифференцируема в нуле. Мораль: наличие модуля в формуле само по себе не гарантирует отсутствия производной — решает конкретное поведение вблизи проблемной точки, а не внешний вид выражения.

Пример 3 (сложный, ML). Функция активации ReLU определена как $f(x) = \max(0,x)$. Найти односторонние производные в точке $x_0=0$ и объяснить, как с этим справляется обучение нейросетей на практике.

При $x>0$: $f(x)=x$, поэтому $f'_+(0) = \lim_{\Delta x\to0^+} \frac{\Delta x - 0}{\Delta x} = 1$. При $x<0$: $f(x)=0$ тождественно, поэтому $f'_-(0) = \lim_{\Delta x\to0^-} \frac{0-0}{\Delta x} = 0$.

Ответ: $f'_-(0)=0 \ne 1=f'_+(0)$ — классическая производная в нуле не существует, тот же тип излома, что и у $|x|$. Тем не менее ReLU — самая массово используемая функция активации в глубоком обучении, и вот почему это не проблема: во-первых, вероятность того, что во время обучения промежуточное значение активации попадёт ровно в $0$ (а не просто рядом), пренебрежимо мала для вещественной арифметики. Во-вторых, для негладких функций существует более широкое понятие субградиента — любого числа из отрезка $[f'_-(0), f'_+(0)] = [0,1]$, которое ведёт себя как «условная производная» в этой точке и годится для градиентного спуска (subgradient method). На практике фреймворки вроде PyTorch и TensorFlow просто фиксируют одно конкретное значение производной ReLU в нуле (обычно $0$), и обучение прекрасно сходится, потому что одна точка разрыва производной среди миллиардов вычислений почти никогда не оказывается критической.

Почему это важно

Эта теорема — не техническая деталь, а страховочная сетка всего дифференциального исчисления: она объясняет, где именно может сломаться производная, и что дифференцируемость — понятие строго более сильное, чем непрерывность. Для машинного обучения это прямая практическая граница: пока функция потерь и активации гладкие (дифференцируемые), backpropagation работает без всяких оговорок. Как только в архитектуру попадает негладкая функция вроде ReLU, max-pooling или $\ell_1$-регуляризации ($|w|$ в функции потерь), нужно явно понимать, что происходит в точках излома — субградиенты, а не классические производные, там технически корректный инструмент, и именно поэтому это не «баг», а осознанная и хорошо изученная часть теории оптимизации.

Вывод производных элементарных функций через определение

Интуиция: таблица производных — это не список для заучивания, а список теорем

К этому моменту у тебя, скорее всего, уже отложилась в памяти школьная таблица производных: $(x^n)' = nx^{n-1}$, $(\sin x)' = \cos x$, $(e^x)' = e^x$. Важно понимать: это не аксиомы и не эмпирические наблюдения — это теоремы, каждая из которых доказывается ровно тем же самым методом, что мы применяли выше для $x^2$, $\frac1x$ и $\sqrt x$: раскрыть $\Delta y$, поделить на $\Delta x$, взять предел. Разница только в том, что теперь мы сделаем это для произвольной точки $x$ сразу, получив общую формулу, а не число для одной конкретной точки — и в том, что нам понадобятся замечательные пределы из урока 180.

Вывод $(x^n)' = nx^{n-1}$ для натурального $n$

Вместо бинома Ньютона удобнее воспользоваться формулой разности степеней $a^n - b^n = (a-b)(a^{n-1}+a^{n-2}b+\cdots+ab^{n-2}+b^{n-1})$ — суммой из $n$ слагаемых. Подставим $a = x+\Delta x$, $b=x$:

$$\Delta y = (x+\Delta x)^n - x^n = \Delta x \cdot \Bigl[(x+\Delta x)^{n-1} + (x+\Delta x)^{n-2}x + \cdots + x^{n-1}\Bigr]$$

Деление на $\Delta x$ убирает общий множитель:

$$\frac{\Delta y}{\Delta x} = (x+\Delta x)^{n-1} + (x+\Delta x)^{n-2}x + \cdots + (x+\Delta x)x^{n-2} + x^{n-1}$$

Здесь ровно $n$ слагаемых. При $\Delta x \to 0$ каждое слагаемое непрерывно (это многочлен от $\Delta x$) стремится к $x^{n-1}$ — все $n$ слагаемых дают в пределе одно и то же число $x^{n-1}$:

$$f'(x) = \underbrace{x^{n-1}+x^{n-1}+\cdots+x^{n-1}}_{n \text{ слагаемых}} = nx^{n-1}$$

Теорема. $(x^n)' = nx^{n-1}$ для любого натурального $n$ и любого вещественного $x$ (формула распространяется и на произвольный вещественный показатель, но это требует уже других инструментов — производной сложной функции и логарифма, которые появятся в следующих уроках).

Вывод $(\sin x)' = \cos x$

$$\Delta y = \sin(x+\Delta x) - \sin x$$

Применим формулу разности синусов $\sin A - \sin B = 2\cos\frac{A+B}{2}\sin\frac{A-B}{2}$ с $A=x+\Delta x$, $B=x$:

$$\Delta y = 2\cos\!\left(x+\frac{\Delta x}{2}\right)\sin\frac{\Delta x}{2}$$

Делим на $\Delta x$, представив его как $2\cdot\frac{\Delta x}{2}$, чтобы получить в знаменателе тот же аргумент, что и под синусом:

$$\frac{\Delta y}{\Delta x} = \cos\!\left(x+\frac{\Delta x}{2}\right) \cdot \frac{\sin\frac{\Delta x}{2}}{\frac{\Delta x}{2}}$$

При $\Delta x \to 0$: первый множитель стремится к $\cos x$ (косинус непрерывен, урок 183), второй — к $1$ по первому замечательному пределу (урок 180, с заменой $\varphi = \frac{\Delta x}{2} \to 0$):

$$f'(x) = \cos x \cdot 1 = \cos x$$

Теорема. $(\sin x)' = \cos x$ для любого вещественного $x$.

Вывод $(e^x)' = e^x$

$$\Delta y = e^{x+\Delta x} - e^x = e^x\bigl(e^{\Delta x}-1\bigr)$$

(здесь мы вынесли $e^x$ за скобки, используя свойство показательной функции $e^{a+b}=e^a e^b$). Делим на $\Delta x$:

$$\frac{\Delta y}{\Delta x} = e^x \cdot \frac{e^{\Delta x}-1}{\Delta x}$$

Величина $e^x$ от $\Delta x$ не зависит и выносится за знак предела. Второй множитель — это ровно эквивалентность $e^{t}-1 \sim t$ при $t\to0$, доказанная в уроке 180 как прямое следствие второго замечательного предела, то есть $\frac{e^{\Delta x}-1}{\Delta x} \to 1$:

$$f'(x) = e^x \cdot 1 = e^x$$

Теорема. $(e^x)' = e^x$ для любого вещественного $x$ — экспонента с основанием $e$ является единственной (с точностью до постоянного множителя) элементарной функцией, равной собственной производной.

Разбор примеров

Пример 1 (лёгкий). Используя выведенную формулу, найти $(x^5)'$ и вычислить значение производной в точке $x=2$.

По теореме $(x^n)' = nx^{n-1}$ с $n=5$: $(x^5)' = 5x^4$. В точке $x=2$: $f'(2) = 5\cdot16 = 80$.

Ответ: $(x^5)'=5x^4$, $f'(2)=80$.

Пример 2 (средний). Используя вывод формулы $(\sin x)'=\cos x$, найти угловой коэффициент касательной к графику $y=\sin x$ в точке $x_0=\frac{\pi}{3}$.

$$f'\!\left(\frac{\pi}{3}\right) = \cos\frac{\pi}{3} = \frac12$$

Ответ: касательная к синусоиде в точке $x_0=\frac\pi3$ имеет угловой коэффициент $\dfrac12$ — синусоида там растёт вдвое медленнее, чем растёт сам аргумент.

Пример 3 (сложный, ML). Используя формулу $(e^x)'=e^x$, вывести по определению производную сигмоиды $\sigma(x) = \dfrac{1}{1+e^{-x}}$ в произвольной точке $x$ (не только в нуле).

Запишем $\sigma(x+\Delta x) - \sigma(x)$ через общий знаменатель:

$$\Delta y = \frac{1}{1+e^{-(x+\Delta x)}} - \frac{1}{1+e^{-x}} = \frac{\bigl(1+e^{-x}\bigr) - \bigl(1+e^{-(x+\Delta x)}\bigr)}{\bigl(1+e^{-(x+\Delta x)}\bigr)\bigl(1+e^{-x}\bigr)} = \frac{e^{-x}-e^{-x-\Delta x}}{\bigl(1+e^{-x-\Delta x}\bigr)\bigl(1+e^{-x}\bigr)}$$

Вынесем в числителе общий множитель $e^{-x}$: $e^{-x}-e^{-x-\Delta x} = e^{-x}\bigl(1-e^{-\Delta x}\bigr)$. Тогда

$$\frac{\Delta y}{\Delta x} = \frac{e^{-x}}{\bigl(1+e^{-x-\Delta x}\bigr)\bigl(1+e^{-x}\bigr)} \cdot \frac{1-e^{-\Delta x}}{\Delta x}$$

При $\Delta x \to 0$: второй множитель $\dfrac{1-e^{-\Delta x}}{\Delta x} = -\dfrac{e^{-\Delta x}-1}{\Delta x} \to -1$ (та же эквивалентность $e^t-1\sim t$, что и выше, с $t=-\Delta x\to0$), а в первом множителе $e^{-x-\Delta x}\to e^{-x}$ по непрерывности экспоненты, значит знаменатель стремится к $(1+e^{-x})^2$. Итого:

$$\sigma'(x) = \frac{e^{-x}}{(1+e^{-x})^2}\cdot(-1)\cdot(-1) = \frac{e^{-x}}{(1+e^{-x})^2}$$

Заметим, что это выражение можно переписать компактнее, домножив числитель и знаменатель на $\sigma(x) = \frac{1}{1+e^{-x}}$:

$$\sigma'(x) = \frac{1}{1+e^{-x}} \cdot \frac{e^{-x}}{1+e^{-x}} = \sigma(x)\cdot\frac{(1+e^{-x})-1}{1+e^{-x}} = \sigma(x)\bigl(1-\sigma(x)\bigr)$$

Ответ: $\sigma'(x) = \sigma(x)\bigl(1-\sigma(x)\bigr)$ — знаменитая формула, которую ты увидишь в любой реализации backpropagation через сигмоиду. Обрати внимание, что при $x=0$ формула даёт $\sigma'(0) = \frac12\cdot\frac12 = \frac14$ — ровно то число, которое было получено в задании 27 урока 180 другим путём, только там мы искали производную только в точке $0$, а здесь — сразу общую формулу для любого $x$.

Почему это важно

Именно этот вывод — не сама формула, а метод — и есть главный навык урока: любая производная, даже самой замысловатой функции активации (сигмоида, гиперболический тангенс, softplus), в конечном счёте сводится к пределу отношения приращений, а дальше — вопрос алгебраической ловкости и знания замечательных пределов. Когда фреймворк глубокого обучения выполняет loss.backward(), он не «магически знает» производные — он применяет именно те формулы, что мы только что вывели (и их обобщения через правило цепи), пересчитывая миллионы раз в секунду ровно ту конструкцию, которую ты сейчас проделал вручную три раза подряд.

Практика: 30 заданий

Базовые задания (1–10)

Задание 1: Найти по определению производную $f(x)=x^2$ в точке $x_0=5$.


Задание 2: Найти по определению производную линейной функции $f(x)=3x+7$ в произвольной точке $x_0$.


Задание 3: Доказать по определению, что производная константы $f(x)=C$ равна нулю в любой точке.


Задание 4: Найти по определению $f'(1)$ для $f(x)=x^3$.


Задание 5: Найти по определению производную $f(x)=x^2$ в произвольной точке $x_0$ (общая формула).


Задание 6: Найти по определению $f'(0)$ для $f(x)=2x^2-3x+1$.


Задание 7: Составить уравнение касательной к графику $y=x^2$ в точке $x_0=1$, используя производную по определению.


Задание 8: Найти по определению $f'(2)$ для $f(x)=\dfrac1x$.


Задание 9: Тело движется по закону $s(t) = 4t^2+2t$ (метры, секунды). Найти мгновенную скорость в момент $t=1$.


Задание 10: Найти по определению $f'(4)$ для $f(x)=\sqrt{x}$.


Средние задания (11–20)

Задание 11: Найти по определению производную $f(x)=x^4$ в произвольной точке $x_0$.


Задание 12: Найти по определению $f'(0)$ для $f(x)=x|x|$.


Задание 13: Исследовать дифференцируемость $f(x)=|x-2|$ в точке $x_0=2$.


Задание 14: Найти по определению производную $f(x)=\dfrac{1}{x^2}$ в произвольной точке $x_0\ne0$.


Задание 15: Функция задана как $f(x)=x\sin\dfrac1x$ при $x\ne0$ и $f(0)=0$. Существует ли $f'(0)$?


Задание 16: Составить уравнение касательной к графику $y=\dfrac1x$ в точке $x_0=1$.


Задание 17: Материальная точка движется по закону $s(t) = t^3-2t$. Найти мгновенную скорость в момент $t=2$ и сравнить со скоростью в момент $t=1$, чтобы определить, ускоряется ли движение.


Задание 18: Функция потерь одного веса задана как $L(w) = (w-3)^2$. Найти по определению $L'(w)$ в произвольной точке и объяснить, какое значение веса $w$ градиентный спуск будет считать оптимальным (то есть где $L'(w)=0$).


Задание 19: Используя определение и первый замечательный предел, найти $f'(0)$ для $f(x)=\sin(2x)$.


Задание 20: Функция задана кусочно: $f(x)=x^2$ при $x\le1$ и $f(x)=2x-1$ при $x>1$. Исследовать непрерывность и дифференцируемость в точке $x_0=1$.


Продвинутые задания (21–30)

Задание 21: Используя общий вывод из теоретической части, найти $(x^7)'$ и вычислить $f'(-1)$.


Задание 22: Используя вывод формулы $(\sin x)'=\cos x$ из теоретической части, найти угловой коэффициент касательной к $y=\sin x$ в точке $x_0=\pi$.


Задание 23: Используя вывод формулы $(e^x)'=e^x$, найти значение производной $e^x$ в точке $x=0$ и объяснить его смысл.


Задание 24: Исследовать дифференцируемость $f(x)=x^{2/3}$ в точке $x_0=0$.


Задание 25: Для ReLU, $f(x)=\max(0,x)$, объяснить, почему на отрезке субградиентов $[0,1]$ в точке $x=0$ конкретный практический выбор значения (обычно $0$) почти никогда не искажает результат обучения нейросети.


Задание 26: Исследовать дифференцируемость $f(x)=|x|^3$ в точке $x_0=0$.


Задание 27: Проверить согласованность: вывести производную $f(x)=x^{-1}$ в произвольной точке $x_0\ne0$ напрямую по определению и сравнить с результатом, если формально подставить $n=-1$ в теорему $(x^n)'=nx^{n-1}$.


Задание 28: Полный вывод из теоретической части даёт $\sigma'(x)=\sigma(x)(1-\sigma(x))$ для сигмоиды. Используя эту формулу, найти, при каком значении $x$ производная сигмоиды максимальна, и объяснить смысл этого результата для обучения нейросети.


Задание 29: Кратко объясни (без громоздких вычислений), почему из непрерывности функции на всей числовой прямой не следует не только дифференцируемость в отдельных точках, но даже существование хотя бы одной точки дифференцируемости.


Задание 30: Дана функция $f(x) = x|x|$. Показать, что она дифференцируема на всей числовой прямой, найти явную формулу $f'(x)$, и определить, является ли сама производная $f'(x)$ непрерывной и дифференцируемой в нуле.


Частые ошибки

Ошибка 1. Подставляют $\Delta x=0$ в отношение $\frac{\Delta y}{\Delta x}$ до того, как оно упрощено.

Как выглядит: пишут $\frac{\Delta y}{\Delta x} = \frac{f(x_0+0)-f(x_0)}{0} = \frac{0}{0}$ и останавливаются, объявляя, что производной «не существует».

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

Как правильно: сначала алгебраически упростить $\frac{\Delta y}{\Delta x}$, сократив общий множитель $\Delta x$ (который на этом этапе ещё не равен нулю, а лишь стремится к нему), и только после сокращения — переходить к пределу. Именно в этом сокращении и заключена вся содержательная часть вычисления.

Ошибка 2. Путают приращение функции $\Delta y$ с самой производной.

Как выглядит: на вопрос «чему равна производная $f$ в точке $x_0$» отвечают выражением $f(x_0+\Delta x)-f(x_0)$, не деля на $\Delta x$ и не переходя к пределу.

Почему возникает: оба объекта звучат похоже — «изменение функции» и «скорость изменения функции» — но это принципиально разные величины: одна измеряется в тех же единицах, что и сама функция, другая — в единицах «функция на единицу аргумента».

Как правильно: держи в голове три отдельных объекта: $\Delta y$ — приращение (величина, зависящая от размера шага $\Delta x$), $\frac{\Delta y}{\Delta x}$ — средняя скорость изменения (тоже зависит от шага), и только предел этого отношения, $f'(x_0)$, — производная, число, характеризующее исключительно саму точку $x_0$, а не выбор шага.

Ошибка 3. Считают, что если функция непрерывна, то она автоматически дифференцируема.

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

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

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

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

Как выглядит: для функции, склеенной из двух кусков, проверяют, что $f(x_0^-) = f(x_0^+)$ (непрерывность), и на этом успокаиваются, полагая, что раз график «не рвётся», то он и «не ломается».

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

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

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

Как выглядит: пишут «$f(x)=\max(0,x)$, значит $f'(x)=1$» для всех $x$, включая $x=0$, не замечая разрыва производной.

Почему возникает: формула $\max(0,x) = x$ для $x>0$ настолько проста, что кажется, будто она распространяется на всю область определения, включая граничную точку.

Как правильно: производную кусочно заданной функции нужно находить отдельно на каждом открытом промежутке, где выбрана конкретная ветка, а в точках стыка веток — отдельно проверять существование и равенство односторонних производных (как в задании 25); в точке $x=0$ у ReLU классической производной нет вовсе, там работает только субградиент.

Ошибка 6. Забывают, что производная — локальная характеристика, и переносят вывод, сделанный в одной точке, на всю функцию.

Как выглядит: найдя $f'(x_0)=0$ для одной конкретной точки $x_0$, делают вывод, что функция постоянна или что производная всюду равна нулю.

Почему возникает: интуитивное (и в общем случае неверное) ожидание, что раз в этой точке «мгновенная скорость» равна нулю, то и вокруг неё функция «не должна меняться».

Как правильно: $f'(x_0)=0$ означает лишь, что касательная в точности горизонтальна именно в точке $x_0$ — сама функция при этом может расти сразу после неё (как $x^3$ в нуле) или иметь там локальный экстремум. Производная — функция от $x$ не менее содержательная, чем исходная $f$, и её нужно исследовать отдельно в каждой точке или как функцию целиком.

Ошибка 7. Игнорируют требование конечности предела в определении дифференцируемости.

Как выглядит: для функции вроде $x^{2/3}$ в нуле (задание 24) видят, что предел отношения приращений существует «в широком смысле» (равен $+\infty$ с одной стороны), и объявляют функцию дифференцируемой с производной, равной бесконечности.

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

Как правильно: если предел отношения приращений бесконечен или не существует вовсе, производной в точке нет — по определению. Бесконечный «наклон» касательной означает лишь, что касательная вертикальна, а вертикальная прямая не имеет углового коэффициента как конечного числа, и с точки зрения строгого определения это равносильно отсутствию производной.

Главное запомнить

  • Определение: $f'(x_0) = \lim\limits_{\Delta x\to0} \dfrac{f(x_0+\Delta x)-f(x_0)}{\Delta x}$ — производная это предел отношения приращения функции к приращению аргумента, а не само приращение и не отношение при конкретном ненулевом $\Delta x$.

  • Вычисление по определению всегда идёт по одной и той же схеме: раскрыть $\Delta y$, сократить $\Delta y/\Delta x$ на общий множитель $\Delta x$ до перехода к пределу, и только затем устремить $\Delta x \to 0$.

  • Геометрический смысл: $f'(x_0)$ — угловой коэффициент касательной к графику в точке $(x_0,f(x_0))$; уравнение касательной $y=f(x_0)+f'(x_0)(x-x_0)$.

  • Физический смысл: $f'(x_0)$ — мгновенная скорость изменения величины $f$ относительно аргумента $x$ в точке $x_0$; частный случай — мгновенная скорость движения $v(t)=s'(t)$, но в общем смысле это универсальная мера чувствительности любой величины к любой другой, включая градиент функции потерь по весу нейросети.

  • Дифференцируемость влечёт непрерывность, но не наоборот: доказательство идёт через запись $\Delta y = \frac{\Delta y}{\Delta x}\cdot\Delta x \to f'(x_0)\cdot0=0$; классический контрпример обратного — $|x|$ в нуле, непрерывная, но не дифференцируемая функция.

  • Односторонние производные $f'_\pm(x_0)$ определяются как пределы отношения приращений только справа или только слева; функция дифференцируема тогда и только тогда, когда обе они существуют, конечны и равны.

  • ReLU и субградиенты: у $\max(0,x)$ в нуле $f'_-(0)=0\ne1=f'_+(0)$, классической производной нет, но любое число из $[0,1]$ — корректный субградиент, и именно это позволяет обучать сети с ReLU методом градиентного спуска на практике.

  • Производные элементарных функций выводятся по одной и той же схеме, что и любой конкретный пример: $(x^n)'=nx^{n-1}$ через формулу разности степеней, $(\sin x)'=\cos x$ через формулу разности синусов и первый замечательный предел, $(e^x)'=e^x$ через второй замечательный предел (эквивалентность $e^t-1\sim t$) — таблица производных не список для заучивания, а набор доказанных теорем.

  • Производная сигмоиды $\sigma'(x)=\sigma(x)(1-\sigma(x))$ выводится тем же методом; максимум $\frac14$ достигается при $x=0$, а затухание производной при больших $|x|$ — источник проблемы vanishing gradient в глубоких сетях.

  • Условие конечности предела в определении обязательно: если предел отношения приращений бесконечен (вертикальная касательная, как у $x^{2/3}$ в нуле) или колеблется без предела (как у $x\sin\frac1x$ в нуле), производной в точке нет.

Связь с другими темами курса

Что нужно было знать до этого урока

Весь урок опирается на аппарат пределов из уроков 179–182: определение предела функции, теоремы о пределах (сумма, произведение, частное), первый и второй замечательные пределы и таблица эквивалентных бесконечно малых из урока 180 — без формулы $\sin h/h \to 1$ не вывести $(\sin x)'=\cos x$, а без $e^h-1\sim h$ не вывести $(e^x)'=e^x$. Урок 183 «Непрерывность» дал определение непрерывности через предел, на которое напрямую опирается теорема «дифференцируемость влечёт непрерывность». Урок 185 «Свойства непрерывных функций» закрепил интуицию о том, что непрерывность гарантирует определённую «предсказуемость» функции, но, как ты увидел здесь, не гарантирует гладкости — это следующий, более строгий уровень требований.

Что изучить дальше

Следующий урок, 187 «Дифференциал функции», превращает производную в инструмент линейного приближения: зная $f'(x_0)$, можно быстро оценить $f(x_0+\Delta x) \approx f(x_0) + f'(x_0)\Delta x$ без точного пересчёта — именно эта идея лежит в основе методов Ньютона, линеаризации в физике и первого порядка разложения Тейлора. Урок 188 «Производные высших порядков» идёт ещё на шаг глубже — задание 30 этого урока специально приоткрывает эту тему, показывая функцию, которая дифференцируема один раз, но не дважды. Дальше в курсе появятся правила дифференцирования суммы, произведения, частного и сложной функции — они избавят тебя от необходимости каждый раз возвращаться к пределу отношения приращений, но будут доказаны ровно тем же методом, каким доказаны формулы в этом уроке.

Где это нужно в жизни

🤖 ML/AI. Backpropagation — это применение определения производной (и правила цепи) к каждому весу глубокой сети; субградиенты ReLU, max-pooling и $\ell_1$-регуляризации — прямое следствие теории односторонних производных из этого урока; производная сигмоиды $\sigma(1-\sigma)$ и связанная с ней проблема затухающего градиента — материал заданий 27–28.

🔬 Физика. Мгновенная скорость и ускорение — производные первого и второго порядка координаты по времени; вся классическая механика Ньютона формулируется на языке производных.

💰 Экономика. «Предельные издержки» и «предельная прибыль» (marginal cost, marginal revenue) — это в точности производные функций затрат и выручки; условие оптимума производства $MC=MR$ — это условие равенства двух производных.

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

Интересные факты

  • Философ Джордж Беркли в памфлете «Аналитик» (1734) назвал бесконечно малые величины Ньютона и Лейбница «призраками ушедших величин» — критика, которая почти полтора века оставалась без строгого ответа, пока Коши и Вейерштрасс не переформулировали производную через обычный предел, полностью убрав из определения саму идею «актуальной» бесконечно малости.

  • Спор о приоритете между Ньютоном и Лейбницем был настолько ожесточённым, что в 1712 году Королевское общество создало специальную комиссию для его разрешения — и её отчёт, формально анонимный, был фактически написан самим Ньютоном, президентом общества в тот момент. Отчёт, разумеется, признал приоритет за Ньютоном.

  • Функция Вейерштрасса — непрерывная всюду, но не дифференцируемая нигде — когда её впервые представили математическому сообществу в 1872 году, вызвала настоящий шок: до этого интуитивно казалось очевидным, что у любой непрерывной кривой должна быть касательная хотя бы в некоторых точках. Анри Пуанкаре позже назвал подобные функции «монстрами», а их появление заставило математиков полностью пересмотреть интуитивные представления о «типичной» непрерывной функции.

  • Обозначение $\frac{dy}{dx}$, введённое Лейбницем, оказалось настолько удачным, что спустя триста с лишним лет оно всё ещё используется практически без изменений — в том числе в современных библиотеках автоматического дифференцирования, где градиенты по весам нейросети иногда прямо называют в коде dL_dw, калькируя лейбницеву запись.

Лайфхаки и полезные трюки

  1. Вычисляя производную по определению, всегда ищи общий множитель $\Delta x$ до того, как перейдёшь к пределу. Если после раскрытия $\Delta y$ в числителе не появляется явный множитель $\Delta x$, который можно сократить, скорее всего, где-то нужно домножить на сопряжённое выражение (для корней) или воспользоваться тригонометрическими формулами суммы-разности (для синуса и косинуса) — как в примерах этого урока.

  2. При работе с корнями всегда домножай на сопряжённое. Формула $(\sqrt{a}-\sqrt{b})(\sqrt a+\sqrt b) = a-b$ убирает корни из числителя и превращает разность в произведение, которое затем легко сократить с $\Delta x$ в знаменателе — универсальный приём для любой функции вида $\sqrt{g(x)}$.

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

  4. Держи в голове три готовых шаблона доказательства: разность степеней $a^n-b^n=(a-b)(\ldots)$ для $x^n$, формулу разности синусов $\sin A-\sin B=2\cos\frac{A+B}2\sin\frac{A-B}2$ для тригонометрии, вынесение общего множителя $e^{x_0}(e^{\Delta x}-1)$ для показательной функции — почти любая производная элементарной функции по определению сводится к одному из этих трёх приёмов.

  5. Проверяй результат вычисления производной по определению, сверяя его со школьной таблицей производных, если она применима — если ответ разошёлся, ищи ошибку в алгебраическом упрощении $\Delta y$, а не в самом предельном переходе (предельные переходы в этом уроке почти всегда стандартны: непрерывность многочлена, первый или второй замечательный предел).

  6. Не путай вопрос «существует ли производная» с вопросом «чему равна производная»: сначала всегда проверяй существование (через равенство односторонних производных или через явное вычисление общего предела), и только для функций, где существование уже установлено, ищи конкретное числовое значение.

  7. Когда встречаешь негладкую функцию активации в контексте нейросетей (ReLU, hard tanh, leaky ReLU), сразу задавай себе вопрос об одной конкретной точке излома, а не обо всей функции — почти всегда негладкость сосредоточена в одной или нескольких изолированных точках, и её достаточно явно выписать и объяснить через субградиент, как в задании 25.

Строгое определение производной — это не формальность, которую нужно пережить перед тем, как перейти к «настоящей» работе с правилами дифференцирования. Это ровно тот момент курса, где интуитивное «крутизна графика» и «скорость движения» превращаются в одно и то же число, вычисляемое по одной и той же формуле — и это число потом будет вычисляться внутри буквально каждой обученной тобой модели, каждый раз, когда loss.backward() пробегает по графу вычислений. Дальше в курсе формулы станут удобнее, а вычисления — короче, но всякий раз, когда правило дифференцирования покажется тебе «магией», вспомни, что за ним стоит именно этот предел, который ты только что разобрал вручную десятки раз.

Понял тему? Закрепи в боте! 🚀

Попрактикуйся на задачах и получи персональные рекомендации от AI

💪 Начать тренировку
💬 Есть вопрос? Спроси бота!