Не школьные уравнения, а язык структур и композиции. Именно на нём мы общаемся с машиной: вектор — это слово, линейное отображение — это действие, пространство признаков — это смысл. Глава задаёт алфавит всего курса — от тензоров на GPU до алгебраических типов и агентов.
Школа оставила образ алгебры как искусства находить $x$. Для инженера это давно не так. Алгебра — это наука о структурах: множествах с операциями, подчинёнными законам, и об отображениях, эти структуры сохраняющих. Группа, кольцо, поле, векторное пространство — не экзотика, а словарь, на котором описано всё, с чем работает машина.
Тезис главы прост и радикален: язык, на котором мы будем разговаривать с машиной — это алгебра. Не естественный язык (он лишь обёртка), а структуры и их композиция. Чтобы это увидеть, поднимемся от уравнений к структурам, затем к линейной алгебре — родному языку машинного обучения — и к алгебре композиции, на которой стоят корректные программы.
Линейное отображение $T:\mathbb{R}^n\to\mathbb{R}^m$ полностью задаётся матрицей: оно переводит базис в столбцы $A$, а любой вектор — по правилу $T(\mathbf{x})=A\mathbf{x}$. Геометрически матрица $2\times2$ — это то, как преобразуется вся плоскость. Покрутите столбцы и смотрите, как двигаются базис $\hat\imath,\hat\jmath$ и единичный квадрат; знак определителя $\det=ad-bc$ — это во сколько раз меняется площадь (и не вывернулась ли ориентация).
Когда $\det<0$, сетка «выворачивается» — отражение; когда $\det=0$, плоскость схлопывается в прямую (отображение теряет информацию — необратимо). Сеть из таких отображений, переложенных нелинейностями, и есть нейросеть. Всё это — операции в векторном пространстве, считаемые на тензорах параллельно на GPU.
Композиция ассоциативна и имеет единицу (тождественное отображение) — то есть отображения образуют моноид. Это не педантизм: ровно эта структура позволяет собирать большие системы из маленьких, не теряя предсказуемости. Глубокая сеть — это композиция слоёв:
$f=f_L\circ\dots\circ f_2\circ f_1$
В программировании те же законы дают алгебраические типы данных и комбинаторы: программа собирается как выражение, а её корректность — алгебраически проверяема. Это мост к главам о функциональном программировании и математически корректных программах.
Соберём тезис. Нейросеть не понимает слов — она оперирует векторами в пространстве признаков. Текст, изображение, звук кодируются эмбеддингами; близость по смыслу — это близость векторов; «рассуждение» — траектория линейных отображений и нелинейностей в этом пространстве. Значит, общаясь с машиной, мы по сути работаем в её алгебраическом пространстве — даже когда печатаем слова.
Отсюда практический вывод для инженера: владеть этим языком — значит мыслить структурами и отображениями, а не строками. Тот, кто видит за интерфейсом векторное пространство и композицию, становится Создателем: он проектирует поведение системы, а не выпрашивает его. Это первый шаг к тому, чтобы преодолеть собственную границу — как спутник преодолевает орбиту.
• Вектор — единица смысла (эмбеддинг).
• Линейное отображение — действие над смыслом (слой, проекция, внимание).
• Пространство — где смыслы соотносятся (геометрия признаков).
Мы переосмыслили алгебру: от поиска $x$ — к языку структур, линейных отображений и композиции. Это алфавит, на котором написаны и нейросети (линейная алгебра, тензоры), и корректные программы (алгебраические типы, моноиды). На нём мы и будем разговаривать с машиной весь курс.
Но язык без грамматики опасен: одних структур мало, нужна корректность. Следующая глава — о логике и доказательстве как фундаменте доверия к тому, что мы строим.
Вся программа: 12 глав от алгебры до агентов на Elixir.
→ карта курсаоткрыть → Глава IIДоказательство как доверие: грамматика языка машины.
→ следующаячитать → Глава IVГде линейная алгебра и тензоры оживают.
→ ML под капотомчитать →