Открыть сервис

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

Многослойный персептрон (МСП, англ. Multilayer Perceptron, MLP) — это класс архитектур искусственных нейронных сетей с прямой связью (feedforward), состоящий как минимум из трёх слоёв нейронов: входного, одного или нескольких скрытых и выходного. В отличие от однослойного персептрона, МСП способен аппроксимировать нелинейные функции и решать задачи, не являющиеся линейно разделимыми, что делает его одной из фундаментальных моделей в машинном обучении и глубоком обучении.

История

Предпосылки и ранние разработки

Концепция персептрона была предложена Фрэнком Розенблаттом в 1957 году. Его однослойный персептрон (Mark I Perceptron) представлял собой простую линейную модель, способную классифицировать только линейно разделимые множества. В 1969 году Марвин Мински и Сеймур Пейперт в книге «Персептроны» математически доказали фундаментальные ограничения однослойных персептронов, в частности невозможность решения задачи XOR. Это привело к так называемой «первой зиме искусственного интеллекта» — периоду снижения интереса к нейросетевым исследованиям.

Преодоление ограничений

В 1986 году Дэвид Румельхарт, Джеффри Хинтон и Рональд Уильямс опубликовали работу, в которой описали алгоритм обратного распространения ошибки (backpropagation) для обучения многослойных персептронов. Этот алгоритм позволил эффективно вычислять градиенты функции потерь по всем весам сети, используя цепное правило дифференцирования. Введение нелинейных функций активации (например, сигмоиды) в скрытых слоях дало возможность МСП аппроксимировать любые непрерывные функции при достаточном количестве нейронов (теорема универсальной аппроксимации, доказанная в 1989 году Джорджем Цыбенко и Куртом Хорником).

Развитие и современное состояние

В 1990-е и 2000-е годы многослойные персептроны активно применялись в распознавании образов, прогнозировании временных рядов и обработке сигналов. Однако с ростом объёмов данных и вычислительных мощностей МСП уступили лидерство более специализированным архитектурам (свёрточные нейронные сети для изображений, рекуррентные сети для последовательностей). Тем не менее, МСП остаётся базовым компонентом современных моделей: его используют в качестве классификаторов в свёрточных сетях, в составе трансформеров (в блоках feedforward) и в автоэнкодерах.

Архитектура

Строение сети

Многослойный персептрон состоит из последовательно соединённых слоёв нейронов. Каждый нейрон одного слоя связан со всеми нейронами следующего слоя (полносвязная архитектура). Основные элементы:

  • Входной слой: принимает исходные данные (например, вектор признаков). Количество нейронов равно размерности входных данных. Нейроны входного слоя не выполняют вычислений — они только передают сигнал.
  • Скрытые слои: один или несколько слоёв, в которых происходит нелинейное преобразование данных. Каждый нейрон скрытого слоя вычисляет взвешенную сумму входов, добавляет смещение (bias) и пропускает результат через функцию активации.
  • Выходной слой: выдаёт результат работы сети. Количество нейронов зависит от задачи (например, один нейрон для бинарной классификации, K нейронов для многоклассовой классификации с softmax).

Функции активации

Выбор функции активации критически важен для способности МСП обучаться. Основные типы:

  • Сигмоида: σ(x) = 1 / (1 + e⁻ˣ). Использовалась исторически, но страдает от проблемы исчезающего градиента.
  • Гиперболический тангенс (tanh): tanh(x) = (e²ˣ − 1) / (e²ˣ + 1). Даёт выход в диапазоне (−1, 1), симметричен относительно нуля.
  • ReLU (Rectified Linear Unit): f(x) = max(0, x). Наиболее популярна в современных сетях, так как не насыщается при положительных значениях и ускоряет обучение.
  • Leaky ReLU, ELU, Swish: модификации ReLU, решающие проблему «умирающих нейронов».

Математическая модель

Для одного нейрона с номером j в слое l выход вычисляется как:

zⱼ⁽ˡ⁾ = Σᵢ wᵢⱼ⁽ˡ⁾ · aᵢ⁽ˡ⁻¹⁾ + bⱼ⁽ˡ⁾

