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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: {{well|Статья написана с использованием LLM '''Qwen3.7-Plus''' и проверена участником Участник:Iurii Zhuravlev 21:49, 19 ию...)
(Перенаправление на Многослойная нейронная сеть)
 
(6 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Qwen3.7-Plus''' и проверена участником [[Участник:Iurii Zhuravlev]] 21:49, 19 июля 2026 (MSD)
+
#REDIRECT [[Многослойная нейронная сеть]]
-
Промпт приводится полностью в [[Обсуждение:Теорема представления Колмогорова-Арнольда]]
+
-
}}
+
-
{{TOCright}}
+
-
'''Многослойный перцептрон''' (англ. ''Multilayer Perceptron'', '''MLP''') — фундаментальная архитектура [[Искусственная нейронная сеть|искусственных нейронных сетей]] прямого распространения (feedforward neural network), состоящая как минимум из трёх слоёв узлов: входного слоя, одного или нескольких скрытых слоёв и выходного слоя. Все узлы (кроме входных) являются искусственными нейронами, использующими нелинейную [[Функция активации|функцию активации]].
+
-
 
+
-
Многослойный перцептрон является базовой и наиболее исторически значимой архитектурой в [[Глубокое обучение|глубоком обучении]]. Благодаря наличию скрытых слоёв и нелинейных функций активации, MLP способен решать задачи, которые не поддаются линейной классификации или регрессии, что делает его универсальным инструментом для обработки табличных данных и фундаментом для более сложных архитектур.
+
-
 
+
-
== Историческая справка ==
+
-
 
+
-
=== От перцептрона к многослойной сети ===
+
-
История MLP тесно переплетена с историей всего искусственного интеллекта. В 1958 году американский психолог Фрэнк Розенблатт предложил модель [[Перцептрон|перцептрона]] — простейшей нейросети, состоящей из одного слоя нейронов<ref name="Rosenblatt1958">Rosenblatt, F. (1958). ''The perceptron: A probabilistic model for information storage and organization in the brain''. Psychological Review, 65(6), 386.</ref>. Перцептрон успешно решал задачи линейной классификации, однако имел критическое ограничение: он не мог выучить даже простейшую нелинейную функцию, такую как исключающее ИЛИ (XOR).
+
-
 
+
-
В 1969 году Марвин Минский и Сеймур Пейперт опубликовали монографию «Перцептроны», где математически доказали ограниченность однослойных сетей<ref name="Minsky1969">Minsky, M., & Papert, S. (1969). ''Perceptrons: An Introduction to Computational Geometry''. MIT Press.</ref>. Хотя авторы отмечали, что добавление скрытых слоёв теоретически решает проблему XOR, они не смогли предложить эффективного алгоритма обучения для таких сетей. Это привело к «первой зиме ИИ» — периоду резкого снижения финансирования и интереса к нейронным сетям.
+
-
 
+
-
=== Возрождение и алгоритм обратного распространения ошибки ===
+
-
Прорыв произошёл в 1970-1980-х годах. В 1974 году Пол Вербос в своей диссертации впервые предложил использовать [[Обратное распространение ошибки|алгоритм обратного распространения ошибки]] (backpropagation) для обучения многослойных сетей<ref name="Werbos1974">Werbos, P. J. (1974). ''Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences''. PhD thesis, Harvard University.</ref>. Однако его работа осталась малоизвестной за пределами узкого круга специалистов.
+
-
 
+
-
Настоящий «ренессанс» случился в 1986 году, когда Дэвид Румельхарт, Джеффри Хинтон и Рональд Уильямс независимо переоткрыли и популяризировали метод обратного распространения ошибки, продемонстрировав его эффективность на множестве задач<ref name="Rumelhart1986">Rumelhart, D. E., Hinton, G. E., & Williams, R. J. (1986). ''Learning representations by back-propagating errors''. Nature, 323(6088), 533-536.</ref>. Это событие ознаменовало начало эры многослойных нейронных сетей и современного глубокого обучения.
+
-
 
+
-
== Архитектура и принцип работы ==
+
-
 
+
-
Архитектура MLP представляет собой направленный ациклический граф.
+
-
 
+
-
1. '''Входной слой:''' Состоит из узлов, каждый из которых передаёт одно значение признака из входного вектора <tex>\mathbf{x}</tex>. Этот слой не выполняет никаких вычислений.
+
-
2. '''Скрытые слои:''' Один или несколько слоёв, в которых происходит нелинейное преобразование данных. Каждый нейрон скрытого слоя связан со всеми нейронами предыдущего слоя (полносвязная структура, или ''dense layer'').
+
-
3. '''Выходной слой:''' Формирует итоговый прогноз сети. Структура выходного слоя зависит от задачи (один нейрон для регрессии, <tex>K</tex> нейронов с функцией [[Функция активации#Softmax|Softmax]] для многоклассовой классификации).
+
-
 
+
-
Информация в MLP распространяется строго в одном направлении — от входа к выходу, без циклов и обратных связей (в отличие от [[Рекуррентная нейронная сеть|рекуррентных сетей]]).
+
-
 
+
-
== Математическая формулировка ==
+
-
 
+
-
Рассмотрим <tex>l</tex>-й скрытый слой MLP. Пусть <tex>\mathbf{h}^{(l-1)}</tex> — вектор выходов предыдущего слоя (для входного слоя <tex>\mathbf{h}^{(0)} = \mathbf{x}</tex>). Вычисление на <tex>l</tex>-м слое описывается следующей формулой:
+
-
 
+
-
<tex display="block"> \mathbf{z}^{(l)} = \mathbf{W}^{(l)} \mathbf{h}^{(l-1)} + \mathbf{b}^{(l)} </tex>
+
-
 
+
-
<tex display="block"> \mathbf{h}^{(l)} = \sigma\left(\mathbf{z}^{(l)}\right) </tex>
+
-
 
+
-
где:
+
-
* <tex>\mathbf{W}^{(l)}</tex> — матрица весов размером <tex>m_l \times m_{l-1}</tex> (где <tex>m_l</tex> — число нейронов в <tex>l</tex>-м слое);
+
-
* <tex>\mathbf{b}^{(l)}</tex> — вектор смещений (biases) размером <tex>m_l</tex>;
+
-
* <tex>\sigma(\cdot)</tex> — поэлементная нелинейная [[Функция активации|функция активации]] (например, [[Функция активации#ReLU|ReLU]], сигмоида или Tanh).
+
-
 
+
-
Выход сети <tex>\hat{\mathbf{y}}</tex> получается после прохождения через все <tex>L</tex> слоёв:
+
-
 
+
-
<tex display="block"> \hat{\mathbf{y}} = f_{\mathbf{\theta}}(\mathbf{x}) = \mathbf{W}^{(L)} \sigma\left(\mathbf{W}^{(L-1)} \dots \sigma\left(\mathbf{W}^{(1)}\mathbf{x} + \mathbf{b}^{(1)}\right) \dots + \mathbf{b}^{(L-1)}\right) + \mathbf{b}^{(L)} </tex>
+
-
 
+
-
где <tex>\mathbf{\theta} = \{\mathbf{W}^{(1)}, \mathbf{b}^{(1)}, \dots, \mathbf{W}^{(L)}, \mathbf{b}^{(L)}\}</tex> — множество всех обучаемых параметров сети.
+
-
 
+
-
== Обучение: обратное распространение ошибки ==
+
-
 
+
-
Обучение MLP заключается в минимизации [[Функция потерь|функции потерь]] <tex>\mathcal{L}(\mathbf{y}, \hat{\mathbf{y}})</tex> (например, [[Среднеквадратическая ошибка|MSE]] для регрессии или [[Перекрёстная энтропия|перекрёстной энтропии]] для классификации) относительно параметров <tex>\mathbf{\theta}</tex>.
+
-
 
+
-
Для этого используется алгоритм [[Обратное распространение ошибки|обратного распространения ошибки]] (backpropagation), основанный на [[Правило цепного дифференцирования|правиле цепного дифференцирования]] (chain rule) из математического анализа. Алгоритм вычисляет градиент функции потерь по каждому весу в сети, «протаскивая» ошибку от выходного слоя обратно к входному:
+
-
 
+
-
<tex display="block"> \frac{\partial \mathcal{L}}{\partial \mathbf{W}^{(l)}} = \frac{\partial \mathcal{L}}{\partial \mathbf{z}^{(l)}} \frac{\partial \mathbf{z}^{(l)}}{\partial \mathbf{W}^{(l)}} = \boldsymbol{\delta}^{(l)} \left(\mathbf{h}^{(l-1)}\right)^T </tex>
+
-
 
+
-
После вычисления градиентов параметры обновляются с помощью алгоритмов оптимизации на основе [[Градиентный спуск|градиентного спуска]], таких как [[Стохастический градиентный спуск|SGD]], [[Adam (алгоритм оптимизации)|Adam]] или RMSprop.
+
-
 
+
-
== Статистическая и ML-интерпретация ==
+
-
 
+
-
### Связь с непараметрической регрессией
+
-
С точки зрения статистики, MLP — это мощная форма [[Непараметрическая регрессия|непараметрической регрессии]]. Если [[Линейная регрессия|линейная регрессия]] ищет глобальную линейную зависимость, то скрытые слои MLP выступают в роли автоматического генератора нелинейных признаков (feature extractor), которые затем линейно комбинируются на выходном слое.
+
-
 
+
-
### Теорема универсальной аппроксимации
+
-
Фундаментальное теоретическое обоснование MLP даёт [[Теорема универсальной аппроксимации|теорема универсальной аппроксимации]] (Cybenko, 1989; Hornik, 1989)<ref name="Hornik1989">Hornik, K., Stinchcombe, M., & White, H. (1989). ''Multilayer feedforward networks are universal approximators''. Neural Networks, 2(5), 359-366.</ref>. Она гласит, что MLP с одним скрытым слоем конечной ширины способен аппроксимировать любую непрерывную функцию на компактном множестве с любой заданной точностью. Однако на практике глубокие сети (с множеством узких слоёв) оказываются гораздо более эффективными и требующими меньше параметров, чем широкие плоские сети<ref name="Goodfellow2016">Goodfellow, I., Bengio, Y., & Courville, A. (2016). ''Deep Learning''. MIT Press.</ref>.
+
-
 
+
-
### Смещение и дисперсия (Bias-Variance Tradeoff)
+
-
Увеличение числа слоёв и нейронов повышает ёмкость модели, снижая [[Смещение (статистика)|смещение]] (bias), но одновременно повышает риск [[Переобучение|переобучения]] (рост [[Дисперсия (статистика)|дисперсии]]). Для контроля этого баланса в MLP применяются методы [[Регуляризация|регуляризации]].
+
-
 
+
-
== Достоинства и ограничения ==
+
-
 
+
-
'''Преимущества:'''
+
-
* '''Универсальность:''' Способность моделировать сложные нелинейные зависимости.
+
-
* '''Автоматическое конструирование признаков:''' MLP сам находит нужные комбинации входных признаков, избавляя инженера от ручного feature engineering (в отличие от классических методов).
+
-
* '''Онлайн-обучение:''' Возможность использования [[Стохастический градиентный спуск|SGD]] для обучения на потоковых данных.
+
-
 
+
-
'''Ограничения:'''
+
-
* '''Проблема «чёрного ящика»:''' Интерпретировать, почему сеть приняла то или иное решение, крайне сложно (проблема решается методами XAI, такими как SHAP или LIME, но не самой архитектурой).
+
-
* '''Требовательность к данным:''' MLP с большим числом параметров требует огромных объёмов обучающей выборки для избежания переобучения.
+
-
* '''Инвариантность:''' Классический MLP не учитывает пространственную или временную структуру данных. Для изображений он игнорирует соседство пикселей, а для текстов — порядок слов.
+
-
 
+
-
== Практическое руководство для инженера ==
+
-
 
+
-
Если вы применяете MLP для решения прикладных задач, следуйте этим правилам:
+
-
 
+
-
1. '''Масштабирование признаков (Feature Scaling):''' MLP крайне чувствителен к масштабу входных данных. Всегда применяйте [[Стандартизация (статистика)|стандартизацию]] (StandardScaler) или нормализацию (MinMaxScaler) к числовым признакам. Иначе градиенты по одним весам будут огромными, а по другим — исчезающе малыми.
+
-
2. '''Выбор функции активации:''' Забудьте о сигмоиде и Tanh для скрытых слоёв в глубоких сетях — они страдают от [[Проблема затухающего градиента|проблемы затухающего градиента]]. Используйте [[Функция активации#ReLU|ReLU]] или её модификации (LeakyReLU, GELU).
+
-
3. '''Инициализация весов:''' Никогда не инициализируйте веса нулями. Используйте инициализацию Xavier/Glorot для сигмоид/Tanh и He initialization для ReLU.
+
-
4. '''Борьба с переобучением:''' Используйте [[Отсев (нейронные сети)|Dropout]] (вероятность 0.1–0.5) между скрытыми слоями и [[L1 и L2 регуляризация|L2-регуляризацию]] (weight decay).
+
-
5. '''Когда НЕ использовать MLP:''' Если ваши данные — это изображения, используйте [[Свёрточная нейронная сеть|CNN]]. Если это последовательности или текст — [[Трансформер (архитектура)|Трансформеры]] или RNN. Если это табличные данные с высокой интерпретируемостью — рассмотрите [[Градиентный бустинг|градиентный бустинг]] (XGBoost, CatBoost) или современные [[Сети Колмогорова-Арнольда|KAN]].
+
-
 
+
-
== См. также ==
+
-
* [[Перцептрон]]
+
-
* [[Обратное распространение ошибки]]
+
-
* [[Теорема универсальной аппроксимации]]
+
-
* [[Функция активации]]
+
-
* [[Градиентный спуск]]
+
-
* [[Свёрточная нейронная сеть]]
+
-
 
+
-
== Примечания ==
+
-
 
+
-
<references />
+
-
 
+
-
== Литература ==
+
-
* ''Rosenblatt F.'' The perceptron: A probabilistic model for information storage and organization in the brain // Psychological Review. — 1958. — Vol. 65, no. 6. — P. 386-408.
+
-
* ''Minsky M., Papert S.'' Perceptrons: An Introduction to Computational Geometry. — MIT Press, 1969. — 320 p.
+
-
* ''Werbos P. J.'' Beyond Regression: New Tools for Prediction and Analysis in the Behavioral Sciences: PhD thesis. — Harvard University, 1974.
+
-
* ''Rumelhart D. E., Hinton G. E., Williams R. J.'' Learning representations by back-propagating errors // Nature. — 1986. — Vol. 323, no. 6088. — P. 533-536.
+
-
* ''Hornik K., Stinchcombe M., White H.'' Multilayer feedforward networks are universal approximators // Neural Networks. — 1989. — Vol. 2, no. 5. — P. 359-366.
+
-
* ''Goodfellow I., Bengio Y., Courville A.'' Deep Learning. — MIT Press, 2016. — 800 p.
+
-
* ''Bishop C. M.'' Pattern Recognition and Machine Learning. — Springer, 2006. — 738 p. (Раздел 5: Feed-forward Neural Networks).
+

Текущая версия

  1. REDIRECT Многослойная нейронная сеть
Личные инструменты