Существуют ли функции многих переменных ?
Вопрос, вынесенный в заголовок раздела, естественно возникает при изучении возможностей нейронных сетей. Из схем предыдущих разделов видно, что нейронные сети вычисляют линейные функции, нелинейные функции одного переменного, а также всевозможные суперпозиции - функции от функций, получаемые при каскадном соединении сетей. Что можно получить, используя только такие операции? Какие функции удастся вычислить точно, а какие функции можно сколь угодно точно аппроксимировать с помощью нейронных сетей? Чтобы изучить возможности нейронных сетей, нужно ответить на эти вопросы.
Заданный вопрос имеет очень большую историю и заведомо старше, чем исследования искусственных нейронных сетей.
Какие функции может вычислять человек? Если мы умеем складывать и умножать числа, то мы можем точно вычислять многочлены и рациональные функции (отношения многочленов) с рациональными коэффициентами от рациональных же аргументов.
Можно, однако, задавать функции с помощью уравнений. Если считать решения нескольких простых уравнений известными, то класс вычисляемых функций расширится - решения некоторых более общих уравнений удастся выразить через эти, более простые функции.
Классический пример: если использовать радикалы - решения уравнений xn=a, то можно явно получить решения произвольных уравнений 2-й, 3-й и 4-й степеней. Так, функция 3-х переменных a, b, c - решение уравнения ax2+bx+c=0 - может быть точно выражена с помощью сложения, умножения, деления и функции одного переменного - квадратного корня.
Вопрос: можно ли представить решение любого алгебраического уравнения с помощью радикалов, был окончательно и отрицательно решен Абелем и Галуа - уже уравнения 5-й степени неразрешимы в радикалах.
Все же можно подбирать другие простые функции небольшого числа переменных - сложнее, чем радикалы, но проще, чем общие решения уравнений высоких степеней. Удастся ли с помощью этих функций построить решение любого уравнения? Вопрос был настолько важен, что Гильберт в списке своих проблем, которые, по его мнению, должны были определять развитие математики XX века, под номером 13 поместил следующую задачу:
Представляется ли корень уравнения
x7+ax3+bx2+cx+1=0
(как функция коэффициентов) суперпозицией каких-либо непрерывных функций двух переменных?
Для уравнений 5-й и 6- й степени такое представление возможно не только с помощью непрерывных, но даже аналитических функций.
Оказалось полезным абстрагироваться от уравнений и поставить общий вопрос: можно ли произвольную непрерывную функцию n переменных получить с помощью операций сложения, умножения и суперпозиции из непрерывных функций двух переменных? Ответ оказался положительным! В серии работ [1.1, 1.2, 1.3] А.Н.Колмогоров, затем В.И.Арнольд и вновь А.Н.Колмогоров решили эту проблему: можно получить любую непрерывную функцию n переменных с помощью операций сложения, умножения и суперпозиции из непрерывных функций одного переменного.
Последняя теорема А.Н.Колмогорова [1.3] из этой серии настолько проста и изящна, что мы чуть позже приведем ее целиком. А пока - несколько замечаний о условиях теоремы.
От условия непрерывности можно отказаться - тогда получится довольно тривиальный результат связанный, по существу, с равномощностью отрезка и куба любой размерности. Условие непрерывности нельзя значительно усилить: существуют аналитические функции многих переменных, которые не допускают представления с помощью суперпозиции аналитических функций двух переменных. Более того, все l раз непрерывно дифференцируемые функции трех переменных нельзя представить в виде суперпозиций функций двух переменных, каждая из которых дифференцируема [2l/3] раз и все частные производные которых порядка [2l/3] удовлетворяют условию Липшица (выражение [2l/3] означает целую часть числа 2l/3). Это доказано А.Г,Витушкиным [1.4].
![]() | (2) |
1. "Внутренние" функции



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








Рис. 1.8. Система кварталов
Построенную систему "городов" мы назовем 1-й системой. "Город первого ранга














наш исходный "город") в "город


Функцию

(

мы определим теперь так, чтобы она разделяла любые два "квартала" каждого "города" системы







Для того, чтобы функция
























2. Функции


Для построения этих функций докажем прежде всего, что любую непрерывную функцию



![]() | (3) |

![]() | (3^а) |
![]() | (3^б) |

Выберем ранг




























Докажем теперь, что разность

удовлетворяет условию (3а), т.е. что







отличающееся от










что и доказывает (3а).
Применим теперь то же разложение (3) к входящей в (3) функции


или

где

и

(

Затем мы применим разложение (3) к полученной функции




где

и


Последние оценки показывают, что при



где стоящий справа бесконечный ряд сходится равномерно; также и каждый из пяти рядов


сходится равномерно, что позволяет ввести обозначения

(

Итак, окончательно получаем:

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



Чтобы сформулировать обобщения и усиления теоремы Вейерштрасса, необходимо перейти к несколько более абстрактному языку. Рассмотрим компактное пространство X и алгебру C(X) непрерывных функций на X с вещественными значениями.
Сильным обобщением теоремы о возможности равномерного приближения непрерывных функций многочленами является теорема Стоуна [1.6, 1.7]:
Пусть





Тогда E=C(X) .
Теорема Стоуна обобщает теорему Вейерштрасса по двум направлениям. Во-первых, рассматриваются функции на произвольном компакте, а не только функции многих действительных переменных. Во-вторых, доказано утверждение, новое даже для функций одного переменного (не говоря уже о многих): плотно не только множество многочленов от координатных функций, но вообще кольцо многочленов от любого набора функций, разделяющих точки. Следовательно, плотно множество тригонометрических многочленов, множество линейных комбинаций функций вида exp[-(x-x0,Q(x-x0))], где (x,Qx) - положительно определенная квадратичная форма и др.
Дан рецепт конструирования таких обобщений: достаточно взять произвольный набор функций, разделяющих точки, построить кольцо многочленов от них - и получим плотное в C(X) множество функций.
Разложения по ортогональным системам функций (ряды Фурье и их многочисленные обобщения) не дают, вообще говоря, равномерного приближения разлагаемых функций - как правило, можно гарантировать лишь монотонное стремление к нулю интеграла квадрата остатка "функция минус приближение" с какой-либо положительной весовой функцией. Все же, обращаясь к задаче аппроксимации, нельзя забывать об ортогональных разложениях. Для ряда прикладных задач простота получения коэффициентов такого разложения может оказаться важнее, чем отсутствие гарантированной равномерности приближения.
Так существуют ли функции многих переменных? В каком-то смысле - да, в каком-то - нет. Все непрерывные функции многих переменных могут быть получены из непрерывных функций одного переменного с помощью линейных операций и суперпозиции. Требования гладкости и аналитичности существенно усложняют вопрос. На этом фоне совершенно неожиданно выглядит тот факт, что любой многочлен от многих переменных может быть получен из одного произвольного нелинейного многочлена от одного переменного с помощью линейных операций и суперпозиции. Простое доказательство этой теоремы будет дано в разделе 6.