Теорема универсальной аппроксимации

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

(Различия между версиями)
Перейти к: навигация, поиск
 
Строка 1: Строка 1:
-
{{well|Статья написана с использованием LLM '''Qwen3.7-Plus''' и проверена участником [[Участник:Iurii Zhuravlev]] 21:10, 19 июля 2026 (MSD)
+
#REDIRECT [[Универсальная теорема аппроксимации]]
-
Промпт приводится полностью в [[Обсуждение:Теорема универсальной аппроксимации]]
+
-
}}
+
-
{{TOCright}}
+
-
'''Теорема универсальной аппроксимации''' (англ. ''Universal Approximation Theorem'', '''UAT''') — фундаментальный математический результат в теории [[Искусственная нейронная сеть|искусственных нейронных сетей]], утверждающий, что [[Многослойный перцептрон|многослойный перцептрон]] (feedforward neural network) с одним скрытым слоем конечной ширины способен с любой заданной точностью аппроксимировать любую непрерывную функцию многих переменных на компактном подмножестве евклидова пространства.
+
-
 
+
-
Эта теорема является математическим обоснованием эффективности нейронных сетей и служит теоретическим фундаментом для всего современного [[Глубокое обучение|глубокого обучения]]. Для инженеров и исследователей данных она объясняет, *почему* нейросети вообще способны решать сложные задачи, однако, что критически важно, она не гарантирует, что алгоритмы оптимизации (например, [[Градиентный спуск|градиентный спуск]]) смогут *найти* нужные веса.
+
-
 
+
-
== Историческая справка и мотивация ==
+
-
 
+
-
=== Математические предпосылки ===
+
-
Идея представления сложных функций через суперпозицию более простых уходит корнями в [[Теорема представления Колмогорова-Арнольда|теорему Колмогорова-Арнольда]] (1957). Однако теорема Колмогорова-Арнольда гарантирует *точное* представление с использованием специфических, заранее заданных и немонотонных функций, что делало её неприменимой для построения обучаемых моделей напрямую.
+
-
 
+
-
=== Рождение теоремы для нейронных сетей ===
+
-
Прорыв в применении теории аппроксимации к нейронным сетям произошёл на рубеже 1980-х и 1990-х годов, в период «ренессанса» коннекционизма.
+
-
 
+
-
В 1989 году Джордж Cybenko опубликовал работу, в которой строго доказал, что двухслойная сеть (один скрытый слой) с [[Функция активации|сигмоидной функцией активации]] является универсальным аппроксиматором<ref name="Cybenko1989">Cybenko, G. (1989). ''Approximation by superpositions of a sigmoidal function''. Mathematics of Control, Signals and Systems, 2(4), 303-314.</ref>. Независимо от него Курт Хорник, Максимилиан Штахль и Маршалл Уайтбергер доказали аналогичный результат, сделав акцент на том, что универсальность обеспечивается не спецификой сигмоиды, а самой архитектурой сети с одним скрытым слоем<ref name="Hornik1989">Hornik, K., Stinchcombe, M., & White, H. (1989). ''Multilayer feedforward networks are universal approximators''. Neural Networks, 2(5), 359-366.</ref>.
+
-
 
