Линейное преобразование (Linear Transformation)

Что такое Линейное преобразование (Linear Transformation)?

Математическая операция, применяемая в нейронных сетях и машинном обучении для преобразования входных данных посредством умножения на матрицу весов и (опционально) добавления вектора смещений; лежит в основе работы многих слоёв нейросетей.

Основная часть

В контексте нейронных сетей линейное преобразование — это фундаментальный строительный блок, который позволяет модели «переводить» входные данные в новое пространство признаков. Формально оно задаётся как:

$$y = Wx + b,$$

где:

  • $x$ — входной вектор (например, признаки объекта или выходные данные предыдущего слоя);
  • $W$ — матрица весов (параметры, которые модель настраивает в процессе обучения);
  • $b$ — вектор смещений (bias);
  • $y$ — выходной вектор (результат преобразования).

Аналогия из бытового мира

Представьте, что вы переводите текст с одного языка на другой. Исходный текст — это входные данные $x$, словарь и правила грамматики — это матрица весов $W$, а небольшие корректировки для естественности звучания — это смещения $b$. В итоге вы получаете перевод — выходные данные $y$. Линейное преобразование в нейросетях работает похоже: оно «переводит» данные из одного представления в другое, адаптируя их для дальнейшей обработки.

Исторический контекст

Идея линейных преобразований уходит корнями в линейную алгебру, но в контексте машинного обучения и нейросетей она стала ключевой с момента появления перцептронов (1950–1960‑е годы). Фрэнк Розенблатт, создатель перцептрона, использовал линейные преобразования для классификации данных. С развитием многослойных нейронных сетей (1980‑е и далее) линейные преобразования стали основой для полносвязных (dense) слоёв, которые применяются практически во всех архитектурах — от классических MLP (Multi‑Layer Perceptron) до современных трансформеров.

Смежные понятия

  • Нелинейное преобразование — в отличие от линейного, включает применение нелинейных функций активации (ReLU, sigmoid, tanh), что позволяет нейросетям моделировать сложные, нелинейные зависимости. Линейные преобразования сами по себе не могут выразить нелинейность, поэтому их обычно комбинируют с нелинейными функциями.
  • Нормализация — процесс приведения данных к определённому диапазону или распределению. Хотя нормализация тоже преобразует данные, её цель — стабилизировать обучение, а не изменить пространство признаков, как у линейного преобразования.

Примеры использования

  1. Полносвязный слой (Dense layer) в нейронных сетях: каждый нейрон в таком слое выполняет линейное преобразование входных данных, после чего применяется функция активации. Например, в сети для классификации изображений полносвязные слои могут преобразовывать признаки, извлечённые свёрточными слоями, в вероятности классов.
  2. Свёрточные слои (Convolutional layers): хотя свёртка формально отличается от матричного умножения, её можно рассматривать как специфический вид линейного преобразования, где матрица весов «скользит» по входным данным.
  3. Встраивания (Embeddings) в NLP: линейные преобразования используются для перевода дискретных токенов (слов, подслов) в непрерывные векторные представления. Например, в моделях типа BERT или GPT входные токены сначала преобразуются в эмбеддинги с помощью линейного слоя.
  4. Линейная регрессия — простейшая модель машинного обучения, где линейное преобразование применяется напрямую для предсказания непрерывной целевой переменной.

Авторизация