Толковый словарь по нейросетям и искусственному интеллекту
Линейный слой
Категория термина
Линейный слой (Linear Layer) — это фундаментальный компонент нейронных сетей, также известный как полносвязный слой (fully connected layer, FC layer). Он выполняет линейное преобразование входного вектора с помощью матрицы весов и вектора смещений (bias):
y=Wx+by = Wx + bгде:
- xx — входной вектор,
- WW — матрица весов,
- bb — вектор смещений,
- yy — выходной вектор.
Линейный слой не содержит нелинейностей, поэтому после него обычно применяют функцию активации (например, ReLU, Sigmoid, Tanh) для введения нелинейности и способности сети моделировать сложные зависимости.
🔑 Основные характеристики:
- Полносвязность: каждый вход связан с каждым выходом.
- Параметры: матрица весов WW и вектор смещений bb.
- Линейное преобразование: только комбинация входных признаков без учета сложных зависимостей (нелинейности добавляются через активации).
🧩 Примеры применения:
- Классификация: последний слой нейросети часто является линейным, преобразующим скрытое представление в вектор вероятностей классов.
- Автоэнкодеры: линейный слой используется для кодирования и декодирования признаков.
- Трансформеры: каждый attention-модуль включает линейные слои для проекции Q, K и V векторов.
- Регрессия: линейный слой напрямую прогнозирует численные значения на основе входных признаков.
📦 Пример на PyTorch:
🔄 Связанные понятия:
- Fully Connected Layer (FC Layer) — синоним линейного слоя.
- Activation Function (Функция активации) — добавляет нелинейность после линейного слоя.
- Weight Initialization (Инициализация весов) — важна для обучения линейного слоя.
- Bias (Смещение) — позволяет сдвинуть линейную функцию.
📌 Вывод:
Линейный слой является основой нейронных сетей и используется для линейного преобразования входных данных в скрытые представления или прогнозы. Несмотря на простоту, в сочетании с активациями и другими слоями он позволяет моделям обучаться сложным и высокоразмерным зависимостям в данных.