Тринадцатая проблема Гильберта была решена в 1957 г. В.А. Арнольдом;
oн показал, что любая непрерывная функция трех переменных представляется в виде
композиции непрерывных
функций двух переменных.
В том же 1957 г. А.Н. Колмогоров доказал более сильную теорему.
Теорема Колмогорова: любая непрерывная функция от n переменных
может быть представлена в виде
![]() |
(a) |
Эта теорема означает, что для реализации функций многих переменных достаточно операций
суммирования и композиции функций одной переменной. Если перевести эту теорему на язык
нейронных сетей, то она будет звучать так.
Если известны функции , то любую непрерывную функцию от
переменных можно точно реализовать
с помощью простой трехслойной нейронной сети. Для этого достаточно подобрать
передаточных функций
нейронов скрытого слоя.
Эта сеть не будет перцептроном в строгом смысле, так как на входах второго слоя к сигналам
необходимо применить функции
, а не просто умножить их на веса (
).
К сожалению, при всей своей математической красоте теорема Колмогорова мало применима на
практике. Это связано с тем, что функции
≈ не гладкие и трудно вычисляемые; также неясно, каким
образом можно подбирать функции
для данной функции F. Роль этой теоремы состоит в том, что она
показала принципиальную возможность реализации сколь угодно сложных зависимостей с помощью относительно
простых автоматов типа нейронных сетей [73].
Чтобы получить более значимые для практики результаты в этом направлении, приходится ослабить требования. Во-первых, непринципиально найти точное представление данной функции, ≈ достаточно иметь приближенное. Во-вторых, можно по необходимости увеличивать число нейронов в скрытом слое, насколько это требуется. Новый вариант теоремы Колмогорова, обладающий этими особенностями, был открыт только в 1989 г. одновременно несколькими авторами [74].
Пусть
≈ любая непрерывная функция, определенная на
ограниченном множестве, и
≈ любое сколь угодно малое число, означающее точность аппроксимации.
Теорема. Существуют такое число , набор чисел
,
и набор чисел
,
что функция
![]() |
(c) |
Приведенная формула описывает математическую основу "feed-forward" нейронной сети
с одним скрытым уровнем, схематично изображенную на рисунке 4.1. Данная теорема
доказывает, что
любую непрерывную функцию нескольких переменных можно с любой точностью реализовать с помощью
обычной трехслойной нейронной сети вида 4.1, с достаточным количеством
нейронов в скрытом слое ().
Процесс подбора весов называется обучением нейронной сети. Настоящим прорывом в теории обучения нейронных сетей [75] стало открытие в 1986 г. метода обратного распространения ошибки (error back-propagation). В настоящее время этот метод широко используется в различных приложениях, однако он требует настройки нескольких параметров обучения и не всегда приводит к оптимальному результату. Поэтому необходимо понимать, что хотя нейронная сеть и является механизмом, способным решить широкий класс задач, но правила управления этим механизмом пока что находятся на уровне догадок и эвристических соображений.
В представленном анализе применялись "feed-forward" нейронные сети. Данный тип состоит из набора нейронов (перцептронов) с прямым распространением сигнала. Каждый отдельный нейрон описывается следующим выражением:
![]() |
(d) |
Смысл действия нейронных сетей в задаче распознавания классов событий
в физике высоких энергий
можно описать следующим образом. Существует некоторый вектор кинематических
переменных (входной вектор), распределения по которым наиболее сильно
отличаются для сигнальных и фоновых событий. К примеру можно выбрать
те же кинематические переменные, которые описаны в предыдущей главе
(
...). При применении классических обрезаний
по таким переменным мы удаляем прямоугольные области в пространстве
входных кинематических переменных без учета корреляций между различными
переменными. Можно оптимизировать такое разделение, используя более
сложные многомерные функции, по которым производится обрезание пространства
кинематических переменных, и включающии корреляционные зависимости между
переменными. Именно такие функции, учитывающие корреляции между разными
переменными, вычисляются в результате тренировки нейронных сетей.
Результатом обрезания выходной переменной нейронной сети будет сложная
гиперповерхность в пространстве входных переменных сети, а не набор
прямоугольных обрезаний в случае классического анализа, описанного в предыдущей
главе.
Выходное значение нейронной сети определяется в процессе тренировки. Обычно процесс тренировки (так называемая "тренировка с учителем") выглядит следующим образом. На вход сети подается перемешанный поток сигнальных и фоновых событий, закодированных в виде входного вектора кинематических переменных; для сигнальных событий желаемый выход сети приравнивается к единице, а для фоновых, например, к нулю. Процесс тренировки состоит в коррекции параметров сети (веса, пороги) с целью максимального приближения реального значения выхода сети к желаемому, как для сигнальных, так и для фоновых событий, участвующих в тренировке. Основным критерием сходимости при тренировки выбирается функция ошибки:
здесь реальный выход сети (4.2) для
-ого события,
желаемый выход,
а
число тренировочных событий.
Функцию ошибок можно переписать в терминах матрицы весов сети w и
порогов через формулу (4.2).
Процесс тренировки сети заключается в минимизации
функционала (4.5). Технику минимизации обычно называют методом тренировки
сети; соответственно, могут быть использованы различные методы минимизации
(тренировки).
Для построения и тренировки сети был использован пакет программ MLPfit [76], в котором заложено несколько алгоритмов тренировки. Для нахождения оптимального для данной задачи метода сравнивались два метода: "стохастический" [77] (наиболее широко используемый) и более мощный метод "Hybrid Linear-BFGS" [78], входящие в данный пакет программ. После сравнения результатов предпочтение было отдано последнему методу тренировки.
Основные этапы применения метода нейронных сетей к задаче экспериментального поиска описаны ниже.