Я понимаю, что нейронные сети (НС) можно считать универсальными аппроксиматорами как для функций, так и для их производных, при определенных предположениях (как для сети, так и для функции, которую нужно аппроксимировать). На самом деле, я провел ряд тестов на простые, но нетривиальные функции (например, полиномы), и мне кажется, что я действительно могу хорошо аппроксимировать их и их первые производные (пример показан ниже).
Однако мне неясно, распространяются ли теоремы, которые приводят к вышеизложенному (или, возможно, могут быть расширены), на функционалы и их функциональные производные. Рассмотрим, например, функционал:
с функциональной производной:
где полностью и нетривиально зависит от . Может ли NN изучить приведенное выше отображение и его функциональную производную? Более конкретно, если кто-то дискретизирует область над и предоставляет (в дискретизированных точках) в качестве входных данных и
Я провел ряд тестов, и кажется, что NN действительно может в некоторой степени изучить отображение . Однако, хотя точность этого сопоставления в порядке, она невелика; и проблема в том, что вычисленная функциональная производная является полным мусором (хотя оба они могут быть связаны с проблемами с обучением и т. д.). Пример показан ниже.
Если NN не подходит для изучения функционала и его производной, есть ли другой метод машинного обучения?
Примеры:
(1) Ниже приведен пример аппроксимации функции и ее производной: NN обучен изучению функции в диапазоне [-3,2]: из которого можно получить разумное приближение для получается: обратите внимание, что, как и ожидалось, приближение NN к и его первой производной улучшается с увеличением количества обучающих точек, архитектуры NN, поскольку лучшие минимумы находятся во время обучения и т. д. ,
(2) Ниже приведен пример аппроксимации функционала и его функциональной производной: NN обучен изучению функционала . Обучающие данные были получены с использованием функций вида , где и были сгенерированы случайным образом. Следующий график иллюстрирует, что NN действительно способен достаточно хорошо аппроксимировать : однако, вычисленные функциональные производные являются полным мусором; пример (для конкретногоf ( x ) F [ f ( x ) ]) показано ниже: Как интересное примечание, NN-приближение к кажется, улучшается с увеличением количества тренировочных точек и т. д. (как в примере (1)), но функциональная производная этого не делает.
Ответы:
Это хороший вопрос. Я думаю, что это связано с теоретическим математическим доказательством. Я работал с Deep Learning (в основном нейронной сетью) некоторое время (около года), и, основываясь на моих знаниях из всех прочитанных мной работ, я еще не видел доказательств по этому поводу. Однако, с точки зрения экспериментального доказательства, я думаю, что могу предоставить обратную связь.
Давайте рассмотрим этот пример ниже:
Я полагаю, что в этом примере через многослойную нейронную сеть она должна быть способна выучить как f (x), так и F [f (x)] посредством обратного распространения. Однако, применимо ли это к более сложным функциям или ко всем функциям во вселенной, требуется больше доказательств. Однако, когда мы рассматриваем пример конкуренции Imagenet - для классификации 1000 объектов, часто используется очень глубокая нейронная сеть; лучшая модель может достичь невероятного уровня ошибок до ~ 5%. Такой глубокий NN содержит более 10 нелинейных слоев, и это является экспериментальным доказательством того, что сложные отношения могут быть представлены через глубокую сеть [основываясь на том факте, что NN с 1 скрытым слоем может разделять данные нелинейно].
Но чтобы узнать ВСЕ производные, требуется больше исследований.
Я не уверен, существуют ли какие-либо методы машинного обучения, которые могут полностью изучить функцию и ее производную. Прости за это.
источник
источник
Давайте возьмем в качестве наших тренировочных функций синусы и косинусы с разными частотами. Расчет целевого вектора:
Теперь матрица регрессора:
Линейная регрессия:
источник