Матрица весов (Weight Matrix)

Что такое Матрица весов (Weight Matrix)?

Матрица весов — это структурированный набор числовых параметров в нейронной сети, определяющий силу связей между нейронами смежных слоёв и влияющий на преобразование входных данных в выходные.

Представьте себе оркестр, где каждый музыкант (нейрон) играет свою партию. Матрица весов — это дирижёрская партитура, в которой прописаны «громкости» (веса) для каждого инструмента при исполнении определённых аккордов (входных сигналов). От того, как расставлены акценты в партитуре, зависит общее звучание произведения — так и от значений в матрице весов зависит итоговый результат работы нейросети.

Историческая справка

Исторически понятие весов восходит к первым моделям искусственных нейронов, таким как перцептрон Фрэнка Розенблатта (1958 г.). Уже тогда было понятно: чтобы модель могла «учиться», нужно варьировать силу связей между элементами. Поначалу матрицы весов настраивались вручную или по простейшим правилам, но с развитием алгоритмов обратного распространения ошибки (backpropagation, популяризировано в 1986 г. Дэвидом Румельхартом, Джеффри Хинтоном и Рональдом Уильямсом) стало возможным эффективно обучать большие матрицы на сложных задачах.

Отличия от других матриц

Важно отличать матрицу весов от:

  • матрицы смежности в графах (описывает наличие связей, а не их силу);
  • матрицы признаков (содержит исходные данные, а не параметры модели);
  • матрицы активаций (хранит выходные значения нейронов, а не параметры связей).

В контексте ML матрица весов — это именно обучаемые параметры модели, а не данные или структурное описание.

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

  • В полносвязном слое (dense layer) нейронной сети матрица весов имеет размерность [количество нейронов в предыдущем слое, количество нейронов в текущем слое]. При прямом проходе вход умножается на эту матрицу.
  • В свёрточных слоях (CNN) веса хранятся в виде ядер свёртки (фильтров), которые можно рассматривать как набор малых матриц, скользящих по входному изображению.
  • В рекуррентных сетях (RNN) матрицы весов отвечают за переход между состояниями: например, матрица W_{hh} описывает, как предыдущее скрытое состояние влияет на текущее.
  • В трансформерах (Transformer) матрицы весов используются в механизмах внимания (attention): например, матрицы запросов (W_Q), ключей (W_K) и значений (W_V) преобразуют входные эмбеддинги для вычисления весов внимания.

Популярные реализации

В библиотеках TensorFlow и PyTorch веса слоёв хранятся как тензоры (например, nn.Linear в PyTorch автоматически инициализирует матрицу весов), а их обновление происходит в процессе оптимизации (SGD, Adam и т. п.).

Авторизация