aⱼ⁽ˡ⁾ = φ(zⱼ⁽ˡ⁾)

где wᵢⱼ — веса, bⱼ — смещение, aᵢ⁽ˡ⁻¹⁾ — выходы предыдущего слоя, φ — функция активации.

Обучение

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

Обучение МСП осуществляется методом градиентного спуска с использованием обратного распространения ошибки. Процесс включает:

  1. Прямой проход: входные данные пропускаются через сеть, вычисляются выходы всех слоёв.
  2. Вычисление ошибки: сравнивается выход сети с целевым значением с помощью функции потерь (например, среднеквадратичная ошибка для регрессии или кросс-энтропия для классификации).
  3. Обратный проход: градиент ошибки распространяется от выходного слоя к входному, обновляя веса и смещения по правилу:

wᵢⱼ := wᵢⱼ − η · ∂L/∂wᵢⱼ

где η — скорость обучения, L — функция потерь.

Методы оптимизации

  • Стохастический градиентный спуск (SGD): обновление весов по одному примеру.
  • Mini-batch SGD: обновление по подвыборке данных.
  • Adam, RMSprop, Adagrad: адаптивные методы, подбирающие скорость обучения для каждого параметра.

Регуляризация

Для предотвращения переобучения применяются:

  • L1/L2-регуляризация: добавление штрафа за величину весов в функцию потерь.
  • Dropout: случайное отключение части нейронов во время обучения (предложен Джеффри Хинтоном в 2012 году).
  • Ранняя остановка: прекращение обучения при отсутствии улучшения на валидационном наборе.
  • Batch normalization: нормализация выходов слоёв для ускорения обучения и снижения чувствительности к инициализации.

Применение

Классификация и регрессия

МСП широко используется для задач:

Обработка данных

  • Автоэнкодеры: МСП, обученные восстанавливать входные данные через узкое горлышко (bottleneck), используются для сжатия и извлечения признаков.
  • Аппроксимация функций: МСП может моделировать сложные зависимости между входными и выходными переменными.

Гибридные архитектуры

  • В составе свёрточных сетей: последние полносвязные слои (обычно 1–3) выполняют роль классификатора на основе признаков, извлечённых свёрточными слоями.
  • В трансформерах: блоки feedforward (два полносвязных слоя с активацией ReLU) являются частью каждого слоя энкодера и декодера.

Ограничения

  • Высокая вычислительная сложность: полносвязные слои содержат большое количество параметров (O(N²) для двух слоёв с N нейронами), что замедляет обучение и увеличивает требования к памяти.
  • Чувствительность к масштабу данных: МСП требует нормализации входных признаков для стабильного обучения.
  • Проблема локальных минимумов: функция потерь невыпукла, и градиентный спуск может сходиться к неоптимальному решению.
  • Неэффективность для пространственных данных: в отличие от свёрточных сетей, МСП не учитывает локальную структуру изображений, что приводит к избыточности параметров.

Интересные факты

  • Теорема универсальной аппроксимации утверждает, что МСП с одним скрытым слоем достаточной ширины может аппроксимировать любую непрерывную функцию на компактном множестве с любой точностью.
  • В 1989 году Ян ЛеКун использовал МСП для распознавания почтовых индексов, что стало одним из первых коммерческих применений нейросетей.
  • Современные библиотеки глубокого обучения (TensorFlow, PyTorch) реализуют МСП как базовый класс Dense или Linear, позволяя строить сети любой глубины.

Источники

  • Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). Learning representations by back-propagating errors. Nature, 323(6088), 533–536.
  • Cybenko, G. (1989). Approximation by superpositions of a sigmoidal function. Mathematics of Control, Signals, and Systems, 2(4), 303–314.
  • Hornik, K., Stinchcombe, M., & White, H. (1989). Multilayer feedforward networks are universal approximators. Neural Networks, 2(5), 359–366.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
  • Haykin, S. (1999). Neural Networks: A Comprehensive Foundation. Prentice Hall.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →