Вестник КРАУНЦ. Физ.-мат. науки. 2022. Т. 38. №1. C. 54-73. ISSN 2079-6641
ИНФОРМАЦИОННЫЕ И ВЫЧИСЛИТЕЛЬНЫЕ ТЕХНОЛОГИИ
УДК 519.652 Научная статья
Некоторые аспекты аппроксимации и интерполяции функций искусственными нейронными сетями
В. А. Галкин1'2, Т. В. Гавриленко1'2, А. Д. Смородиной1'2
1 Сургутский филиал ФГУ ФНЦ НИИСИ РАН 628426, Тюменская область, Ханты-Мансийский автономный округ - Югра, г. Сургут, ул. Энергетиков, д. 4.
2 БУ ВО «Сургутский государственный университет», 628412, Тюменская область, Ханты-Мансийский автономный округ - Югра, г. Сургут, пр. Ленина, д. 1
E-mail: [email protected]
В статье рассматривается вопросы аппроксимации и интерполяции функций с использованием искусственных нейронных сетей, приводится теоремы Колмогорова-Арнольда и Цыбенко, которые показывают возможность применения нейронных сетей для аппроксимации и интерполяции функций. Проводится серия экспериментов, в ходе которые искусственные нейронные сети аппроксимируют и интерполируют
следующие функции f(x) = |x|, f(x) = sin(x), f(x) = -—-—j. Показаны проблемы
1 + 25x2
в обучении нейронной сети основанная на инициализации весовых коэффициентов случайным образом. Показана возможность обучения нейронной сети для работы с многообразием.
Ключевые слова: аппроксимация функций, неустойчивость решения интерполяция функций, искусственные нейронные сети, теорема Цыбенко, теорема Колмогорова-Арнольда.
d DOI: 10.26117/2079-6641-2022-38-1-54-73
Поступила в редакцию: 22.03.2022 В окончательном варианте: 04.04.2022
Для цитирования. Галкин В. А., Гавриленко Т. В., Смородинов А. Д. Некоторые аспекты аппроксимации и интерполяции функций искусственными нейронными сетями // Вестник КРАУНЦ. Физ.-мат. науки. 2022. Т. 38. № 1. C. 54-73. DOI: 10.26117/20796641-2022-38-1-54-73
Контент публикуется на условиях лицензии Creative Commons Attribution 4.0 International (https://creativecommons.Org/licenses/by/4.0/deed.ru)
© Галкин В. А., Гавриленко Т. В., Смородинов А. Д., 2022
Финансирование. Публикация выполнена в рамках государственного задания ФГУ ФНЦ НИИСИ РАН (Выполнение фундаментальных научных исследований ГП 47) по теме № 0580-2021-0007 «Развитие методов математического моделирования распределенных систем и соответствующих методов вычисления».
Введение
Существует большой спектр задач, на решения которых нацелены усилия разработчиков нейронных сетей во всём мире. Одна из наиболее классических задач - это задача математического моделирования с помощью нейронных сетей. Использования НС для решения таких задач не только дают новые возможности, но также имеют ограничения. Какие условия необходимы соблюсти для аппроксимации и интерполяции функции? Именно этот вопрос является центральным в данной статье. Естественно, нет ни каких проблем аппроксимировать гладкую монотонную функцию, без особых точек, но уже аппроксимация и интерполяция функции с особыми точками вызывает затруднения.
В [6] авторы рассматривали вопрос, связанный с тем, какие нейронные сети лучше использовать для аппроксимации, глубокие или однослойные.
В статье [7] автор рассматривает вопрос связанный с размером нейронной сети,
, л Г0 Х<0
в которой в качестве функции активации выбрана тв1и(х) = < даёт ответ
|х х > 0
о количестве нейронов необходимый для аппроксимации выпуклых функций, но в данной работе оставляют открытым вопрос связанный с тем, а может ли нейронная сеть быть обучена с помощью (стохастического) градиентного спуска из случайной инициализации. (кстати говоря в нашей работе, сеть обучается именно с помощью такого алгоритма.)
В работе [8] авторы рассматривают оптимальные аппроксимации одномерных функций с помощью нейронных сетей ЯвЬИ с обратной связью. Так же есть интересная статья [9], в которой говорится, что в ходе работы авторов было доказан, отрицательный результат для аппроксимации функций, определенных на компактных множествах, для функций с несколькими неизвестными. Авторы использовали нейронные сети прямой связи с одним скрытым слоем и произвольной непрерывной функцией активации.
Два других автора в своих работах [10] показывают, что с помощью однослойной сети можно аппроксимировать любую одномерную функцию, но не всякую многомерную функцию. Количество нейронов на скрытом слое, авторы берут равным двум, но им пришлось построить, свою, достаточно сложную сигмоидальную функция чтобы использовать её в качестве функции активации. В следующей работе, выпущенной через год [11] авторы показывают, что для аппроксимации лучше использовать двухслойную нейронную сеть, которая уже имеет большую способность аппроксимировать многомерные функции, но они так же используют свою сигмоидальную функцию, а количество нейронов взять равное 3d+2 где d количество неизвестных функций.
В статье рассмотрены функции ^х) = |х|, ^х) = згп(х), ^х) = -—-—^ а так же
1 + 25х2
как поведет себя нейронная сеть при рассмотрения уравнения окружности, когда возникает многообразии.
Основные положения
Ключевыми работами для нейронный сетей являются Колмогорова А.Н. и Арнольда В.И. [12, 13]. Фактически теорема показала возможность использования ИНС для большого круга прикладных задач.
Теорема 1. [Теорема Колмогорова-Арнольда] Если f - это многомерная непрерывная функция, то f можно записать в виде конечной композиции непрерывных функций одной переменной и бинарной операции сложения. А именно:
2П П
ад = ад,х2,...хп) = ^Хся,р(*р)))
Я=0 р=1
Доказательство. Доказательство теоремы 2 представлено в работе Брауна и Грибеля [1]. □
Кроме того, стоит отметить универсальную теорему аппроксимации, доказанную Джорджем Цыбенко в 1989 году, согласно которой нейронная сеть, состоящая из одного скрытого слоя, может аппроксимировать любую непрерывную функция многих переменных с требуемой точностью.
Теорема 2. [Теорема Цыбенко] Пусть а произвольная непрерывная, сигмоидальная функция. Тогда конечная сумма вида:
N
б(х) = ^(у1 х+е,) 1=1
Плотная в С(1П) для ^^ € С(1п)е >03^ С(х)(2) для которой
е(х)-f(x)| < еУх € Тп
Доказательство. Доказательство теоремы 2 представлено в [2]. □ Будем использовать в работе теорему Цыбенко как основание для определения структуры нейронной сети для аппроксимации различных функций, а также попробуем интерполировать функцию нейронной сетью, обученной для аппроксимации. Используем нейронную сеть состоящую из 1 скрытого слоя, с сигмоидальной функцией активацией
, (ех-е-х)
(ех+е-х)
на входном и выходном слое без функций активаций. Для определения количества нейронов на каждом слое воспользуемся теоремой Колмогорова о существовании отображений нейронной сети, в которой говорится об количестве нейронов на каждом из слоев сети
Теорема 3. [Теорема Колмогорова о существовании отображающей нейронной сети] Для любой непрерывной функции f : 1П —> Ит^(х) = у где I замкнутый единичный интервал [0,1] (Следовательно 1пп--мерный
единичный куб) f может быть реализована с требуемой точностью трехслойной нейронной сетью имеющей п нейронов х = (х-|,...,хп) в первом слое, 2п +1 в скрытом слое и у нейронов в выходном слое.
Доказательство. Доказательство теоремы 2 представлено в работе [3]. □ Воспользуемся теоремой 3, для определения структуры нейронов в сети. Т.к.
функции ^х) = |х|, ^х) = згп(х), ^х) =-~ являются функциями от одной
1 + 25х2
переменной, на входном слое возьмем 1 нейрона, на скрытом 3 нейрона (2п + 1,п = 1). Схема полученной сети представлена на 1
Рис. 1. Схема нейронной сети, используемой для аппроксимации и интерполяции функций f(x) = |x|, f(x) = sin(x), f(x) = i + 25x2
[Fig.1. Scheme of the neural network used to approximate and interpolate the functions f(x) = |x|, f(x) = sin(x), f(x) = i + 25 2]
Обучим ряд нейронных сетей с помощью стохастического градиентного спуска с случайной инициализацией весов для аппроксимации каждой из функций.
Вычислительные эксперименты
Для экспериментов было разработано программное обеспечение на языке программирования Python. В качестве инструмента для создания нейронных сетей использовалась библиотека keras представляющая собой высокоуровневый API, который работает на основе Tensorflow. Дополнительных нестандартных и не верифицированных библиотек не использовалось. Для обучения была сформированы обучающие выборки, на отрезке аппроксимации мощность 500 и 1000 элементов.
В качестве алгоритма обучения нейронной сети использовался классический стохастический градиентный спуск, ошибка вычислялась как среднее абсолютное отклонение, начальная скорость обучения была выбрана как 10-3, при обучении изменялась автоматически, если ошибка нейронной сети увеличилась или не изменилась, то нейронная сеть возвращалась к предыдущему состоянию, скорость обучения уменьшалась на порядок и заново обучалась эту эпоху. Так же если скорость обучения уменьшалась до 10e-10 и ошибка оставалась неизменной то
обучение продолжалось до заданной эпохи уже без изменения скорости обучения, если ошибка росла, то обучение останавливалось на эпохе предшествующей увеличению ошибки.
После обучения проводились тестирования нейронной сети, первый тест проверял насколько качественно нейронная сеть аппроксимировала заданную функцию, второй тест проверял качество интерполяции. Во втором случае могут возникать аномалии, т.к. нейронов в скрытых слоях невелико то и результаты интерполяции и аппроксимации получились близкими. Такая ситуация не является типичной, особенно когда увеличение размеров нейронной сети резко увеличивает количество функций внутри.
Вычислительный эксперимент 1
Функция ^х) = згп(х), обучим представленную выше нейронную сеть на промежутке от —5 до 5, с разбиением на 500 точек обучения. Для достаточного приближения необходимо 25 эпох. Результаты аппроксимации и интерполяции представлены на рис.2.
Точки обучения Между точек обучения
Рис. 2. Аппроксимация(А) и интерполяция (Б) функции f(x) = sin(x) [Fig.2. Approximation (A) and interpolation (B) of the function f(x) = sin(x)]
Результаты аппроксимации и интерполяции достаточно высоки даже при качественной оценки, но при увеличении промежутка аппроксимации до [-10; 10] и сохранении того же уровня разбиения. Получаем результаты представленные на рис. 3.
Видно, что нейронная сеть аппроксимирует функцию в промежутке от -2.5 до 2.5, не смотря на то, что во втором случае количество эпох обучения было увеличено до 50. Хотя до этого результаты были удовлетворительными на всем отрезке аппроксимации [-5 : 5]. Возникновение данной ситуации можно объяснить тем, что в первом случае для разных значения аргумента функция принимала одно и тоже значение не более чем в 3 точках, а во второй ситуации одному значению функции могло соответствовать до 7 значений аргумента.
Из этого можно сделать вывод, что нейронная сеть не только, от типа аппроксимируемой функции, но и от размера области, в которой происходит аппроксимация.
Рис. 3. Аппроксимация(А) и интерполяция (Б) функции f(x) = sin(x) [Fig.3. Approximation (A) and interpolation (B) of the function f(x) = sin(x)]
Вычислительный эксперимент 2
Функция Бернштейна f(x) =
1
и
обучим туже самую сеть
1 + 25х2
аппроксимировать её, разбиение будет от -2.5 до 2.5, количество точек 500. Результаты аппроксимации и интерполяции обученной нейронной сетью представлены на рис. 4.
Рис. 4. Аппроксимация(А) и интерполяция (Б) функции f(x) = -| + 25 2 с разбиением на 500 точек, в интервале от -2.5 до 2.5 нейронной сетью с 1 нейроном на входном слое, 3 нейронами на скрытом слое и 1 нейроном на выходном слое обученной на 25 эпохах
[Fig.4. Approximation (A) and interpolation (B) of the function f(x) = ^ 2 split into 500 points, in the range from -2.5 to 2.5 by a neural network with 1 neuron in the input layer, 3 neurons in the hidden layer, and 1 neuron in the output layer trained on 25 epochs]
Созданная нейронная сеть эффективно аппроксимирует функцию такого типа.
Вычислительный эксперимент 3
Вызывает интерес как поведет себя нейронная сеть, если аппроксимировать функцию с ещё более резким «перепадом», например ^х) = |х|. Использовалась аналогичная нейронная сеть. Обучение проходило в интервале от —1 до 1, точек обучения 500, обучение проходило на протяжении 25 эпох. Результаты представлены на 5.
Рис. 5. Аппроксимация(А) и интерполяция (Б) функции f(x) = |x| [Fig.5. Approximation (A) and interpolation (B) of the function f(x) = |x|
Как видно из 5 в окрестности точки 0 нейронная сеть не аппроксимировала функцию.
Вычислительный эксперимент 4
Если изменить в нейронной сети, функцию активации на скрытом слое с
th(x) = 7—--т
(ex+e-x)
, , Í0 x < 0 relu(x) = <
[x x > 0
которая строго говоря не подходит под действие теоремы т.к. не является сигмоидальной, то нейронная сеть эффективно аппроксимирует. Обучили нейронную сеть аппроксимировать f(x) = |x| в интервале от —1 до 1 с 250 точками обучения в течении 25 эпох. Результаты обучения представлены на 6.
В данном случае видно, что такая нейронная сеть аппроксимирует лучше, но все равно окрестности точки ноль, присутствует ошибка, нейронная сеть обходит данную точку. Кроме того, обучить данную нейронную сеть с первого раза не удалось, приходилось обучать сеть несколько раз, к тому же в некоторых из вариантах обученных нейронных сетей были случаи, когда в окрестности точки ноль функции аппроксимировала, но переставала аппроксимировать в окрестности точки —1. Результаты аппроксимации такой сетью представлены на 7.
Точки обучения Между точек обучения
А Б
Рис. 6. Аппроксимация(А) и интерполяция (Б) функции f(x) = |x| [Fig.6. Approximation (A) and interpolation (B) of the function f(x) = |x|]
Точки обучения Между точек обучения
Рис. 7. Аппроксимация(А) и интерполяция (Б) функции f(x) = |x| с замененной функцией активацией на скрытом слое с th(x) на relu(x)
[Fig.7. Approximation (A) and interpolation (B) of the function f(x) = |x| with the activation function on the hidden layer replaced from th(x) to relu(x)]
Данную особенность можно объяснить различной начальной инициализацией весов нейронной сети. В связи с чем возникает вопрос: А что будет если обучить, например, 10 одинаковых нейронных сетей с разной инициализацией весов?
Вычислительный эксперимент 5
В некоторых случаях появляется ложное ощущение о получении качественного или не качественного результата с первого применения нейронной сети, ниже показано каковы могут быть различия при условии многократного повторении экспериментов по обучению нейронных сетей. Обучим для каждого из предыдущих экспериментов по 10 сетей и скомпонуем результаты вместе чтобы оценить количество сетей который не смогли обучиться аппроксимировать и интерполировать функции. На 8 и 9 представлены результаты вычислительный эксперимент 1, проведенного 10 раз.
Как видно из рисунков, в 3 случаях (графики для этих случаев отмечены звездочкой) из 10 нейронная сеть не аппроксимирует, а следовательно и не интерполирует функцию.
Рис. 8. Результаты аппроксимаций из вычислительного эксперимента 1 [Fig.8. Approximation results from computational experiment 1]
Рис. 9. Результаты интерполяций из вычислительного эксперимента 1 [Fig.9. Approximation results from computational experiment 1]
На 10 и 11 представлены результаты для функции Бернштейна, вычислительный эксперимент 2 проведенный 10 раз.
Рис. 10. Результаты аппроксимаций из вычислительного эксперимента 2 [Fig. 10. Approximation results from computational experiment 2]
Рис. 11. Результаты интерполяций из вычислительного эксперимента 2 [Fig.11. Approximation results from computational experiment 2]
В данном случае нейронная сеть не аппроксимировала и не интерполировала функцию только в одном случае, отмечен звездочкой.
На 12 и 13 результаты обучения для функции ^х) = |х|, вычислительный эксперимент 3, для сети с функцией активации "ЬН(х) на скрытом слое.
Рис. 12. Результаты аппроксимаций из вычислительного эксперимента 3 [Fig.12. Approximation results from computational experiment 3]
В данном случае нейронная сеть эффективно аппроксимировала и интерполировала в 7 случаях из 10, без звездочки.
На 14 и 15 результаты обучения для функции ^х) = |х| для сети с функцией активации тв1и(х) на скрытом слое, вычислительный эксперимент 4.
В данном случае модификация нейронной сети ухудшает работы нейронной сети, т.к. в данном эксперименте количество не эффективной аппроксимации равняется 4, отмечены звездочкой, хотя с другой стороны качество этих аппроксимаций выше.
Рис. 13. Результаты интерполяций из вычислительного эксперимента 3 [Fig.13. Approximation results from computational experiment 3]
Рис. 14. Результаты аппроксимаций из вычислительного эксперимента 4 [Fig. 14. Approximation results from computational experiment 4]
Рис. 15. Результаты интерполяций из вычислительного эксперимента 4 [Fig.15. Approximation results from computational experiment 4]
Как видно из проведенного эксперимента как минимум каждая десятая сеть не обучилась, как максимум 4 из 10 сетей. Данную особенность можно объяснить тем, что весовые коэффициенты инициализируются случайным образом.
Вычислительный эксперимент 6
Согласно теореме Фунахаши [4], показывающей, что любую непрерывную дифференцируемую функцию можно аппроксимировать с помощью искусственной нейронной сети с 2-мя или более скрытыми слоями и сигмоидальной активационной функцией на скрытом слое. Количество же нейронов на каждом скрытом слое определяется как 2п + 1, где п - входная размерность сети. Архитектура нейронной сети тогда примет следующий вид (рис.16).
Рис. 16. Схема нейронной сети, используемой для аппроксимации и интерполяции функций f(x) = |x|
[Fig.16. Scheme of the neural network used to approximate and interpolate the functions f(x) = |x|]
Начальные значения весов задаются случайным образом и, так как же в предыдущих экспериментах, будем обучать 10 нейронных сетей в течении 25 эпох на отрезке от "1 до 1 с разбиением на 500 точек.
Как мы уже видели в предыдущих экспериментах, процесс обучения нейронной сети так же не сошелся как и в этом случае рис.12 в 3 случаях из 10, отмечены звездочкой, и как уже было отмечено выше, причиной этому являются не совсем верная инициализация весов сети.
Так как используется несимметричная функция активации типа Relu, то инициализацию весов более оптимально производить по предложенному Хе методу инициализации [5], в основе которого используется функция нормального распределения вероятности с математическим ожиданием 0 и величина стандартного отклонения зависит от числа нейронов на входном и выходном слое нейронной сети.
Как мы можем увидеть из рис.18, процесс обучения нейронной сети ни разу не сошелся к точным значением функции f(x) = |x|. Увеличим теперь количество нейронов на входном слое до 2.
Рис. 17. 10 обученных нейронных сетей с 1 нейроном на входном слое, 2-мя скрытыми слоями по 3 нейрона в каждом слое и 1 нейроном на выходном слое обученной на 25 эпохах с активацией на скрытом слое relu(x) и случайной инициализации весов
[Fig.17. 10 trained neural networks with 1 neuron on the input layer, 2 hidden layers of 3 neurons in each layer and 1 neuron on the output layer trained on 25 epochs with activation on the hidden layer relu(x) and random initialization of weights]
Рис. 18. 10 обученных нейронных сетей с инициализированными весами по методу Хе
[Fig.18. 10 of trained neural networks with initialized weights using Xe's method]
Как видно из рис.19 количество аппроксимаций увеличилось до 7, случаи в которой аппроксимация оказалось не эффективной отмечены звездочкой.
Теперь попробуем использовать инициализацию Хе с функцией равномерного распределения вероятности.
В данном случае представленном на рис.20 количество аппроксимаций уменьшилось до 3, случаи в которой аппроксимация оказалось не эффективной отмечены звездочкой.
В результате проделанных экспериментов можно заметить связь между количеством нейронов сети (архитектурой) и используемым методом инициализации весов. И это нужно учитывать при использовании нейронных сетей для аппроксимации целевой функции.
Рис. 19. 10 обученных нейронных сетей с архитектурой 2 — 3 — 3 — 1 с инициализированными весами по методу Хе с функцией нормального распределения для инициализации весов
[Fig.19. 10 trained 2 — 3 — 3 — 1 architecture neural networks with weights initialized by the Xe method with a normal distribution function to initialize the weights]
Рис. 20. 10 обученных нейронных сетей с архитектурой 2 — 3 — 3 — 1 с инициализированными весами по методу Хе с функцией равномерного распределения для инициализации весов
[Fig.20. 10 trained neural networks with 2 — 3 — 3 — 1 architecture with initialized weights according to the Xe method with a uniform distribution function to initialize the weights]
Вычислительный эксперимент 7
Рассмотрим теперь как поведет нейронная сеть себя если аппроксимировать функцию, выраженную из уравнения окружности следующим образом
х2 + у2 = г2
«Х1,Х2)= Х2 * 0
—Vг2 — х2 х2<0 67
В реальности значение Х2 принимает всего три значения —1 если речь идет о нижней половине круга, 1 если о верхней и 0 если значение ^Х1 ,х2) = 0 Ввиду того, что функция изменилась и теперь имеет две неизвестной необходимо изменить нейронную сеть согласно теоремам, измененная структура сети представлена на 21 и имеет 2 нейрона на входном слое, 5 нейронов на скрытом (2п +1). В качестве функции активации использовалась "ЬН(х).
Рис. 21. Схема нейронной сети, используемой для аппроксимации и интерполяции
iVr2 - X2 Х2 > 0
функции f(Xl,X2) = < „-,
[-Vr2 - x2 x2<0
[Fig.21. Diagram of the neural network used to approximate and interpolate the
function f(xi ,x2) =
ifx2 > 0 ifx2 < 0
]
Обучение сети проходило на окружности радиусом 1 с разбиением на 400 точек в течении 100 эпох. Результаты обучения представлены на рис. 22.
Рис. 22. Аппроксимация (А) и интерполяция (Б) [Fig.22. Approximation (A) and interpolation (B)]
Вычислительный эксперимент 8
К данной задаче можно подойти с другой стороны, использовать уравнение окружности в полярных координатах х = теоз(ф),у = тзгп(ф).
В качестве входных данных выбрана пара (ф,х), выходными данными у. Нейронную сеть использовалась из вычислительного эксперимента 7. Обучение проходило с разбиением на 400 точек, на круге радиусом 1 нейронной сетью с 2 нейроном на входном слое, 5 нейронами на скрытом слое и 1 нейроном на выходном слое обученной на 100 эпоха. Результаты обучения сети на протяжении 100 эпох представлены на 23.
Тонки обучения Промежуточные точки
Л Б
Рис. 23. Аппроксимация (А) и интерполяция (Б) уравнения окружности в полярных координатах
[Fig.23. Approximation (A) and interpolation (B) of the circle equation in polar coordinates]
В эксперименте 6 и 7, так же как в других прослеживалась проблема инициализации весов, когда одна и та же нейронная сеть обучалась по разному, но в меньшей степени, для каждого из эксперимента ошибка неверной инициализации весов возникала 1 раз из 10 как и для функции Бернштейна. Результаты плохо обученной сети для обоих экспериментов представлены на рис. 24 и 25.
Точки обучения Промежуточные точки
Рис. 24. Аппроксимация (А) и интерполяция (Б) из эксперимента 7 в случае неверной инициализации весов нейронной сети
[Fig.24. Approximation (A) and interpolation (B) from experiment 7 in case of incorrect initialization of neural network weights]
Точки обучения Между точек обучения
Рис. 25. Аппроксимация (А) и интерполяция (Б) уравнения окружности в полярных координатах в случае неверной инициализации весов нейронной сети [Fig.25. Approximation (A) and interpolation (B) of the equation of a circle in polar coordinates in case of incorrect initialization of neural network weights]
Заключение
Использование нейронных сетей для аппроксимации и интерполяции является перспективной задачей, но существует ряд ограничений и особенностей. В частности использование стандартных механизмов и теоретических основ не гарантируется результат. Предположение о возможности решении поставленной задачи нейронной сети может оказаться в корне не верным при многократных проверках, аналогичная ситуация может возникнуть если нейронная сети не инициализировала правильно, и выдает не верные результаты.
Есть и другая проблема, связанная с тем, что сеть перестает правильно работать при небольших изменения исходных данных, незаметных для глаза человека. Или, когда на одежде человека располагают специальный принт, рисунок на футболке, к примеру, и сеть, используемая для автопилота, перестает видеть человека. Так же можно привести пример сети, которая, заместо оружия на фотографии видит вертолет, хотя для человека идентификация объектов, размещенных на фотографии, не вызывает проблем.
На текущий момент нейронные сеть для человека все ещё остаются черными ящиками, в которые загружаешь исходные данные и получаешь ответ, на основании чего был получен такой ответ? Как исправить черный ящик чтобы он начал давать правильный результат? Как понять какой ящик лучше? Все это остается до сих пор открытыми вопросами в изучении нейронных сетей.
Конкурирующие интересы. Конфликтов интересов в отношении авторства и публикации нет.
Авторский вклад и ответсвенность. Все авторы участвовали в написании статьи и полностью несут ответственность за предоставление окончательной версии статьи в печать.
Список литературы
[1] Braun J., Griebel M. On a constructive proof of Kolmogorov's superposition theorem // Constructive Approximation journal. 2009. vol. 30. doi:10.1007/s00365-009-9054-2.
[2] Cybenko G. V. Approximation by Superpositions of a Sigmoidal function // Mathematics of Control Signals and Systems. 1989. vol. 2. pp. 303-314.
[3] Sprecher D. A. On the Structure of Continuous Functions of Several Varia // Trans. Amer. Math. Soc. 1965. pp. 340-355.
[4] Funahashi K. On the Approximate Realization of Continuous Mappings by Neural Networks // Neural Networks. 1989. vol. 2. pp. 183-192.
[5] He K., Zhang X., Ren S., Sun J. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification // arXiv:1502.01852. 2015.
[6] Liang S., Srikant R. Why deep neural networks for function approximation? // Published as a conference paper at ICLR. 2017
[7] Hanin B. Universal Function Approximation by Deep Neural Nets with Bounded Width and ReLU Activations // Mathematics. 2019. vol. 7. no. 10. 992.
[8] Liu B., Liang Y. Optimal function approximation with ReLU neural networks // Neurocomputing. 2021. vol. 435. pp. 216-227.
[9] Almira J. M., Lopez-de-Teruel P. E., Romero-Lopez D. J., Voigtlaender F. Negative results for approximation using single layer and multilayer feedforward neural networks // Journal of Mathematical Analysis and Applications. 2021. vol. 494. no. 1. 124584.
[10] Guliyev N.J., Ismailov V. E. On the approximation by single hidden layer feedforward neural networks with fixed weights // Neural Networks. 2018. vol. 98. pp. 296-304.
[11] Guliyev N. J., Ismailov V. E. Approximation capability of two hidden layer feedforward neural networks with fixed weights // Neurocomputing. 2018. vol. 316. pp. 262-269.
[12] Колмогоров А. Н. О представлении непрерывных функций нескольких переменных в виде суперпозиции непрерывных функций одного переменного // Доклады АН СССР. 1957. Т. 114. C. 953-956.
[13] Арнольд В. И. О представлении функций нескольких переменных в виде суперпозиции функций меньшего числа переменных // Математическое просвещение. 1958. Т. 3. С. 41-61.
Галкин Валерий АлексеевичА - доктор физико-математических наук, профессор, директор, Сургутский филиал ФГУ «ФНЦ НИИСИ РАН», БУ ВО «Сургутский государственный университет», г. Сургут, Россия, ORCID 0000-0002-9721-4026.
Гавриленко Тарас ВладимировичА - кандидат технических наук, доцент, заместитель директора, Сургутский филиал ФГУ «ФНЦ НИИСИ РАН», БУ ВО «Сургутский государственный университет», г. Сургут, Россия, ORCID 0000-0002-3243-2751.
Смородинов Александр Денисовичй - Аспирант кафедры прикладной математики, преподаватель кафедры АСОИУ, БУ ВО «Сургутский государственный университет»; инженер отдела биофизики, Сургутский филиал ФГУ «ФНЦ НИИСИ РАН», г. Сургут, Россия, ORCID 0000-0002-9324-1844.
Vestnik KRAUNC. Fiz.-Mat. Nauki. 2022. vol. 38. no. 1. P. 54-73. TSSN 2079-6641
INFORMATION AND COMPUTATION TECHNOLOGIES
MSC 68U20 Research Article
Some aspects of approximation and interpolation of functions
artificial neural networks
V. A. Galkin1'2, T. V. Gavrilenko1'2, A. D. Smorodinov1'2
1 Surgut Branch of SRTSA 628426, Surgut, Energetikov st., 4, Russia
2 Surgut State University, 628412, Surgut, Lenina st., 1, Russia E-mail: [email protected]
The article deals with the issues of approximation and interpolation of functions
f(x) = |x|, f(x) = sin(x), f(x) = -—-—T with the help of neural networks from
1 + 25x2
those constructed on the basis of the Kolmogorov-Arnold and Tsybenko theorems. The problems in training a neural network based on the initialization of weight coefficients in a random way are shown. The possibility of training a neural network to work with a variety is shown.
Keywords: approximation of functions, interpolation of functions, artificial neural networks, Tsybenko's theorem, Kolmogorov-Arnold's theorem.
d DOT: 10.26117/2079-6641-2022-38-1-54-73
Original article submitted: 22.03.2022 Revision submitted: 04.04.2022
For citation. Galkin V. A., Gavrilenko T. V., Smorodinov A. D. Some aspects of approximation and interpolation of functions artificial neural networks. Vestnik KRAUNC. Fiz.-mat. nauki. 2022, 38: 1,54-73. d DOT: 10.26117/2079-6641-2022-38-1-54-73
Competing interests. The author declares that there are no conflicts of interest regarding authorship and publication.
Contribution and Responsibility. The author contributed to this article. The author is solely responsible for providing the final version of the article in print. The final version of the manuscript was approved by the author.
The content is published under the terms of the Creative Commons Attribution 4.0 International License (https://creativecommons.org/licenses/by/4.0/deed.ru)
© Galkin V. A., Gavrilenko T.V., Smorodinov A.D., 2022
Funding. The publication was made within the framework of the state task of the Federal State Institution FNTs NITSI RAS (Performance of fundamental scientific research GP 47) on topic No. 0580-2021-0007 "Development of methods for mathematical modeling of distributed systems and corresponding calculation methods".
References
1. Braun J., Griebel M. On a constructive proof of Kolmogorov's superposition theorem, Constructive Approximation journal, 2009. vol.30, pp. 653 doi:10.1007/s00365-009-9054-2.
2. Cybenko, G. V. Approximation by Superpositions of a Sigmoidal function, Mathematics of Control Signals and Systems, 1989. vol. 2, pp. 303-314.
3. Sprecher, David A. On the Structure of Continuous Functions of Several Varia, Trans. Amer. Math. Soc., 1965, pp. 340-355.
4. Funahashi K. On the Approximate Realization of Continuous Mappings by Neural Networks, Neural Networks, 1989. vol. 2, pp. 183-192.
5. He K., Zhang X., Ren S., Sun J. Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification, arXiv:1502.01852, 2015.
6. Liang S., Srikant R. Why deep neural networks for function approximation?, Published as a conference paper at ICLR, 2017.
7. Hanin B. Universal Function Approximation by Deep Neural Nets with Bounded Width and ReLU Activations, Mathematics, 2019. vol. 7, 992.
8. Liu B., Liang Y. Optimal function approximation with ReLU neural networks, Neuro computing, 2021. vol.435, pp. 216-227.
9. Almira J. M., Lopez-de-Teruel P. E., Romero-Lopez D. J., Voigtlaender F. Negative results for approximation using single layer and multilayer feedforward neural networks, Journal of Mathematical Analysis and Applications, 2021. vol.494, no. 1, 124584.
10. Guliyev N. J., Ismailov V. E. On the approximation by single hidden layer feedforward neural networks with fixed weights, Neural Networks, 2018. vol. 98, pp. 296-304.
11. Guliyev N. J., Ismailov V. E. Approximation capability of two hidden layer feedforward neural networks with fixed weights, Neuro computing, 2018. vol. 316, pp. 262-269.
12. Kolmogorov A. N. O predstavlenii nepreryvnykh funktsiy mnogikh peremennykh v vide superpozitsii nepreryvnykh funktsiy odnoy peremennoy, Doklady AN SSSR, 1957. T. 114, C. 953-956 (In Russian).
13. Arnold V. I. O predstavlenii funktsiy neskol'kikh peremennykh v vide superpozitsii funktsiy men'shego chisla peremennykh, Matematicheskoye prosveshcheniye, 1958. T. 3, C. 41-61 (In Russian).
Galkin Valery Alekseevichfa - Doctor of Physical and Mathematical Sciences, Professor, Surgut State University; Director, Branch of SRISA, Surgut, Russia, ORCID 0000-0002-9721-4026.
ÉÊÉ
Gavrilenko Taras Vladimirovichfa - PhD (Tech.), docent, Surgut State University; Deputy Director, Branch of SRISA, Surgut, Russia, ORCID 0000-0002-3243-2751.
Smorodinov Aleksandr Denisovichfa - Postgraduate Student of the Department of Applied Mathematics, Lecturer of the Department of ASOIU, Surgut State University»; Engineer of the Department of Biophysics and Neurocybernetics, Branch of SRISA, Surgut, Russia, ORCID 0000-0002-9324-1844.