Алгебра
Линейные отображения
Каждый линейный слой нейронной сети-это линейное отображение. Свёртка в CNN-линейное отображение на пространстве патчей. Механизм внимания (до softmax)-три линейных отображения (Q, K, V). Понимание ядра и образа этих отображений-ключ к анализу что сеть "видит" и что "теряет".
- **Линейные слои в DNN:** torch.nn.Linear-матрица W; ядро ker(W)-признаки, невидимые для слоя; образ im(W)-достижимые активации
- **PCA как линейное отображение:** проекция на k главных компонент-линейный оператор ранга k; ядро = orthogonal complement
- **Attention без softmax:** QKᵀV-последовательность линейных отображений; только softmax делает attention нелинейным
Предварительные знания
Определение и матричное представление
Отображение f: V → W называется линейным, если f(αx + βy) = αf(x) + βf(y) для всех x,y ∈ V и α,β ∈ F. Это две условия: аддитивность f(x+y)=f(x)+f(y) и однородность f(αx)=αf(x). При фиксированных базисах V и W каждое линейное отображение однозначно задаётся матрицей A ∈ ℝ^{m×n}.
**Матричный элемент A[i][j]**-это i-я координата образа j-го базисного вектора. Чтобы составить матрицу f, нужно вычислить f(e₁), f(e₂), …, f(eₙ) и записать результаты как столбцы.
torch.nn.Linear(in, out, bias=False)-это буквально матрица весов W ∈ ℝ^{out×in}, реализующая линейное отображение x ↦ Wx. С bias=True добавляется сдвиг b: x ↦ Wx + b (аффинное, не линейное!)
Является ли отображение f(x) = Ax + b (b ≠ 0) линейным?
Ядро и образ
Ядро (kernel) отображения f: V → W-это ker(f) = {v ∈ V : f(v) = 0}. Образ (image)-im(f) = {f(v) : v ∈ V} ⊆ W. Оба являются подпространствами: ядро-в V, образ-в W. Ядро-это "что теряется", образ-"что достижимо".
| Термин | Обозначение | Смысл в ML |
|---|---|---|
| Ядро (Null space) | ker(f) = Null(A) | Признаки, которые слой "не видит" |
| Образ (Image) | im(f) = Col(A) | Достижимые активации |
| Дефект (Nullity) | dim ker(f) | Степень вырожденности отображения |
| Ранг (Rank) | dim im(f) | Эффективная ёмкость слоя |
Линейное отображение A: ℝ⁵ → ℝ³ имеет rank(A) = 2. Каков dim ker(A)?
Теорема о ранге и дефекте
Теорема о ранге и дефекте (ранге и нулевом пространстве): для любого линейного отображения f: V → W, rank(f) + nullity(f) = dim(V). Эквивалентно: dim(im f) + dim(ker f) = dim V. Это одна из центральных теорем линейной алгебры.
В нейронных сетях: если dim входа > dim выхода у слоя, то nullity > 0-информация теряется необратимо (это нормально при сжатии признаков). Если dim входа < dim выхода-слой не может быть сюръективным: не все выходные активации достижимы.
При каком условии линейное отображение f: V → V является изоморфизмом (обратимым)?
Композиция и умножение матриц
Композиция линейных отображений f: U → V и g: V → W-это линейное отображение (g∘f): U → W. В матричных обозначениях: если f задаётся матрицей A и g-матрицей B, то g∘f задаётся матрицей BA. Именно поэтому умножение матриц определено именно так-это не произвольное соглашение.
**Почему нужны нелинейности:** без relu/sigmoid/gelu любая последовательность линейных слоёв-это одно линейное отображение (произведение матриц). Нелинейности позволяют аппроксимировать произвольные функции (теорема универсальной аппроксимации).
Почему умножение матриц AB соответствует именно сначала B, потом A?
Ключевые идеи
- **Линейность:** f(αx+βy) = αf(x)+βf(y); линейное отображение ↔ матрица при фиксированных базисах
- **Ядро и образ:** ker(f)-что теряется, im(f)-что достижимо; оба подпространства
- **Теорема о ранге:** rank + nullity = dim V; показывает баланс "информации" и "потерь" в отображении
- **Композиция = умножение матриц:** сначала B, потом A → матрица AB; без нелинейностей сеть = одна матрица
Связанные темы
Линейные отображения связывают всю линейную алгебру воедино:
- Собственные значения — Собственные векторы-инвариантные направления линейного отображения
- SVD — SVD описывает геометрию произвольного линейного отображения через три простых операции
- Линейная алгебра в ML — Attention как три линейных отображения; LoRA как низкоранговое
Вопросы для размышления
- Трансформер имеет сотни линейных слоёв, но нелинейности (LayerNorm, GELU) между ними. Что случилось бы, если убрать все нелинейности?
- LoRA (Low-Rank Adaptation) заменяет матрицу весов W на W + AB, где rank(AB) ≪ rank(W). Как это связано с ядром и образом?
- Матрица внимания QKᵀ ∈ ℝ^{n×n} для последовательности длины n. Какой ранг у этой матрицы и что он означает?