Многослойный персептрон

Материал из MachineLearning.

Версия от 20:12, 2 июля 2026; Kirill Bazhutov (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск
Статья написана с использованием LLM Gemini и проверена участником Kirill Bazhutov 00:12, 3 июля 2026 (MSD)


Многослойный персептрон (Multilayer Perceptron, MLP) — это базовая архитектура искусственных нейронных сетей (Artificial Neural Network, ANN) прямого распространения (Feedforward). Сеть состоит из нескольких слоёв вычислительных узлов: входного, одного или нескольких скрытых и выходного. Каждый узел скрытого слоя обычно представляет собой искусственный нейрон с нелинейной функцией активации; вид выходного слоя зависит от решаемой задачи.

В парадигме глубокого обучения (Deep Learning) MLP является одной из базовых архитектур и элементарных вычислительных схем. Несмотря на доминирование специализированных архитектур (CNN для компьютерного зрения, Transformer для NLP), полносвязные сети широко применяются для работы с табличными признаковыми описаниями (хотя в ряде практических задач конкурируют с методами градиентного бустинга) и часто выполняют роль проекционных или классифицирующих блоков в составе сложных нейросетевых архитектур.

Содержание

История и место MLP среди нейросетей

Оригинальный классический персептрон был предложен Фрэнком Розенблаттом в 1958 году. Однослойная модель была способна решать задачи линейной классификации. Однако в 1969 году работа Марвина Минского и Сеймура Пейперта показала фундаментальные ограничения однослойных персептронов, включая неспособность решать задачи, не являющиеся линейно разделимыми (такие как XOR). Часто считается, что эта критика стала одним из факторов снижения интереса к нейросетевым подходам в последующие годы.

Появление скрытых слоёв концептуально решало эту проблему, но требовало нового математического аппарата для обучения. Возрождение направления произошло в 1980-х годах благодаря популяризации алгоритма обратного распространения ошибки (Backpropagation), который позволил эффективно обучать многослойные архитектуры. Широкое признание этот метод получил после публикации фундаментальной работы Дэвида Румельхарта, Джеффри Хинтона и Рональда Уильямса в 1986 году.

Архитектура и векторизованное представление

Основой MLP является полносвязный слой (Dense layer). При отсутствии скрытых слоёв модель сводится к линейному классификатору, близкому по выразительной способности к логистической регрессии или однослойному персептрону. Скрытые слои позволяют строить нелинейные разделяющие поверхности.

В математическом смысле каждый слой выполняет аффинное преобразование входного пространства с последующим применением поэлементной нелинейности. Для вычислительной эффективности операции рассматриваются не для отдельных векторов, а для матриц (мини-пакетов).

Пусть размер мини-пакета (mini-batch) равен N. Тогда входные данные представляются матрицей X \in \mathbb{R}^{N \times d_0}, где d_0 — размерность входного признакового пространства. Прямое распространение (Forward pass) для слоя l (где l = 1, \dots, L) записывается в матричном виде:

Z^{(l)} = A^{(l-1)} W^{(l)} + B^{(l)}
A^{(l)} = f^{(l)}(Z^{(l)})

Где:

  • W^{(l)} \in \mathbb{R}^{d_{l-1} \times d_l} — матрица весов, где d_l — количество нейронов в слое l.
  • A^{(l-1)} \in \mathbb{R}^{N \times d_{l-1}} — матрица активаций предыдущего слоя (при l=1, A^{(0)} = X).
  • B^{(l)} — матрица смещений, полученная путём распространения вектора смещений b^{(l)} \in \mathbb{R}^{d_l} на все строки мини-пакета.
  • f^{(l)} — нелинейная Функция активации.

Общее число обучаемых параметров MLP равно сумме параметров всех слоёв, что подчёркивает быстрый рост сложности модели при увеличении ширины слоёв:

P = \sum_{l=1}^{L} (d_{l-1} + 1)d_l

где +1 учитывает вектор смещений.

Роль функций активации

Без нелинейных функций f^{(l)} композиция любого количества аффинных слоёв сводится в одно эквивалентное линейное преобразование. При достаточном числе нейронов и подходящих функциях активации MLP способен аппроксимировать широкий класс непрерывных функций на компактных множествах (Теорема Цыбенко). Однако теорема универсальной аппроксимации не гарантирует эффективности обучения или хорошей обобщающей способности модели.

Исторически в скрытых слоях применялись сигмоида и гиперболический тангенс, однако в современных MLP они во многом вытеснены семейством ReLU (Rectified Linear Unit):

\text{ReLU}(z) = \max(0, z)

Производная ReLU равна 1 при z > 0 и 0 при z < 0; в точке z = 0 обычно используется выбранный субградиент. Благодаря наличию линейного участка ReLU частично снижает проблему исчезающего градиента (Vanishing gradient problem) по сравнению с сигмоидой и тангенсом.

Вид выходного слоя и типы задач

Вид выходного слоя и соответствующая функция потерь определяются спецификой решаемой задачи:

  • Регрессия: Применяется линейный выходной слой (без активации).
  • Бинарная классификация: Выходной слой из одного нейрона использует сигмоиду для предсказания вероятности целевого класса. Используемая функция потерь — бинарная кросс-энтропия (Binary Cross-Entropy).
  • Многоклассовая классификация: Выходной слой использует функцию Softmax, преобразующую логиты в распределение вероятностей по взаимно исключающим классам. Соответствующая функция потерь — категориальная кросс-энтропия (Categorical Cross-Entropy).

Обучение и Метод максимального правдоподобия

Процесс обучения MLP сводится к нахождению оптимальных матриц весов \theta = \{W^{(l)}, b^{(l)}\}_{l=1}^L, минимизирующих эмпирический риск. Во многих стандартных задачах машинного обучения выбор функции потерь может быть обоснован через статистический Метод максимального правдоподобия (Maximum Likelihood Estimation, MLE), хотя на практике могут применяться и другие функции (робастные функции потерь или суррогатные функции, ориентированные на метрики конкретной задачи).

Если рассматривать выходы нейронной сети как параметры вероятностного распределения p(y | x; \theta), то задача обучения в рамках MLE — это максимизация правдоподобия обучающей выборки, что эквивалентно минимизации отрицательного логарифма правдоподобия (Negative Log-Likelihood, NLL).

Алгоритм обратного распространения ошибки

Минимизация функции потерь осуществляется итеративно с помощью алгоритма градиентного спуска. Вычисление градиентов по всем параметрам сети опирается на Алгоритм обратного распространения ошибки (Backpropagation).

Определим матрицу ошибок для слоя l как градиент потерь по преактивациям: \Delta^{(l)} = \frac{\partial L}{\partial Z^{(l)}} \in \mathbb{R}^{N \times d_l}. Шаг обратного распространения вычисляется рекурсивно от последнего слоя к первому. Для скрытого слоя (при l-1 \geq 1) ошибка распространяется следующим образом:

\Delta^{(l-1)} = (\Delta^{(l)} (W^{(l)})^T) \odot f'^{(l-1)}(Z^{(l-1)})

Где \odot — произведение Адамара (поэлементное умножение), а f' — производная функции активации.

Градиенты параметров вычисляются так:

\frac{\partial L}{\partial W^{(l)}} = \frac{1}{N} (A^{(l-1)})^T \Delta^{(l)}
\frac{\partial L}{\partial b^{(l)}} = \frac{1}{N} \sum_{i=1}^N \Delta^{(l)}_{i, :}

Примечание: Если L обозначает среднюю потерю по мини-пакету, множитель \frac{1}{N} включается либо в определение \Delta^{(l)}, либо применяется при итоговом вычислении градиентов параметров. Важно соблюдать единую конвенцию нормировки.

Обновление весов происходит в направлении антиградиента с учётом скорости обучения (learning rate) и возможных эвристик оптимизатора (Momentum, Adam).

Практика применения

Предобработка данных

Многослойный персептрон обычно чувствителен к масштабу входных признаков. Перед началом обучения стандартной практикой является применение стандартизации (z-score normalization) или минимаксной нормализации входных данных.

Инициализация, регуляризация и нормализация

Устойчивая сходимость глубокого MLP требует комплекса дополнительных техник:

  • Инициализация весов: Для логистических активаций применяется метод Xavier (Glorot), для семейства ReLU — инициализация He. Это позволяет избежать проблем с дисперсией сигнала на начальных этапах.
  • Регуляризация: Традиционно применяется L2-регуляризация (weight decay). Эффективным подходом является метод Dropout, который случайно отключает часть нейронов в процессе обучения, что можно интерпретировать как приближение ансамблирования множества подсетей.
  • Нормализация: Пакетная нормализация (Batch Normalization) или нормализация слоя (Layer Normalization) могут стабилизировать обучение и ускорять сходимость глубоких сетей.
  • Ранняя остановка (Early stopping): Эвристический метод прерывания оптимизации при начале деградации метрик на валидационной выборке.

Основные гиперпараметры

При проектировании и обучении MLP настройке подлежат:

  • Архитектурные: число скрытых слоёв, количество нейронов в каждом слое, тип функции активации.
  • Оптимизационные: скорость обучения (learning rate), размер мини-пакета (batch size), коэффициент регуляризации, количество эпох обучения.

Преимущества и ограничения

Преимущества:

  • Универсальная аппроксимирующая способность.
  • Широкая применимость при работе с табличными данными.
  • Концептуальная простота реализации и естественная векторизация, масштабируемая на современные графические ускорители (GPU).

Ограничения:

  • Отсутствие индуктивных смещений: при работе с изображениями, текстами и последовательностями MLP обычно уступает архитектурам, использующим специальные индуктивные смещения, таким как CNN, RNN и трансформер.
  • Высокая параметрическая емкость: полносвязность обуславливает огромное количество обучаемых параметров, что увеличивает риск переобучения.
  • Требовательность к пайплайну: алгоритм оптимизации зависит от масштабирования признаков, инициализации весов и качественного подбора гиперпараметров.

См. также

Литература

  • Bishop C. M. Pattern Recognition and Machine Learning. — Springer, 2006.
  • Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction. — Springer, 2009.
  • Goodfellow I., Bengio Y., Courville A. Deep Learning. — MIT Press, 2016.
  • Rumelhart D. E., Hinton G. E., Williams R. J. Learning representations by back-propagating errors // Nature. — 1986. — Т. 323. — С. 533–536.
  • Cybenko G. Approximation by superpositions of a sigmoidal function // Mathematics of Control, Signals and Systems. — 1989. — Т. 2. — С. 303–314.
  • Glorot X., Bengio Y. Understanding the difficulty of training deep feedforward neural networks // AISTATS. — 2010.
  • He K., Zhang X., Ren S., Sun J. Delving deep into rectifiers: Surpassing human-level performance on imagenet classification // ICCV. — 2015.
  • Srivastava N., Hinton G., Krizhevsky A., Sutskever I., Salakhutdinov R. Dropout: A simple way to prevent neural networks from overfitting // JMLR. — 2014. — Т. 15. — С. 1929–1958.