Математический анализ

Ряды Тейлора

Цели урока

  • Понять идею разложения функции в бесконечную сумму многочленов
  • Выводить ряды Тейлора и Маклорена для основных функций
  • Находить радиус сходимости степенного ряда
  • Применять операции с рядами: дифференцирование, интегрирование, подстановку
  • Использовать ряды для вычисления пределов и приближённых значений

Предварительные знания

  • Производные высших порядков
  • Последовательности и ряды
  • Признаки сходимости рядов
  • Series Convergence

Процессор Intel вычисляет sin(x) через 8 членов ряда Тейлора - именно столько нужно для float32 точности. PyTorch backprop - это ряд Тейлора по параметрам. RoPE-эмбеддинги в LLaMA используют формулу Эйлера, выведенную из рядов.

  • CPU/GPU: sin, cos, exp вычисляются как конечные суммы рядов
  • PyTorch autograd: backprop = ряд Тейлора + chain rule
  • L-BFGS: квадратичное приближение функции потерь = Тейлор 2-го порядка
  • RoPE embeddings (LLaMA, GPT-4): формула Эйлера e^(ix)
  • Физика: sin(theta) ~ theta при малых углах (маятник, оптика)

Ряд Тейлора: идея и формула

Процессор Intel не знает, что такое $\sin(x)$. Он умеет только складывать и умножать. Поэтому $\sin(x) = x - x^3/6 + x^5/120 - x^7/5040 + \cdots$ - и для float32-точности хватает 8 членов этого ряда. Весь тригонометрический unit в CPU - это многочлен.

PyTorch `torch.autograd` вычисляет приближение $f(x+\delta) \approx f(x) + f'(x)\delta + f''(x)\delta^2/2$. Backpropagation - это накопленная цепочка производных, то есть ряд Тейлора в действии.

Ряд Тейлора: производные диктуют коэффициенты

При $a = 0$ получаем **ряд Маклорена**: $f(x) = \sum \frac{f^{(n)}(0)}{n!} x^n$. Все стандартные разложения - это Маклорен.

Почему коэффициент при $(x-a)^n$ содержит $n!$ в знаменателе?

Если $P(x) = c_n(x-a)^n$, то $P^{(n)}(a) = c_n \cdot n!$. Чтобы $P^{(n)}(a) = f^{(n)}(a)$, нужно $c_n = f^{(n)}(a)/n!$.

Стандартные ряды, радиус сходимости и операции

Все численные вычисления $e^x$, $\sin x$, $\ln(1+x)$ на CPU/GPU сводятся к конечным суммам этих рядов. CORDIC-алгоритм в FPU использует именно их.

ФункцияРяд МаклоренаРадиус $R$
$e^x$$\sum_{n=0}^{\infty} \frac{x^n}{n!} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \ldots$$\infty$
$\sin x$$\sum_{n=0}^{\infty} \frac{(-1)^n x^{2n+1}}{(2n+1)!} = x - \frac{x^3}{6} + \frac{x^5}{120} - \ldots$$\infty$
$\cos x$$\sum_{n=0}^{\infty} \frac{(-1)^n x^{2n}}{(2n)!} = 1 - \frac{x^2}{2} + \frac{x^4}{24} - \ldots$$\infty$
$\frac{1}{1-x}$$\sum_{n=0}^{\infty} x^n = 1 + x + x^2 + x^3 + \ldots$$1$
$\ln(1+x)$$\sum_{n=1}^{\infty} \frac{(-1)^{n+1} x^n}{n} = x - \frac{x^2}{2} + \frac{x^3}{3} - \ldots$$1$
$(1+x)^\alpha$$1 + \alpha x + \frac{\alpha(\alpha-1)}{2!}x^2 + \ldots$$1$

У **нечётной** функции $\sin x$ ряд содержит только **нечётные** степени. У **чётной** $\cos x$ - только **чётные**. Симметрия функции кодируется структурой ряда.

Радиус сходимости: где разложение работает

Функция $\frac{1}{1+x^2}$ определена при всех вещественных $x$, но её ряд $1 - x^2 + x^4 - \cdots$ сходится только при $|x| < 1$. Причина: полюсы $\pm i$ в комплексной плоскости находятся на расстоянии 1 от нуля - и это расстояние задаёт радиус сходимости.

Операции с рядами: дифференцирование и интегрирование

