Производные высших порядков 🎢
Представь, что ты обучаешь модель градиентным спуском, и график функции потерь ведёт себя странно: то катится вниз почти вертикально, то внезапно замедляется и еле ползёт по плоскому «плато», хотя формально градиент там ещё не нулевой. Первая производная в обоих случаях просто говорит «вниз» или «вверх» — она видит только направление и скорость изменения прямо в этой точке. Но она ничего не знает о том, как быстро меняется сам наклон: то ли впереди резкий обрыв, то ли долгая пологая долина, то ли ловушка в виде седловой точки. Чтобы это понять, нужен инструмент на порядок тоньше — производная от производной.
Идея на самом деле очень простая, и ты уже готов её принять: если $f'(x)$ — это скорость изменения функции $f$, то ничто не мешает взять производную ещё раз и получить $f''(x)$ — скорость изменения самой этой скорости. Это не какая-то новая экзотическая операция, а всё та же самая процедура «предел отношения приращений» из урока 186, применённая не к исходной функции, а к её производной. И как только эта, казалось бы, техническая надстройка появляется, она немедленно даёт две мощные интерпретации: физическую (ускорение) и геометрическую (выпуклость графика).
А дальше — прямая дорога в машинное обучение. Вторая производная функции потерь одной переменной — это её кривизна: насколько резко или полого искривляется график ошибки вблизи текущей точки. В многомерном случае, когда параметров не один, а миллионы, роль второй производной берёт на себя матрица вторых частных производных — гессиан. Именно гессиан отвечает на вопрос, который градиентный спуск задать не умеет: находимся ли мы в точке минимума, максимума или в седловой точке, где по одним направлениям поверхность идёт вниз, а по другим — вверх. И именно на гессиане строятся методы оптимизации второго порядка вроде метода Ньютона, которые в удачных случаях сходятся к минимуму кардинально быстрее обычного градиентного спуска — не линейно, а квадратично.
В этом уроке мы пройдём путь от простого «продифференцировать дважды» до общей теории производных произвольного порядка $n$, разберём формулу Лейбница для $n$-й производной произведения (изящный аналог бинома Ньютона), а в конце подробно остановимся на том, зачем всё это нужно специалисту по данным: гессиан, тест второй производной на экстремум, седловые точки и интуиция за методом Ньютона. Давай разбираться по порядку.
Стоит сразу отметить, почему эта тема идёт именно здесь, сразу после дифференциала функции в уроке 187. Дифференциал дал тебе линейное, самое грубое приближение функции вблизи точки — прямую линию, касающуюся графика. Но прямая линия слепа к кривизне: она в равной степени хорошо (точнее, одинаково плохо) приближает и пологую дугу, и крутой изгиб. Вторая производная — это первая поправка к этой грубости, первый шаг к тому, чтобы приближение стало не линейным, а квадратичным, учитывающим форму, а не только направление. Именно с этого шага начинается настоящая точность численных методов, и именно на нём строится всё, что будет дальше в курсе — от теорем о среднем значении до ряда Тейлора.
История: откуда это взялось?
Вторая производная появилась в математике даже раньше, чем было строго сформулировано само понятие производной — просто потому, что физика в ней отчаянно нуждалась. Исаак Ньютон, выводя законы механики в конце XVII века, записал второй закон движения в форме, которая сегодня выглядит как $F = ma$, где $a$ — ускорение. Но ускорение — это не какая-то отдельная физическая сущность, а именно вторая флюксия координаты по времени: скорость $v$ есть первая производная пути $s$ по времени, а ускорение $a$ — это скорость изменения самой скорости, то есть производная от $v$, или, что то же самое, вторая производная от $s$. Ньютон обозначал её двумя точками над буквой — $\ddot s$ — и в этой записи буквально видно, что операция «взять флюксию» применена дважды подряд.
Готфрид Лейбниц, работавший над тем же кругом задач независимо, расширил свою запись $\frac{dy}{dx}$ ровно так, как и должен расширяться хорошо продуманный формализм: если $dy$ — это малое приращение $y$, то $d(dy)$ — малое приращение уже самого приращения, и Лейбниц стал писать его как $d^2y$, а вторую производную — как $\frac{d^2y}{dx^2}$. Это обозначение прижилось настолько прочно, что используется без изменений уже больше трёхсот лет, и именно его ты встретишь в любом современном учебнике или библиотеке символьных вычислений. Лейбницу же принадлежит и формула для $n$-й производной произведения двух функций, которую мы разберём в этом уроке — он вывел её в 1690-х годах, заметив поразительное структурное сходство с биномиальным разложением $(a+b)^n$, которое к тому времени уже было хорошо известно благодаря работам самого Ньютона над биномом с произвольным показателем.
Геометрическая интерпретация второй производной — выпуклость и вогнутость графика — формализовалась куда медленнее и по-настоящему оформилась в самостоятельную математическую теорию только на рубеже XIX–XX веков. Ключевую роль сыграл датский математик Йохан Йенсен, доказавший в 1906 году неравенство, которое носит его имя и по сей день остаётся одним из центральных инструментов при работе с выпуклыми функциями — от теории вероятностей до современной теории оптимизации. А уже в XX веке, с развитием численных методов и вычислительной техники, вторая производная получила совершенно новую практическую роль: метод Ньютона для поиска экстремумов функций (переоткрытый и обобщённый математиками XVIII–XX веков на основе идей самого Ньютона о приближённом решении уравнений) стал одним из базовых инструментов оптимизации, а его многомерное обобщение через гессиан — фундаментом целого класса алгоритмов, без которых сегодня не обходится ни одна серьёзная библиотека численной оптимизации.
Вторая производная и её физический смысл
Интуиция: скорость самой скорости
Давай разберёмся на том же примере со спидометром, что был в предыдущем уроке. Стрелка спидометра показывает мгновенную скорость автомобиля — это первая производная координаты по времени. А теперь представь, что ты смотришь не на саму стрелку, а на то, как быстро она поворачивается: резко дёргается вправо (машина стремительно разгоняется), медленно ползёт (разгон плавный) или вовсе замерла (скорость постоянна, движение равномерное). Скорость поворота стрелки спидометра — это в точности ускорение, и оно и есть вторая производная пути по времени.
Важно понимать: вторая производная — это не какая-то новая операция, придуманная специально для физики. Это ровно та же самая процедура «взять предел отношения приращений», которую ты применял в уроке 186, только теперь она применяется не к исходной функции $f$, а к её производной $f'$, которая сама является функцией — и, значит, у неё тоже, в принципе, может быть своя производная.
Формальное определение
Определение. Пусть функция $f$ дифференцируема в некоторой окрестности точки $x_0$, то есть определена функция $f'(x)$. Если эта функция $f'$, в свою очередь, дифференцируема в точке $x_0$, то её производная называется второй производной функции $f$ в точке $x_0$ и обозначается $f''(x_0)$:
$$f''(x_0) = \bigl(f'(x)\bigr)'\Big|_{x=x_0} = \lim_{\Delta x \to 0} \frac{f'(x_0+\Delta x) - f'(x_0)}{\Delta x}$$Равнозначные обозначения: $f''(x)$ (Лагранж), $y''$, $\dfrac{d^2y}{dx^2}$ (Лейбниц), $\ddot y$ (Ньютон, обычно для производной по времени).
Обрати внимание на структуру этого определения: чтобы вторая производная существовала в точке $x_0$, недостаточно, чтобы $f$ была дифференцируема в этой точке — нужно, чтобы $f$ была дифференцируема в целой окрестности $x_0$ (иначе не из чего будет строить функцию $f'(x)$, которую предстоит дифференцировать ещё раз), и чтобы сама эта функция $f'$ была дифференцируема уже непосредственно в точке $x_0$. Это на порядок более сильное требование, чем просто существование $f'(x_0)$.
Физически, если $x$ — время (обычно обозначается $t$), а $f(t) = s(t)$ — координата (путь) движущегося тела, то цепочка производных выглядит так:
$$s(t) \;\xrightarrow{\text{производная}}\; v(t) = s'(t) \;\xrightarrow{\text{производная}}\; a(t) = v'(t) = s''(t)$$Скорость — это то, насколько быстро меняется положение. Ускорение — это то, насколько быстро меняется сама скорость. Именно ускорение стоит в правой части второго закона Ньютона $F = ma$: сила не определяет положение и не определяет скорость напрямую, она определяет именно вторую производную положения по времени.
Разбор примеров
Пример 1 (лёгкий). Найти вторую производную многочлена $f(x) = x^3 - 4x^2 + 5x - 7$.
Дифференцируем один раз, используя таблицу производных из урока 186:
$$f'(x) = 3x^2 - 8x + 5$$Дифференцируем ещё раз — теперь уже саму функцию $f'(x)$:
$$f''(x) = 6x - 8$$Ответ: $f''(x) = 6x-8$. Заметь, что степень многочлена каждый раз падает на единицу: у кубического многочлена вторая производная — уже линейная функция.
Пример 2 (средний). Тело движется вдоль прямой по закону $s(t) = t^3 - 6t^2 + 9t$ (метры, секунды). Найти ускорение в момент времени $t=1$ и определить, разгоняется тело или тормозит в этот момент.
Сначала находим скорость:
$$v(t) = s'(t) = 3t^2 - 12t + 9$$Затем ускорение — вторую производную:
$$a(t) = v'(t) = s''(t) = 6t - 12$$В момент $t=1$: скорость $v(1) = 3 - 12 + 9 = 0$, ускорение $a(1) = 6 - 12 = -6$ м/с².
Ответ: $a(1) = -6$ м/с². Скорость в этот момент равна нулю (тело на мгновение остановилось), а ускорение отрицательно — значит, в следующее мгновение скорость станет отрицательной, то есть тело начнёт двигаться в обратную сторону. Момент $t=1$ — это точка разворота движения, и знак второй производной здесь как раз сообщает, в какую сторону «качнётся» скорость дальше.
Пример 3 (сложный, ML). Функция потерь одного веса задана как $L(w) = w^4 - 8w^2 + 3$. Найти $L''(w)$ и вычислить её значение в точках $w=0$ и $w=2$, где обращается в нуль первая производная $L'(w)$. Что означает знак $L''$ в каждой из этих точек?
Сначала первая производная: $L'(w) = 4w^3 - 16w$. Приравняем к нулю: $4w(w^2-4)=0$, откуда $w=0$, $w=2$, $w=-2$ — это критические точки, кандидаты на экстремум (подробно критерии экстремума через производную будут в уроке 190, а пока используем вторую производную как более быстрый инструмент). Теперь находим вторую производную:
$$L''(w) = 12w^2 - 16$$В точке $w=0$: $L''(0) = -16 < 0$. В точке $w=2$: $L''(2) = 12\cdot4-16 = 32 > 0$.
Ответ: $L''(w) = 12w^2-16$. Отрицательный знак в $w=0$ говорит, что график функции потерь вблизи этой точки выгнут «куполом» вниз — это локальный максимум, худшее место для градиентного спуска. Положительный знак в $w=2$ говорит о «чаше» — это локальный минимум, именно туда мы и хотим, чтобы сошёлся алгоритм обучения. Мы ещё вернёмся к этому наблюдению как к строгому тесту в разделе про гессиан.
Почему это важно
Вторая производная — это первый инструмент, который позволяет отличить «мы падаем вниз» от «мы падаем вниз, но всё медленнее» или «мы падаем вниз, и разгоняемся». Первая производная в обеих последних ситуациях просто отрицательна — она слепа к этому различию. А для оптимизации разница огромна: если кривизна функции потерь маленькая (график почти прямой), можно позволить себе крупный шаг обучения; если кривизна большая (функция резко изгибается), тот же самый шаг может «перепрыгнуть» через минимум и разболтать обучение. Именно поэтому продвинутые оптимизаторы — не только метод Ньютона, но и его более практичные родственники — так или иначе пытаются оценить кривизну поверхности ошибки, а не только её наклон.
Геометрический смысл: выпуклость и вогнутость графика
Интуиция: чаша и купол
Давай разберёмся, что вторая производная говорит о форме графика, а не только о движении вдоль него. Представь две простые фигуры: чашу (миску) и купол. У чаши график лежит выше любой своей хорды и выше любой касательной — она «держит воду». У купола — наоборот, график лежит ниже любой своей хорды и ниже любой касательной, как крыша дома, с которой вода стекает. Первая производная ничего не говорит про эти формы: и растущий, и убывающий участок можно нарисовать как кусочек чаши, так и кусочек купола. А вот вторая производная — знает.
Определение. Функция $f$ называется выпуклой вниз (или просто выпуклой — именно эту терминологию используют в теории оптимизации и в машинном обучении) на интервале, если её график на этом интервале лежит не ниже любой своей касательной, то есть имеет форму «чаши». Функция называется выпуклой вверх (или вогнутой) на интервале, если её график лежит не выше любой своей касательной, то есть имеет форму «купола». Точка, в которой график переходит от одной формы к другой (кривая как бы «переламывается» — меняется направление изгиба), называется точкой перегиба.
Здесь стоит сразу предупредить о терминологической ловушке: в русскоязычной литературе разные учебники называют «чашу» то выпуклой, то вогнутой, и наоборот — единого стандарта исторически не сложилось. Мы в этом курсе, вслед за принятой в машинном обучении и computer science традицией, называем «чашу» выпуклой функцией (по-английски convex — именно так называют, например, функцию потерь линейной регрессии $L(w) = \sum(y_i - wx_i)^2$, у которой ровно одна «чаша» и ровно один минимум). Всегда, когда встречаешь термин «выпуклая» или «вогнутая» в незнакомом источнике, проверяй, о какой именно форме идёт речь — путаница здесь возникает постоянно.
Признак выпуклости через вторую производную
Теорема (достаточный признак выпуклости). Пусть функция $f$ дважды дифференцируема на интервале $(a,b)$. Тогда:
— если $f''(x) \ge 0$ для всех $x \in (a,b)$, то $f$ выпукла вниз (чаша) на этом интервале;
— если $f''(x) \le 0$ для всех $x \in (a,b)$, то $f$ выпукла вверх (купол) на этом интервале.
Если $f''(x_0) = 0$ и при переходе через точку $x_0$ вторая производная меняет знак, то $x_0$ — точка перегиба.
Строгое доказательство этой теоремы использует теорему Лагранжа о среднем значении, с которой ты познакомишься в уроке 190 — там мы вернёмся к этому признаку и докажем его аккуратно. Пока важно закрепить саму связь: знак второй производной — это буквально знак кривизны графика. Положительная вторая производная означает, что наклон касательной (то есть сама первая производная $f'$) возрастает по мере движения слева направо — график загибается вверх, как дно чаши. Отрицательная вторая производная означает, что наклон убывает — график загибается вниз, как купол.
Разбор примеров
Пример 1 (лёгкий). Определить, выпукла ли парабола $f(x) = x^2 - 4x + 3$ на всей числовой прямой.
$$f'(x) = 2x - 4, \qquad f''(x) = 2$$Вторая производная — постоянное число $2 > 0$ на всей прямой, знак не зависит от $x$.
Ответ: парабола $y = x^2-4x+3$ выпукла вниз (чаша) на всей числовой прямой — это согласуется с тем, что ты и так знаешь о параболах с положительным старшим коэффициентом: у них одна ветвь вниз-вверх, форма чаши, и график лежит целиком выше любой своей касательной.
Пример 2 (средний). Найти точки перегиба и интервалы выпуклости функции $f(x) = x^3 - 6x^2 + 9x + 1$.
$$f'(x) = 3x^2 - 12x + 9, \qquad f''(x) = 6x - 12$$Приравняем вторую производную к нулю: $6x-12=0 \Rightarrow x=2$. Проверим знак $f''(x) = 6x-12$ по обе стороны: при $x<2$ выражение $6x-12<0$ (купол), при $x>2$ выражение $6x-12>0$ (чаша). Знак меняется, значит $x=2$ — действительно точка перегиба.
Ответ: на интервале $(-\infty, 2)$ функция выпукла вверх (купол), на интервале $(2, +\infty)$ — выпукла вниз (чаша), точка перегиба — $x=2$ (значение функции там $f(2) = 8-24+18+1=3$, то есть точка $(2,3)$).
Пример 3 (сложный, ML). Функция потерь линейной регрессии для одного параметра $w$ имеет вид $L(w) = \sum_{i=1}^n (y_i - wx_i)^2$. Показать, что $L(w)$ выпукла вниз при любых данных $x_i, y_i$, и объяснить, почему это гарантирует, что градиентный спуск найдёт глобальный минимум.
Раскроем квадрат и продифференцируем дважды. Сначала перепишем сумму:
$$L(w) = \sum_i \left(y_i^2 - 2wx_iy_i + w^2x_i^2\right)$$Первая производная (дифференцируем по $w$, суммы и константы $x_i,y_i$ не зависят от $w$):
$$L'(w) = \sum_i \left(-2x_iy_i + 2wx_i^2\right)$$Вторая производная:
$$L''(w) = \sum_i 2x_i^2 = 2\sum_i x_i^2$$Сумма квадратов $\sum_i x_i^2$ всегда неотрицательна (сумма квадратов вещественных чисел), значит $L''(w) \ge 0$ для любого $w$ — причём строго больше нуля, если хотя бы одно $x_i \ne 0$.
Ответ: $L''(w) = 2\sum_i x_i^2 \ge 0$, следовательно $L(w)$ выпукла вниз на всей числовой прямой — это одна сплошная «чаша» без единого «бугра» или «ямки» помимо самой глубокой точки. Именно поэтому у выпуклой функции потерь не бывает «ложных» локальных минимумов, отличных от глобального: любая точка, куда скатится градиентный спуск, окажется тем самым единственным и глобально наилучшим решением. Это одна из главных причин, почему линейную и логистическую регрессию учат оптимизировать «в лоб» градиентным спуском без особых трюков — гладкая выпуклая чаша прощает многое. У современных глубоких нейросетей, для сравнения, поверхность ошибки почти никогда не выпукла — там есть множество локальных минимумов и, что для практики даже важнее, огромное количество седловых точек, о которых мы поговорим чуть позже.
Почему это важно
Выпуклость — это не абстрактная геометрическая деталь, а центральное понятие всей теории оптимизации. Когда говорят «эта задача имеет выпуклую постановку», это означает буквально «у неё есть только один минимум, и любой разумный численный метод его найдёт» — колоссальная по силе гарантия, ради которой исследователи готовы идти на серьёзные компромиссы в постановке задачи, лишь бы сохранить выпуклость (метод опорных векторов, гребневая и лассо-регрессия, логистическая регрессия — всё это сознательно построено так, чтобы оставаться выпуклым). А для невыпуклых задач, как в глубоком обучении, вторая производная (и её многомерное обобщение — гессиан) остаётся главным локальным инструментом диагностики: она не гарантирует глобальную картину, но честно говорит, что происходит прямо здесь, в текущей точке.
Производные $n$-го порядка
Интуиция: рекурсия без конца
Раз вторую производную можно получить, продифференцировав первую, то что мешает продифференцировать саму вторую производную и получить третью? А затем четвёртую? Пятую? Ничто не мешает — до тех пор, пока результат каждого шага остаётся дифференцируемой функцией. Это классическая рекурсивная конструкция: чтобы определить производную порядка $n$, нужно сначала определить производную порядка $n-1$, а затем продифференцировать её ещё раз.
Формальное определение
Определение. Производная $n$-го порядка функции $f$ (при $n \ge 2$, целое) определяется рекурсивно:
$$f^{(n)}(x) = \left(f^{(n-1)}(x)\right)'$$где по соглашению $f^{(0)}(x) = f(x)$ (сама функция — это «производная нулевого порядка»), $f^{(1)}(x) = f'(x)$. Функция, у которой существует и непрерывна производная порядка $n$ на некотором множестве, называется функцией класса $C^n$ на этом множестве.
Стандартные обозначения для небольших порядков — штрихи: $f'$, $f''$, $f'''$. Начиная с четвёртого порядка штрихи визуально сливаются в неразборчивую кашу, поэтому принято переходить на запись с числом в скобках: $f^{(4)}(x)$, $f^{(5)}(x)$, и в общем виде $f^{(n)}(x)$. У Лейбница та же идея выражается через степень оператора $d/dx$: $\dfrac{d^ny}{dx^n}$.
Разбор примеров
Пример 1 (лёгкий). Найти все производные функции $f(x) = x^5 - 3x^3$ до тех пор, пока они не станут тождественно равны нулю.
$$f(x) = x^5-3x^3$$$$f'(x) = 5x^4-9x^2$$
$$f''(x) = 20x^3-18x$$
$$f'''(x) = 60x^2-18$$
$$f^{(4)}(x) = 120x$$
$$f^{(5)}(x) = 120$$
$$f^{(6)}(x) = 0$$
Ответ: начиная с шестой производной все дальнейшие производные тождественно равны нулю. Это общее свойство любого многочлена: у многочлена степени $n$ производная порядка $n$ — это ненулевая константа, а все производные порядка выше $n$ равны нулю, потому что каждое дифференцирование понижает степень ровно на единицу, и рано или поздно от переменной $x$ вообще ничего не остаётся.
Пример 2 (средний). Найти общую формулу для $n$-й производной функции $f(x) = \sin x$.
Продифференцируем несколько раз подряд и посмотрим на закономерность:
$$f'(x)=\cos x,\quad f''(x)=-\sin x,\quad f'''(x)=-\cos x,\quad f^{(4)}(x)=\sin x$$Четвёртая производная снова совпала с исходной функцией — дальше цикл длиной 4 будет повторяться бесконечно. Это можно записать одной компактной формулой, если заметить, что каждое дифференцирование синуса или косинуса эквивалентно сдвигу аргумента на $\frac{\pi}{2}$ (действительно, $\cos x = \sin\left(x+\frac{\pi}{2}\right)$, а $-\sin x = \sin(x+\pi)$, и так далее):
$$(\sin x)^{(n)} = \sin\!\left(x + \frac{n\pi}{2}\right)$$Ответ: $(\sin x)^{(n)} = \sin\left(x+\dfrac{n\pi}{2}\right)$. Проверка: при $n=1$ получаем $\sin\left(x+\frac{\pi}{2}\right)=\cos x$ — верно, при $n=4$ получаем $\sin(x+2\pi)=\sin x$ — тоже верно, цикл замкнулся. Абсолютно аналогично выводится формула для косинуса: $(\cos x)^{(n)} = \cos\left(x+\dfrac{n\pi}{2}\right)$.
Пример 3 (сложный). Найти общую формулу для $n$-й производной функции $f(x) = e^{kx}$, где $k$ — произвольная константа.
Продифференцируем один раз, используя правило дифференцирования сложной функции (это правило подробно появится в следующих уроках, но результат для показательной функции уже встречался в курсе): $(e^{kx})' = k e^{kx}$ — экспонента воспроизводит саму себя с множителем $k$. Продифференцируем ещё раз:
$$(e^{kx})'' = k \cdot (e^{kx})' = k \cdot k e^{kx} = k^2 e^{kx}$$Видно, что каждое дифференцирование добавляет ещё один множитель $k$. По индукции:
$$(e^{kx})^{(n)} = k^n e^{kx}$$Ответ: $(e^{kx})^{(n)} = k^n e^{kx}$. При $k=1$ это в точности знакомая тебе формула $(e^x)^{(n)} = e^x$ — единственная элементарная функция, все производные которой (любого порядка!) совпадают с ней самой. Это не случайность, а прямое следствие того, что экспонента — собственная функция оператора дифференцирования с собственным значением $k$: применение оператора «взять производную» к $e^{kx}$ просто умножает функцию на число $k$, не меняя её вида, а значит и повторное применение оператора $n$ раз просто умножает на $k^n$.
Почему это важно
Производные высоких порядков — это не праздное упражнение «а что если продифференцировать ещё раз». Они — прямой строительный материал для формулы Тейлора (урок 193), которая приближает почти любую гладкую функцию многочленом, используя именно значения $f(x_0), f'(x_0), f''(x_0), f'''(x_0), \ldots$ в одной точке. Чем больше производных существует у функции (чем она «глаже», формально — чем выше класс $C^n$, к которому она принадлежит), тем точнее и на более широком интервале работает такое приближение. В глубоком обучении гладкость функции активации и функции потерь (наличие непрерывных производных высоких порядков) — не техническая придирка, а условие, обеспечивающее корректную работу многих методов оптимизации и анализа сходимости.
Формула Лейбница для $n$-й производной произведения
Интуиция: аналог бинома Ньютона
Ты уже знаешь (или скоро узнаешь в деталях в следующих уроках) правило дифференцирования произведения: $(uv)' = u'v + uv'$. Возьмём производную от этого выражения ещё раз и посмотрим, что получится:
$$(uv)'' = (u'v + uv')' = u''v + u'v' + u'v' + uv'' = u''v + 2u'v' + uv''$$Коэффициенты $1, 2, 1$ — узнаваемы, это в точности коэффициенты из разложения $(a+b)^2 = a^2+2ab+b^2$. Это не совпадение: если продолжить дифференцировать, коэффициенты будут в точности следовать треугольнику Паскаля, ровно как и в биноме Ньютона. Идея формулы Лейбница именно в этом: $n$-я производная произведения устроена как «бином», где роль степеней $a^{n-k}b^k$ играют производные $u^{(n-k)}v^{(k)}$.
Формальное определение
Формула Лейбница. Если функции $u(x)$ и $v(x)$ имеют производные до $n$-го порядка включительно, то
$$(uv)^{(n)} = \sum_{k=0}^{n} C_n^k \, u^{(n-k)}(x)\, v^{(k)}(x)$$где $C_n^k = \dfrac{n!}{k!(n-k)!}$ — биномиальные коэффициенты, а $u^{(0)} = u$, $v^{(0)} = v$ (производная нулевого порядка — это сама функция).
Формула доказывается по индукции ровно тем же способом, каким доказывается бином Ньютона: на каждом шаге дифференцирования каждое слагаемое $u^{(n-k)}v^{(k)}$ порождает два новых слагаемых, $u^{(n-k+1)}v^{(k)}$ и $u^{(n-k)}v^{(k+1)}$, и при аккуратном подсчёте, сколько раз каждое итоговое слагаемое получается разными путями, в точности воспроизводится треугольник Паскаля — то самое рекуррентное соотношение $C_{n}^{k} = C_{n-1}^{k-1} + C_{n-1}^{k}$, знакомое тебе из комбинаторики.
Разбор примеров
Пример 1 (лёгкий). Проверить формулу Лейбница при $n=2$ на конкретном примере: найти $(x^2 e^x)''$ двумя способами — напрямую и по формуле Лейбница.
Напрямую. $f(x) = x^2e^x$. $f'(x) = 2xe^x + x^2e^x$ (правило произведения). $f''(x) = 2e^x + 2xe^x + 2xe^x + x^2e^x = 2e^x+4xe^x+x^2e^x$.
По формуле Лейбница. Положим $u=x^2$, $v=e^x$. Тогда $u=x^2$, $u'=2x$, $u''=2$; $v=v'=v''=e^x$ (экспонента воспроизводит себя). По формуле при $n=2$: $C_2^0=1,\ C_2^1=2,\ C_2^2=1$:
$$(uv)'' = C_2^0 u''v + C_2^1 u'v' + C_2^2 uv'' = 1\cdot2\cdot e^x + 2\cdot2x\cdot e^x + 1\cdot x^2\cdot e^x = 2e^x+4xe^x+x^2e^x$$Ответ: оба способа дают одинаковый результат $(x^2e^x)'' = x^2e^x+4xe^x+2e^x$ — формула Лейбница подтверждена на конкретном примере.
Пример 2 (средний). Найти третью производную $(x\sin x)'''$, используя формулу Лейбница.
Положим $u=x$, $v=\sin x$. Тогда $u=x$, $u'=1$, $u''=0$, $u'''=0$ (все производные многочлена первой степени, начиная со второй, равны нулю). Значит в формуле Лейбница при $n=3$ ненулевыми останутся только слагаемые с $k=0$ и $k=1$ (там, где множитель $u^{(n-k)}$ ещё не обнулился, то есть $n-k \le 1$, то есть $k \ge 2$... на самом деле удобнее выписать все четыре слагаемых явно и увидеть, что обнуляются те, где степень $u$ выше первой):
$$(uv)''' = C_3^0 u'''v + C_3^1 u''v' + C_3^2 u'v'' + C_3^3 uv'''$$Первые два слагаемых обнуляются, так как $u''=u'''=0$. Остаются:
$$(uv)''' = C_3^2\, u' v'' + C_3^3\, u\, v''' = 3\cdot1\cdot v'' + 1\cdot x\cdot v'''$$Теперь производные синуса: $v=\sin x,\ v'=\cos x,\ v''=-\sin x,\ v'''=-\cos x$. Подставляем:
$$(x\sin x)''' = 3(-\sin x) + x(-\cos x) = -3\sin x - x\cos x$$Ответ: $(x\sin x)''' = -3\sin x - x\cos x$. Обрати внимание, как удобно работает формула Лейбница, когда один из множителей — многочлен: все слагаемые с производной многочлена выше его степени автоматически обнуляются, и в сумме остаётся лишь несколько членов вместо полного громоздкого дифференцирования произведения три раза подряд.
Пример 3 (сложный). Найти десятую производную $(x^2 \sin x)^{(10)}$, используя формулу Лейбница.
Положим $u = x^2$, $v = \sin x$. У $u$ ненулевыми являются только производные нулевого, первого и второго порядка: $u = x^2$, $u' = 2x$, $u'' = 2$, а $u^{(k)} = 0$ при $k \ge 3$. В формуле Лейбница при $n=10$ это значит, что из одиннадцати слагаемых ($k$ от $0$ до $10$) ненулевыми останутся только те, где степень $u$ не превышает второй, то есть $n-k \le 2$, то есть $k \ge 8$. Остаются три слагаемых: $k=8,9,10$.
$$(uv)^{(10)} = C_{10}^{8}\,u''v^{(8)} + C_{10}^{9}\,u'v^{(9)} + C_{10}^{10}\,u\,v^{(10)}$$Коэффициенты: $C_{10}^{8} = C_{10}^{2} = 45$, $C_{10}^{9} = C_{10}^{1} = 10$, $C_{10}^{10}=1$. Производные синуса высоких порядков берём по формуле из предыдущего раздела $(\sin x)^{(n)} = \sin\left(x+\frac{n\pi}{2}\right)$: $v^{(8)} = \sin(x+4\pi) = \sin x$, $v^{(9)} = \sin\left(x+\frac{9\pi}{2}\right) = \cos x$, $v^{(10)} = \sin(x+5\pi) = -\sin x$.
$$(x^2\sin x)^{(10)} = 45\cdot2\cdot\sin x + 10\cdot2x\cdot\cos x + 1\cdot x^2\cdot(-\sin x) = 90\sin x + 20x\cos x - x^2\sin x$$Ответ: $(x^2\sin x)^{(10)} = (90-x^2)\sin x + 20x\cos x$. Найти такую производную «в лоб», дифференцируя десять раз подряд, было бы крайне утомительно — формула Лейбница вместе с наблюдением, что $u''' = 0$, сократила работу до трёх слагаемых.
Почему это важно
Формула Лейбница — это не просто удобный трюк для учебных задач. Она систематически всплывает всюду, где нужно быстро оценить поведение высоких производных произведения функций: в выводе рядов Тейлора для произведений функций, в комбинаторных тождествах, в анализе численной устойчивости алгоритмов дифференцирования. А структурно она ещё раз напоминает главный урок этого раздела курса: сложные объекты (производные высокого порядка) часто устроены комбинаторно просто, если найти правильный способ на них посмотреть — здесь этим способом оказался тот же треугольник Паскаля, что и в элементарной алгебре.
Гессиан и методы оптимизации второго порядка
Интуиция: одной кривизны мало, когда параметров много
До сих пор мы работали с функциями одной переменной. Но реальная нейросеть имеет не один вес, а миллионы или миллиарды, и функция потерь — это функция многих переменных $L(w_1, w_2, \ldots, w_n)$. У такой функции «наклон» перестаёт быть одним числом: он превращается в вектор частных производных — градиент $\nabla L$. А что происходит со «второй производной»? Она превращается в матрицу — по одной второй производной на каждую пару переменных, включая пары «переменная сама с собой» и смешанные пары.
Формальное определение
Определение. Пусть $f(x_1,\ldots,x_n)$ — функция $n$ переменных, все частные производные второго порядка которой существуют и непрерывны. Гессианом функции $f$ в точке называется квадратная матрица размера $n\times n$, составленная из всех вторых частных производных:
$$H = \begin{pmatrix} \dfrac{\partial^2 f}{\partial x_1^2} & \dfrac{\partial^2 f}{\partial x_1\partial x_2} & \cdots \\ \dfrac{\partial^2 f}{\partial x_2\partial x_1} & \dfrac{\partial^2 f}{\partial x_2^2} & \cdots \\ \vdots & \vdots & \ddots \end{pmatrix}$$Гессиан — это прямое многомерное обобщение второй производной $f''(x)$: диагональные элементы отвечают за кривизну вдоль каждой отдельной координатной оси, а недиагональные — за то, как изменение одной переменной влияет на наклон по другой.
Для функции одной переменной есть простой и полезный тест второй производной: если в критической точке (там, где $f'(x_0)=0$) выполнено $f''(x_0) > 0$, то это локальный минимум («чаша»); если $f''(x_0) < 0$ — локальный максимум («купол»); если $f''(x_0)=0$, тест не даёт ответа, нужен дополнительный анализ. В многомерном случае этот тест обобщается через свойства гессиана: если гессиан положительно определён (все его собственные значения положительны) в критической точке — это локальный минимум; если отрицательно определён (все собственные значения отрицательны) — локальный максимум; а если собственные значения разных знаков — эта точка называется седловой: по одним направлениям функция растёт, по другим убывает, и это не экстремум ни в каком смысле.
Именно наличие седловых точек — специфика многомерного случая, у функции одной переменной седловых точек в этом смысле не бывает (там либо минимум, либо максимум, либо перегиб с нулевой кривизной). А в высокоразмерных пространствах параметров нейросети, как показали исследования оптимизационного ландшафта глубокого обучения, подавляющее большинство критических точек (мест, где градиент равен нулю) оказываются именно седловыми, а не локальными минимумами — просто потому, что для того, чтобы все $n$ собственных значений гессиана одновременно оказались положительными, при большом $n$ нужно очень «удачное» стечение обстоятельств. Это одна из причин, почему современное понимание трудностей обучения глубоких сетей сместилось от страха перед «плохими локальными минимумами» к куда более реалистичному вниманию к седловым точкам и плато.
Наконец, метод Ньютона для минимизации функции использует эту вторую информацию напрямую. Для функции одной переменной шаг метода Ньютона выглядит так:
$$w_{k+1} = w_k - \frac{L'(w_k)}{L''(w_k)}$$В многомерном случае градиент делится не на скаляр, а «делится» на матрицу — то есть умножается на обратную матрицу гессиана:
$$w_{k+1} = w_k - H^{-1}(w_k)\,\nabla L(w_k)$$Разница с обычным градиентным спуском $w_{k+1} = w_k - \eta\nabla L(w_k)$ принципиальна: градиентный спуск использует один и тот же (постоянный или по расписанию убывающий) шаг $\eta$ во всех направлениях, а метод Ньютона автоматически подбирает и величину, и направление шага, учитывая кривизну поверхности в каждом направлении — там, где поверхность круто изогнута, шаг делается меньше, там, где полого — больше. Расплата за эту точность — вычислительная стоимость: гессиан функции с $n$ параметрами содержит порядка $n^2$ элементов, а его обращение стоит порядка $n^3$ операций, что абсолютно неприемлемо для сети с миллиардами весов. Именно поэтому на практике для больших нейросетей чистый метод Ньютона почти никогда не используют напрямую — вместо него применяют квазиньютоновские методы (BFGS, L-BFGS), которые приближают поведение обратного гессиана намного дешевле, а также более простые адаптивные методы (Adam, RMSProp), которые лишь отчасти учитывают кривизну, зато остаются вычислительно посильными.
Разбор примеров
Пример 1 (лёгкий). Функция потерь одной переменной $L(w) = (w-3)^2 + 5$. Найти шаг метода Ньютона из точки $w_0=0$ и убедиться, что он сразу приводит в точку минимума.
$$L'(w) = 2(w-3), \qquad L''(w) = 2$$$$L'(0) = 2(0-3) = -6, \qquad L''(0) = 2$$$$w_1 = w_0 - \frac{L'(w_0)}{L''(w_0)} = 0 - \frac{-6}{2} = 0+3 = 3$$Ответ: $w_1 = 3$ — метод Ньютона нашёл точный минимум функции $L(w)=(w-3)^2+5$ (он находится при $w=3$, так как там $L'(3)=0$, а $L''(3)=2>0$) за один-единственный шаг. Это не случайность: для любой квадратичной функции метод Ньютона сходится ровно за один шаг, потому что квадратичная аппроксимация, на которой основан метод, для самой квадратичной функции точна, а не приближённа.
Пример 2 (средний). Функция двух переменных $f(x,y) = x^2+y^2$. Найти гессиан и определить характер критической точки $(0,0)$.
Частные производные: $\dfrac{\partial f}{\partial x} = 2x$, $\dfrac{\partial f}{\partial y}=2y$ — обе обращаются в нуль при $x=y=0$, значит $(0,0)$ критическая точка. Вторые частные производные: $\dfrac{\partial^2 f}{\partial x^2}=2$, $\dfrac{\partial^2 f}{\partial y^2}=2$, смешанная $\dfrac{\partial^2 f}{\partial x\partial y}=0$.
$$H = \begin{pmatrix} 2 & 0 \\ 0 & 2 \end{pmatrix}$$Ответ: гессиан диагональный с положительными элементами $2$ и $2$ — оба собственных значения положительны, гессиан положительно определён. Точка $(0,0)$ — локальный (и в данном случае глобальный) минимум: график функции $z=x^2+y^2$ — это параболоид, идеальная «чаша» в трёх измерениях.
Пример 3 (сложный, ML). Функция двух переменных $f(x,y) = x^2 - y^2$ — простейшая модель седловой поверхности функции потерь. Найти гессиан в точке $(0,0)$, показать, что она седловая, и объяснить, почему градиентный спуск может «зависать» вблизи таких точек.
Частные производные первого порядка: $\dfrac{\partial f}{\partial x}=2x$, $\dfrac{\partial f}{\partial y}=-2y$; обе равны нулю при $x=y=0$ — критическая точка. Вторые производные: $\dfrac{\partial^2 f}{\partial x^2}=2$, $\dfrac{\partial^2 f}{\partial y^2}=-2$, смешанная $\dfrac{\partial^2 f}{\partial x\partial y}=0$.
$$H = \begin{pmatrix} 2 & 0 \\ 0 & -2 \end{pmatrix}$$Ответ: собственные значения гессиана — это в точности его диагональные элементы (матрица уже диагональна): $2$ и $-2$, разных знаков. Значит $(0,0)$ — седловая точка: вдоль оси $x$ функция ведёт себя как чаша (растёт в обе стороны от нуля), а вдоль оси $y$ — как купол (убывает в обе стороны). Градиент в такой точке равен нулю, значит формально алгоритм «должен остановиться», но на самом деле рядом с седловой точкой (а не строго в ней) градиент очень мал по величине, хотя и не нулевой — и обычный градиентный спуск начинает двигаться крайне медленно, застревая на многие итерации, прежде чем случайные отклонения (например, из-за стохастичности мини-батчей) вытолкнут его в сторону убывающего направления. Это ровно та практическая проблема «плато на графике обучения», с которой мы начали разговор в самом первом абзаце этого урока — и теперь у неё есть строгое название и строгий математический портрет.
Почему это важно
Гессиан — это мост между чистой математикой второй производной, которую мы разбирали для функции одной переменной, и реальными алгоритмами, которые тренируют современные модели. Понимание того, что нулевой градиент сам по себе ничего не говорит о характере точки (минимум? максимум? седло?), и что для ответа нужна именно вторая производная (или её матричное обобщение), — это ровно та интуиция, которая объясняет, почему инженеры по машинному обучению так внимательно относятся к диагностике обучения: плоский участок на кривой потерь — это почти наверняка не «мы нашли минимум», а «мы рядом с седловой точкой», и это два принципиально разных диагноза с разными последствиями.
Практика: 30 заданий
Базовые задания (1–10)
Задание 1: Найти вторую производную $f(x) = x^3 - 2x^2 + 5x - 1$.
Задание 2: Найти вторую производную $f(x) = \sin x$.
Задание 3: Тело движется по закону $s(t) = t^3 - 3t^2 + 2t$. Найти ускорение в момент времени $t=2$.
Задание 4: Найти $f''(0)$ для $f(x) = e^{2x}$.
Задание 5: Найти третью производную $f(x) = x^4$.
Задание 6: Найти вторую производную $f(x) = \ln x$ (при $x>0$; используем ранее выведенную формулу $(\ln x)' = \dfrac1x$).
Задание 7: Определить, выпукла вниз или выпукла вверх парабола $y = x^2 - 4x + 3$ на всей числовой прямой.
Задание 8: Используя формулу $(e^x)^{(n)}=e^x$, найти пятую производную $f(x)=e^x$ в точке $x=0$.
Задание 9: Найти вторую производную $f(x) = \cos x$ и проверить равенство $f''(x) = -f(x)$.
Задание 10: Найти вторую производную $f(x) = \dfrac1x$ (при $x\ne0$).
Средние задания (11–20)
Задание 11: Найти точки перегиба функции $f(x) = x^3 - 3x^2 - 9x + 5$.
Задание 12: Исследовать функцию $f(x)=x^4$ на выпуклость в точке $x=0$: является ли $x=0$ точкой перегиба?
Задание 13: Найти третью и четвёртую производные $f(x) = x^5 - 3x^3 + x$.
Задание 14: Используя тест второй производной, определить характер критических точек функции $f(x) = x^3-3x$.
Задание 15: Используя формулу $(\sin x)^{(n)} = \sin\left(x+\dfrac{n\pi}{2}\right)$, проверить её для $n=1,2,3,4$, сравнив с прямым дифференцированием.
Задание 16: Применить формулу Лейбница для нахождения $(x^2e^x)''$ и сравнить с прямым вычислением.
Задание 17: Тело совершает гармонические колебания по закону $s(t) = A\sin(\omega t)$. Найти ускорение $a(t)$ и показать, что выполняется $a(t) = -\omega^2 s(t)$.
Задание 18: Функция потерь одного веса $L(w) = w^4-4w^2$. Найти критические точки и классифицировать их через $L''(w)$.
Задание 19: Найти общую формулу $n$-й производной функции $f(x) = \dfrac{1}{1-x}$ (при $x\ne1$).
Задание 20: Применить формулу Лейбница для нахождения $(x\sin x)'''$.
Продвинутые задания (21–30)
Задание 21: Найти гессиан функции $f(x,y) = x^2+y^2$ и определить характер критической точки $(0,0)$.
Задание 22: Найти гессиан функции $f(x,y) = x^2-y^2$ в точке $(0,0)$ и показать, что это седловая точка.
Задание 23: Сделать один шаг метода Ньютона для минимизации $f(x) = (x-3)^2+5$ начиная с $x_0=0$ и убедиться в сходимости за один шаг.
Задание 24: Доказать общую формулу $(x^n)^{(k)} = \dfrac{n!}{(n-k)!}x^{n-k}$ при $k\le n$ и объяснить, почему $(x^n)^{(n+1)}=0$.
Задание 25: Вывести общую формулу для $n$-й производной $f(x)=e^{kx}$.
Задание 26: Доказать формулу Лейбница для $n=2$: $(uv)'' = u''v+2u'v'+uv''$, продифференцировав правило произведения дважды.
Задание 27: Найти $(x^2\sin x)^{(10)}$, используя формулу Лейбница (учесть, что производные $x^2$ порядка выше второго равны нулю).
Задание 28: Найти критические точки функции $f(x,y)=x^3-3xy+y^3$ и классифицировать их через гессиан.
Задание 29: Показать на примере $f(x)=x^2$, что при $f''(x)\ge0$ всюду касательная в любой точке лежит не выше графика (то есть график выпуклой функции лежит не ниже касательной).
Задание 30: Функция потерь $L(w)$ вблизи точки $w_0$ приближается квадратичной аппроксимацией $L(w) \approx L(w_0) + L'(w_0)(w-w_0) + \dfrac12 L''(w_0)(w-w_0)^2$ (частный случай формулы Тейлора второго порядка). Найти оптимальный шаг $w_1$, минимизирующий эту аппроксимацию, и сравнить полученную формулу с шагом обычного градиентного спуска.
Частые ошибки
Давай разберём, на чём чаще всего спотыкаются при первом знакомстве с производными высших порядков.
-
Путают $f''(x)$ с $(f'(x))^2$. Два штриха означают «продифференцировать ещё раз», а не «возвести в квадрат». Это разные операции с совершенно разным результатом: для $f(x)=x^2$ имеем $f'(x)=2x$, $f''(x)=2$, а вот $(f'(x))^2 = 4x^2$ — числа абсолютно разные.
-
Считают, что $f''(x_0)=0$ автоматически означает точку перегиба. Это не так — классический контрпример разобран в задании 12: у функции $f(x)=x^4$ вторая производная обнуляется в нуле, но не меняет знак, и перегиба там нет. Проверять нужно именно смену знака при переходе через точку, а не только равенство нулю.
-
Забывают, что тест второй производной не работает при $f''(x_0)=0$. В этом случае вывод об экстремуме сделать нельзя — нужно смотреть третью производную или использовать другие признаки (о них будет подробный разговор в уроке 195 про полное исследование функций).
-
Путаются в обозначениях при высоких порядках. После третьего штриха принято переходить к записи $f^{(4)}(x)$, а не рисовать четыре штриха подряд — это не просто вопрос эстетики, а стандарт записи, который встретится в любой литературе и в любой библиотеке символьного дифференцирования.
-
В формуле Лейбница путают знаки с биномом разности. Формула Лейбница — это аналог $(a+b)^n$, все слагаемые входят с плюсом; путать её с $(a-b)^n$, где знаки чередуются, — частая и досадная ошибка, приводящая к неверному результату уже в первом же нетривиальном примере.
-
В многомерном случае смотрят только на диагональные элементы гессиана. Если $\frac{\partial^2f}{\partial x^2}>0$ и $\frac{\partial^2f}{\partial y^2}>0$, это ещё не гарантирует минимум — критически важны и смешанные производные, задание 28 с седловой точкой $(0,0)$ у функции $x^3-3xy+y^3$ показывает это явно: диагональные элементы там вообще нулевые, а истинная природа точки определяется всей матрицей целиком, точнее её определителем и собственными значениями.
Главное запомнить
-
Вторая производная $f''(x) = (f'(x))'$ — это производная от производной, то есть скорость изменения скорости изменения функции.
-
Физически вторая производная координаты по времени — это ускорение: $s''(t)=a(t)$, ядро второго закона Ньютона $F=ma$.
-
Геометрически знак второй производной определяет форму графика: $f''(x)\ge0$ — выпуклость вниз (чаша), $f''(x)\le0$ — выпуклость вверх (купол); смена знака даёт точку перегиба.
-
Терминология «выпуклая»/«вогнутая» в разных источниках означает разное — в этом курсе, вслед за практикой машинного обучения, «выпуклая» означает «чаша» ($f''\ge0$).
-
Производная $n$-го порядка определяется рекурсивно: $f^{(n)}(x) = \bigl(f^{(n-1)}(x)\bigr)'$, обозначается $f^{(n)}(x)$ или $\dfrac{d^ny}{dx^n}$.
-
У многочлена степени $n$ все производные порядка выше $n$ тождественно равны нулю; у $e^{kx}$ все производные любого порядка выражаются простой формулой $k^ne^{kx}$; производные синуса и косинуса циклически повторяются с периодом 4.
-
Формула Лейбница $(uv)^{(n)} = \sum_{k=0}^n C_n^k u^{(n-k)}v^{(k)}$ — прямой аналог бинома Ньютона для $n$-й производной произведения.
-
Гессиан — матрица вторых частных производных функции многих переменных, обобщение $f''(x)$ на многомерный случай.
-
Знак собственных значений гессиана в критической точке отличает минимум (все положительны), максимум (все отрицательны) и седловую точку (разные знаки) — последняя не имеет аналога у функции одной переменной.
-
Метод Ньютона $w_{k+1}=w_k-H^{-1}\nabla L(w_k)$ использует кривизну (вторую производную/гессиан) для более точного и быстрого выбора шага, чем обычный градиентный спуск, ценой дороговизны вычисления и обращения гессиана.
Связь с другими темами курса
Этот урок логически продолжает урок 187 про дифференциал функции — там мы разобрали линейное приближение $\Delta y \approx f'(x_0)dx$, и вторая производная естественно появляется, как только хочется уточнить это приближение квадратичной поправкой (мы уже видели эту идею в задании 30 этого урока). Дальше по программе — уроки 189–191 (теоремы Ролля, Лагранжа и Коши), где как раз будет строго доказан признак выпуклости через вторую производную, который мы здесь только сформулировали и проверили на примерах. Урок 192 про правило Лопиталя тоже опирается на аппарат производных высокого порядка при раскрытии сложных неопределённостей. А кульминация всей этой линии — уроки 193 и 194, формула и ряд Тейлора, где производные всех порядков в одной точке (те самые $f'(x_0), f''(x_0), f'''(x_0), \ldots$) складываются в единый многочлен, приближающий функцию с любой наперёд заданной точностью. Урок 195, полное исследование функций, соберёт вместе первую производную (монотонность), вторую производную (выпуклость и перегибы) и пределы в единый алгоритм анализа графика функции — тот самый навык, которым ты пользовался в примерах этого урока, только уже в систематизированном виде.
Интересные факты
-
Слово «ускорение» появляется в физике раньше, чем строгое математическое понятие второй производной: Галилей экспериментально изучал равноускоренное движение ещё в начале XVII века, за несколько десятилетий до того, как Ньютон и Лейбниц дали общий язык для описания «скорости скорости».
-
Производная $e^x$ любого порядка равна самой функции — это единственное (с точностью до постоянного множителя) элементарное семейство функций с таким свойством, и оно же лежит в основе того, почему $e^x$ так естественно возникает как решение простейшего линейного дифференциального уравнения $y'=y$.
-
В инженерии иногда пользуются даже третьей производной пути по времени — её называют рывком (jerk): именно резкий рывок, а не сама по себе высокая скорость или ускорение, чаще всего ощущается пассажирами как дискомфорт в лифте или самолёте, и инженеры целенаправленно проектируют траектории разгона так, чтобы минимизировать именно рывок.
-
Гессиан назван в честь немецкого математика Людвига Отто Гессе (XIX век), хотя сам термин «гессиан» для этой матрицы ввёл позже английский математик Джеймс Джозеф Сильвестр — характерный пример того, как имя закрепляется за понятием не всегда от первого автора, а от того, чьё имя оказалось удобнее запомнить сообществу.
-
Открытие, что подавляющее большинство критических точек в многомерных задачах глубокого обучения — седловые, а не локальные минимумы, стало одним из важных сдвигов в понимании оптимизации нейросетей в 2010-х годах: раньше боялись «застрять в плохом локальном минимуме», а оказалось, что куда более реалистичная опасность — застрять вблизи седловой точки на плато.
-
Треугольник Паскаля, который лежит в основе биномиальных коэффициентов формулы Лейбница, был известен в Индии и на Ближнем Востоке за столетия до Паскаля — сам Паскаль лишь систематизировал и опубликовал его свойства в середине XVII века в Европе, а связь этого чисто комбинаторного объекта с дифференцированием произведения функций обнаружилась только спустя ещё несколько десятилетий, когда Лейбниц заметил структурное сходство при выводе своей формулы.
-
Понятие рывка (третьей производной пути) не осталось игрушкой инженеров: в проектировании американских горок именно ограничение на рывок, а не на саму по себе величину ускорения, определяет, будет ли поездка восприниматься как захватывающая или как травмоопасно резкая — отсюда и выбор эмодзи для заголовка этого урока.
Лайфхаки и полезные трюки
-
Прежде чем дифференцировать сложное выражение второй раз, посмотри, нельзя ли сначала упростить первую производную алгебраически — меньше слагаемых на входе резко снижает шанс ошибиться на втором дифференцировании.
-
При поиске точек перегиба всегда проверяй не только равенство $f''(x_0)=0$, но и реальную смену знака по обе стороны от кандидата — иначе рискуешь пропустить ложный перегиб вроде $x^4$ в нуле.
-
Если один из множителей произведения — многочлен невысокой степени, применяй формулу Лейбница, а не дифференцируй произведение напрямую много раз подряд: большинство слагаемых с производными многочлена выше его степени обнулятся сами, и вычисление резко упростится (см. задания 20 и 27).
-
Для тригонометрических функций держи в голове цикл длины 4 ($\sin\to\cos\to-\sin\to-\cos\to\sin$) — это избавляет от необходимости дифференцировать заново каждый раз, если нужен, скажем, порядок 37: достаточно найти остаток от деления $37$ на $4$.
-
При анализе критической точки функции многих переменных не спеши смотреть только на диагональные элементы гессиана — вычисли определитель (или явно найди собственные значения), чтобы не спутать седловую точку с настоящим экстремумом.
-
Если тебе нужно быстро прикинуть, стоит ли овчинка выделки при использовании метода Ньютона в конкретной задаче, вспомни правило большого пальца: чем меньше параметров и чем ближе стартовая точка к минимуму, тем выгоднее полный гессиан; для миллионов параметров нейросети почти всегда выгоднее квазиньютоновские или чисто градиентные методы.
-
Проверяя себя на многочленах, используй простое правило-регулятор: степень производной плюс степень оставшегося многочлена всегда равна исходной степени минус номер производной — если в промежуточном вычислении эта арифметика не сходится, значит где-то закралась ошибка ещё до того, как ты дойдёшь до финального ответа.
-
При работе с гессианом в задачах небольшой размерности (две-три переменные) быстрее всего проверять его определённость не через явное нахождение собственных значений, а через критерий Сильвестра: гессиан положительно определён, если все его угловые миноры положительны, и отрицательно определён, если они чередуют знак начиная с отрицательного — это экономит время по сравнению с решением характеристического уравнения.
Вторая производная — это не надстройка ради надстройки, а способ увидеть то, что первая производная принципиально не может показать: форму пути, а не только направление движения по нему. От ускорения ракеты до кривизны функции потерь и седловых точек в ландшафте нейросети — везде работает один и тот же простой рекурсивный приём: продифференцировать ещё раз. Освоив его здесь, ты готов к следующему шагу курса — к теоремам о среднем значении, которые превратят интуитивные наблюдения этого урока в строгие доказанные теоремы.
Понял тему? Закрепи в боте! 🚀
Попрактикуйся на задачах и получи персональные рекомендации от AI
💪 Начать тренировку