+
-
В 1991 году Курт Хорник обобщил свой результат, показав, что в качестве функции активации подходит *любая* непрерывная непостоянная функция, которая не является полиномом (включая [[Функция активации#ReLU|ReLU]], которая стала стандартом десятилетия спустя)<ref name="Hornik1991">Hornik, K. (1991). ''Approximation capabilities of multilayer feedforward networks''. Neural Networks, 4(2), 251-257.</ref>.
+
-
 
+
-
== Математическая формулировка ==
+
-
 
+
-
Рассмотрим [[Многослойный перцептрон|многослойный перцептрон]] с одним скрытым слоем. Выход такой сети описывается формулой:
+
-
 
+
-
<tex display="block"> F(\mathbf{x}) = \sum_{i=1}^{N} \alpha_i \sigma(\mathbf{w}_i^T \mathbf{x} + b_i) </tex>
+
-
 
+
-
где:
+
-
* <tex>\mathbf{x} \in \mathbb{R}^n</tex> — входной вектор признаков;
+
-
* <tex>N</tex> — количество нейронов в скрытом слое (ширина сети);
+
-
* <tex>\mathbf{w}_i \in \mathbb{R}^n</tex> — вектор весов <tex>i</tex>-го нейрона;
+
-
* <tex>b_i \in \mathbb{R}</tex> — смещение (bias) <tex>i</tex>-го нейрона;
+
-
* <tex>\alpha_i \in \mathbb{R}</tex> — вес выходного соединения <tex>i</tex>-го нейрона;
+
-
* <tex>\sigma: \mathbb{R} \to \mathbb{R}</tex> — [[Функция активации|функция активации]].
+
-
 
+
-
'''Теорема (в формулировке Хорника):''' Пусть <tex>\sigma</tex> — любая непрерывная, ограниченная и строго монотонная функция (например, логистическая сигмоида <tex>\sigma(z) = 1 / (1 + e^{-z})</tex>). Тогда для любой непрерывной функции <tex>f: K \to \mathbb{R}</tex>, определённой на компактном множестве <tex>K \subset \mathbb{R}^n</tex>, и любого <tex>\epsilon > 0</tex>, существует такое конечное число <tex>N</tex> и такие параметры <tex>\alpha_i, \mathbf{w}_i, b_i</tex>, что:
+
-
 
+
-
<tex display="block"> \sup_{\mathbf{x} \in K} |F(\mathbf{x}) - f(\mathbf{x})| < \epsilon </tex>
+
-
 
+
-
=== Обобщения на современные архитектуры ===
+
-
Изначальная теорема была доказана для сетей с одним скрытым слоем. Однако на практике почти всегда используются глубокие сети. Математически было показано, что:
+
-
1. '''Глубокие сети:''' Теорема универсальной аппроксимации справедлива и для глубоких сетей. Более того, было доказано, что для аппроксимации некоторых классов функций глубокие сети требуют экспоненциально меньшего числа нейронов, чем широкие (плоские) сети<ref name="Telgarsky2016">Telgarsky, M. (2016). ''Benefits of depth in neural networks''. Conference on Learning Theory, 1517-1539.</ref>.
+
-
2. '''Функция ReLU:''' Теорема остается в силе для кусочно-линейных функций, таких как [[Функция активации#ReLU|ReLU]] (<tex>\sigma(z) = \max(0, z)</tex>), при условии, что скрытых слоев хотя бы два<ref name="Lu2017">Lu, Z., Pu, H., Wang, F., Hu, Z., & Wang, L. (2017). ''The expressive power of neural networks: A view from the width''. Advances in Neural Information Processing Systems, 30.</ref>.
+
-
3. '''Другие архитектуры:''' Аналогичные теоремы были доказаны для [[Рекуррентная нейронная сеть|рекуррентных нейронных сетей]] (RNN)<ref name="Siegelmann1995">Siegelmann, H. T., & Sontag, E. D. (1995). ''On the computational power of neural nets''. Journal of computer and system sciences, 50(1), 132-150.</ref>, [[Свёрточная нейронная сеть|свёрточных нейронных сетей]] (CNN) и, в определённых ограничениях, для [[Трансформер (архитектура)|трансформеров]].
+
-
 
+
-
== Статистическая и ML-интерпретация ==
+
-
 
+
-
Для студента и инженера по машинному обучению критически важно понимать разницу между математической аппроксимацией и статистическим обучением.
+
-
 
+
-
### Аппроксимация против Обучения
+
-
Теорема универсальной аппроксимации — это теорема *существования*. Она гарантирует, что в пространстве параметров сети *существует* набор весов, обеспечивающий нужную точность. Однако она '''ничего не говорит''' о том, сможет ли алгоритм оптимизации (например, [[Стохастический градиентный спуск|стохастический градиентный спуск]]) найти этот набор весов за разумное время. Ландшафт функции потерь нейронной сети крайне нелинеен и невыпукл, что делает задачу поиска глобального минимума NP-трудной в общем случае.
+
-
 
+
-
### Ёмкость модели и переобучение
+
-
Чтобы аппроксимировать сложную функцию с высокой точностью (<tex>\epsilon \to 0</tex>), согласно теореме, необходимо увеличивать число нейронов <tex>N</tex>. В терминах статистического обучения, увеличение <tex>N</tex> повышает [[VC-размерность|VC-размерность]] (или ёмкость) модели.
+
-
 
+
-
Если ёмкость модели слишком велика по сравнению с объёмом обучающей выборки, модель начнёт «запоминать» шум в данных, а не выявлять истинные закономерности. Это явление известно как [[Переобучение|переобучение]] (overfitting). Таким образом, теорема универсальной аппроксимации объясняет, почему нейросети могут выучить что угодно, но именно статистическая теория обучения диктует необходимость использования [[Регуляризация|регуляризации]], [[Ранняя остановка|ранней остановки]] и [[Отсев (нейронные сети)|Dropout]].
+
-
 
+
-
### Связь с непараметрической статистикой
+
-
С точки зрения статистики, нейронная сеть с одним скрытым слоем является формой [[Ядерное сглаживание|ядерного сглаживания]] или [[Метод радиальных базисных функций|сети радиальных базисных функций]]. Нейроны скрытого слоя выступают в роли базисных функций, которые «накрывают» пространство признаков, а выходной слой осуществляет их линейную комбинацию.
+
-
 
+
-
== Ограничения и практические следствия ==
+
-
 
+
-
Несмотря на статус «универсального» инструмента, на практике инженеры сталкиваются с рядом ограничений, вытекающих из природы теоремы:
+
-
 
+
-
# '''Проклятие размерности:''' Теорема не даёт оценок того, как быстро растёт <tex>N</tex> при увеличении размерности входа <tex>n</tex>. Для многих функций требуемое число нейронов растёт экспоненциально с ростом <tex>n</tex>. Это объясняет, почему «наивное» применение широких сетей к данным высокой размерности (например, к пикселям изображения без использования сверток) неэффективно.
+
-
# '''Спектральное смещение (Spectral Bias):''' Нейронные сети, обучаемые градиентными методами, имеют тенденцию в первую очередь изучать низкочастотные (гладкие) компоненты функции, и гораздо медленнее — высокочастотные. Это означает, что для аппроксимации функций с резкими локальными изменениями (например, разрывов или высокочастотных сигналов) стандартным MLP потребуются огромные вычислительные ресурсы.
+
-
# '''Экстраполяция:''' Теорема гарантирует аппроксимацию только на ''компактном множестве'' <tex>K</tex> (то есть в области, где были данные при обучении). Нейронные сети notoriously плохо справляются с экстраполяцией — предсказанием за пределами обучающего распределения.
+
-
 
+
-
== Практическое руководство для инженера ==
+
-
 
+
-
Как использовать понимание теоремы универсальной аппроксимации в ежедневной работе:
+
-
 
+
-
* '''Не бойтесь увеличивать ширину сети:''' Если ваша модель недообучается (high bias) на тренировочных данных, теорема гарантирует, что добавление нейронов в скрытый слой увеличит её аппроксимирующую способность.
+
-
* '''Помните про глубину:''' Если вам нужно моделировать сложные иерархические зависимости (например, в NLP или Computer Vision), не пытайтесь решить задачу одной широкой сетью. Используйте глубину — это математически более эффективный путь увеличения аппроксимирующей способности.
+
-
* '''Балансируйте с регуляризацией:''' Помните, что способность сети выучить *любую* функцию означает, что она с равным успехом выучит и идеальный сигнал, и случайный белый шум. Всегда используйте валидационные выборки и методы регуляризации, чтобы ограничить «универсальность» сети в пользу обобщающей способности.
+
-
 
+
-
== См. также ==
+
-
* [[Теорема представления Колмогорова-Арнольда]]
+
-
* [[Многослойный перцептрон]]
+
-
* [[Теорема «Нет бесплатных обедов»]]
+
-
* [[VC-размерность]]
+
-
* [[Смещение и дисперсия]]
+
-
 
+
-
== Примечания ==
+
-
 
+
-
<references />
+
-
 
+
-
== Литература ==
+
-
* ''Cybenko G.'' Approximation by superpositions of a sigmoidal function // Mathematics of Control, Signals and Systems. — 1989. — Vol. 2, no. 4. — P. 303-314.
+
-
* ''Hornik K., Stinchcombe M., White H.'' Multilayer feedforward networks are universal approximators // Neural Networks. — 1989. — Vol. 2, no. 5. — P. 359-366.
+
-
* ''Hornik K.'' Approximation capabilities of multilayer feedforward networks // Neural Networks. — 1991. — Vol. 4, no. 2. — P. 251-257.
+
-
* ''Lu Z., Pu H., Wang F., Hu Z., Wang L.'' The expressive power of neural networks: A view from the width // Advances in Neural Information Processing Systems (NeurIPS). — 2017. — Vol. 30.
+
-
* ''Telgarsky M.'' Benefits of depth in neural networks // Conference on Learning Theory (COLT). — 2016. — P. 1517-1539.
+
-
* ''Goodfellow I., Bengio Y., Courville A.'' Deep Learning. — MIT Press, 2016. — 800 p. (Раздел 6.4.1: Universal Approximation Properties).
+

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

  1. REDIRECT Универсальная теорема аппроксимации
Личные инструменты