Не нужно считать производные заново - можно строить новые ряды из известных. Именно так работает автоматическое дифференцирование в JAX: differentiable programming строит разложение функции потерь, дифференцируя ряды.

  • **Дифференцирование**: $(\sum c_n x^n)' = \sum n c_n x^{n-1}$ (радиус не меняется)
  • **Интегрирование**: $\int \sum c_n x^n dx = \sum \frac{c_n x^{n+1}}{n+1} + C$
  • **Подстановка**: в $\sum c_n x^n$ подставить $g(x)$ - получим ряд для $f(g(x))$

Знаем: 1/(1+x^2) = 1 - x^2 + x^4 - x^6 + ... Интегрируем: arctan x = x - x^3/3 + x^5/5 - x^7/7 + ... При x = 1: pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... (ряд Лейбница) Сходится очень медленно - для вычисления pi есть методы лучше.

Summarise the key idea of: Радиус сходимости: где работает разложение.

Формула Эйлера и приложения

RoPE (Rotary Position Embedding) в LLaMA и GPT-4 кодирует позицию токена через $e^{i\theta}$. Токен на позиции $m$ умножается на $e^{im\theta}$ - поворот в комплексной плоскости. Формула Эйлера - это не просто красивое тождество, это инструмент production-систем.

При $x = \pi$ - тождество Эйлера: $e^{i\pi} + 1 = 0$. RoPE-эмбеддинги в трансформерах (LLaMA, Mistral, GPT-4) строятся на этой формуле: вращение через $e^{i\theta}$ кодирует относительную позицию токенов.

Применения: пределы, вычисления, ML

Вычисление пределов через ряды

Ряды - лучший способ раскрыть $0/0$ без правила Лопиталя.

lim sin(x)/x при x->0: = lim (x - x^3/6 + x^5/120 - ...) / x = lim (1 - x^2/6 + x^4/120 - ...) = 1 lim (sin x - x)/x^3 при x->0: = lim (-x^3/6 + x^5/120 - ...) / x^3 = -1/6

Линеаризация в ML: Taylor expansion функции потерь

L-BFGS использует квадратичное приближение функции потерь: $L(\theta + \delta) \approx L(\theta) + \nabla L \cdot \delta + \frac{1}{2}\delta^T H \delta$. Первый член - gradient descent, второй - Newton step. Это ряд Тейлора второго порядка.

Ряд сходится к функции только внутри радиуса сходимости. За его пределами разложение даёт мусор: $\frac{1}{1-x} = 1 + x + x^2 + \ldots$ не работает при $x = 2$.

Summarise the key idea of: Формула Эйлера: мост между анализом и геометрией.

Ряды Тейлора в математике и за её пределами

Эта тема связана с множеством других областей

  • Комплексный анализ — Формула Эйлера открывает дверь в мир комплексных функций и рядов Лорана
  • Дифференциальные уравнения — Решение ОДУ через степенные ряды - мощный метод для уравнений без замкнутых решений
  • Численные методы — Аппроксимации Паде, ряд Чебышёва - улучшения классических рядов для вычислений
  • Функции нескольких переменных — Многомерный Тейлор: разложение функции потерь нейросети

Итоги

  • Ряд Тейлора: $f(x) = \sum f^{(n)}(a)(x-a)^n/n!$ - каждая производная диктует коэффициент
  • $e^x$, $\sin x$, $\cos x$ сходятся при всех $x$; $\ln(1+x)$, $1/(1-x)$ - только при $|x| < 1$
  • Радиус сходимости $R = \lim|c_n/c_{n+1}|$ определяет область применимости
  • Дифференцирование и интегрирование рядов не меняет радиус - строим новые ряды из старых
  • Формула Эйлера $e^{ix} = \cos x + i\sin x$ - следствие из рядов Тейлора
  • CPU вычисляет $\sin(x)$ через 8 членов ряда; PyTorch backprop - это Тейлор 1-го порядка

Вопросы для размышления

  • Почему ряд для $1/(1+x^2)$ имеет конечный радиус сходимости, хотя функция определена везде?
  • Как L-BFGS использует второй член ряда Тейлора функции потерь?
  • Как бы объяснить RoPE-эмбеддинги через формулу Эйлера?
  • Какие функции нельзя разложить в ряд Тейлора? Приведите пример.

Связанные уроки

  • stat-18-bootstrap
Ряды Тейлора

0

1

Войти