Язык математики
Разбор формул из статей
Пять настоящих формул, разобранных по типам и размерностям, и заготовка личного глоссария
Экзамен блока. Ни одну из этих формул сейчас не надо понимать — надо уметь разобрать её на части и сказать, какого типа каждый символ и какой у него shape. Смысл придёт в блоках 1–6.
Процедура одна и та же:
- выписать каждый символ;
- указать его тип: скаляр, вектор, матрица, множество, функция, распределение;
- указать shape, если это тензор;
- проверить, что размерности сходятся.
1. Линейная регрессия, векторная форма
| Символ | Тип | Shape |
|---|---|---|
| матрица объектов | ||
| вектор весов | ||
| скаляр | — | |
| вектор из единиц | ||
| вектор предсказаний |
Проверка: , плюс вектор длины — сходится. Заметьте, что скаляр, а прибавляется к вектору: запись и есть явная форма того, что в NumPy сделал бы broadcasting.
2. Softmax
— вектор логитов, — вектор вероятностей. Индекс слева фиксирован, а справа — связанная переменная суммирования. Их легко перепутать, и это первое, что нужно проверять.
Из записи сразу видно: знаменатель одинаков для всех , значит softmax не покомпонентная функция — каждая координата зависит от всех остальных.
Отсюда же следует сдвиговая инвариантность: умножив числитель и знаменатель на , получим тот же результат при замене . Это и есть трюк со стабильным softmax, и он выводится из формулы за одну строку.
3. Внимание
| Символ | Shape |
|---|---|
| результат |
Разбор по шагам: имеет форму — матрица «каждый запрос против каждого ключа». Softmax применяется по строкам, форма не меняется. Умножение на : .
— скаляр. Зачем он там, разбирается в блоке 6; пока достаточно видеть, что он не влияет на размерности.
4. Матожидание и оценка методом Монте-Карло
Здесь важна нижняя приписка у : она говорит, по какому распределению берётся ожидание. Без неё запись неоднозначна, и в статьях это регулярный источник путаницы.
— функция, — распределение, — сэмплы, результат — скаляр (или вектор, если векторнозначна). Знак здесь читается «распределено как» — не эквивалентность и не приближённое равенство.
5. ELBO
Самая нагруженная формула из пяти, и всё равно разбирается механически:
- , , , — плотности, то есть функции, возвращающие неотрицательные числа;
- — ожидание по , распределённому согласно ;
- — функция от двух распределений, возвращающая неотрицательный скаляр;
- вертикальная черта внутри — разделитель аргументов, а не условная вероятность. Внутри та же черта означает именно условность. Один символ, два смысла, различаются позицией.
Обе части неравенства — скаляры. Это всё, что нужно установить сейчас.
Заведите глоссарий
Практическое задание без проверки, но самое полезное во всём блоке.
Создайте файл notation.md и записывайте туда каждый незнакомый символ,
встреченный при чтении: сам символ, тип, shape, где встретился. Пополняйте его
до конца курса.
Через полгода это будет ваша персональная шпаргалка — и она окажется полезнее любой чужой, потому что составлена по тем статьям, которые читаете именно вы.
Начать можно с того, что уже разобрано выше.
Источники
- Vaswani et al. — Attention Is All You Need — Формула внимания разбирается здесь по типам, без объяснения смысла
- Kingma, Welling — Auto-Encoding Variational Bayes — ELBO как пример формулы с математическим ожиданием и KL
- Chiang, Rush, Barak — Named Tensor Notation — Про именованные оси вместо позиционных индексов
Проверки
0 из 2Форма результата внимания
В формуле внимания имеет форму , — форму , — форму .
Какую форму имеет результат ?
Запишите ответ в виде
32x128(два числа через латинскуюx, без пробелов).Устойчивый softmax
Реализуйте
softmax(logits)по формулес одной поправкой: перед возведением в экспоненту вычтите из всех логитов их максимум. Как показано в уроке, результат от этого не меняется — но наивная версия переполняется уже на .
Верните список чисел той же длины. Для пустого входа верните пустой список.
Проверка сравнивает с точностью .
Загрузка редактора…
Ctrl/⌘ + Enter