Оценки погрешностей вычисления сложной функции многих переменных

УДК 519.68

ОЦЕНКИ ПОГРЕШНОСТЕЙ ВЫЧИСЛЕНИЯ СЛОЖНОЙ ФУНКЦИИ

МНОГИХ ПЕРЕМЕННЫХ

М.Ю.Сенашова

Описан способ представления сложной функции многих переменных в виде графа. Получены формулы для оценки погрешностей вычисления сложной функции. Оценки погрешностей вычисляются на основе графа, двойственного графу, вычисляющему значение функции. Особенно просто формулы оценки погрешностей выглядят для нейронных сетей.

The method of construction of a graf of a compound function of many variables is described. Formulas for error estimations of computation of the compound function are received. The error estimations are computed on a base of dual graf. The formulas for error estimations are especially simple for neural networks.

ВВЕДЕНИЕ

Задача оценки точности вычислений актуальна с тех пор, как люди начали вычислять. Погрешности вычислений возникают из-за неточных входных данных, из-за погрешностей, вносимых на отдельных этапах вычисления, из-за погрешностей самих методов вычисления.

Каждый раз, когда возникает новая область практики вычислений, вместе с ней появляется и необходимость оценивать погрешности этих вычислений.

Интерес к нейронным сетям переживает в настоящее время очередной всплеск. Это вызвано тем, что они являются удобным и достаточно простым инструментом для создания различных экспертных систем, решения задач классификации и извлечения знаний из данных и, кроме того, дают возможность высокопараллельных реализаций.

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

Под прямой задачей понимается оценка погрешностей выходных сигналов сети, если заданы погрешности входных сигналов и погрешности элементов сети. Наиболее близки к этой задаче методы оценки погрешностей счетно-решающих устройств на основе аналоговых элементов.

Гораздо больший интерес представляет обратная задача. Под обратной задачей понимается оценка погрешностей внутренних сигналов сети, ее входных сигналов и весов синапсов по заданным погрешностям выходных сигналов сети.

Нейронную сеть можно рассматривать как сложную функцию многих переменных, состоящую из суперпозиции функций, вычисляемых нейронами. Однако, в нейронах, в основном, используются функции одного переменного. В данной работе рассматривается обобщение нейронных сетей - сложные функции, представимые как суперпозиция функций нескольких переменных.

1. ГРАФ ВЫЧИСЛЕНИЯ СЛОЖНОЙ ФУНКЦИИ

Рассматривается сложная функция многих переменных Г. Под "сложной" функцией подразумевается, что Г может быть представлена как суперпозиция некоторого набора "простых" функций Л от меньшего числа переменных.

Для построения графа, вычисляющего сложную функцию п переменных Г, нужно представить эту функцию в виде суперпозиции функций меньшего числа переменных Л. Функции Л можно разделить на слои по глубине вхождения в функцию Г. В нулевом слое будут находиться константы и переменные, в первом слое -функции, зависящие от констант и переменных нулевого слоя, во втором слое - функции, зависящие от констант, переменных и функций первого слоя и т.д.

По этим слоям удобно строить граф функции Г. Вершинами графа будут функции Л. Если значение вершины Лк является аргументом вершины Ль то они связываются ребром, направленным от вершины Лк к вершине Ль Таким образом, получаем ориентированный связный граф, соответствующий функции Г. Более подробно построение графа для вычисления сложной функции описано в [1, 2].

Возьмем, например, выражение для сложной функции:

Г(х х2, х3) =Л5 Лз(х 1, Л1(хх2)), Л4(Л1(Хр х2), Л2(х2, х3))).

На рисунке 1 изображен граф, соответствующий этой функции. Окружностями изображены вершины графа, -разбиение функций Л на слои по глубине вхождения в функцию Г.

Рисунок 1 - Граф сложной функции

С каждой вершиной графа, принадлежащей ненулевому слою, ассоциируется автомат, вычисляющий функцию Л. Автоматы срабатывают по слоям в дискретные моменты

114

ISSN 1607-3274 "Радюелектрошка. 1нформатика. Управл1ння" № 2, 2001

М.Ю.Сенашова: ОЦЕНКИ ПОГРЕШНОСТЕЙ ВЫЧИСЛЕНИЯ СЛОЖНОЙ ФУНКЦИИ МНОГИХ ПЕРЕМЕННЫХ

времени (такты). В начальный момент сформированы значения вершин нулевого слоя - известны значения переменных и констант. Они поступают на входы соответствующих автоматов первого слоя. После к-го такта функционирования определены значения вершин, принадлежащих слоям с 0-го по к-ый. На к+1-м такте автоматы к+1-го слоя вычисляют значения вершин к+1-го слоя, получая входные сигналы с предыдущих слоев. В результате вычислений получаем значение функции Г при конкретных значениях вершин нулевого слоя. Более подробно построение графа для сложной функции описано в [1].

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

2. ОЦЕНКА ПОГРЕШНОСТЕЙ ВЫЧИСЛЕНИЯ сложной ФУНКЦИИ

Представление сложной функции многих переменных в виде графа удобно еще и для оценки погрешностей вычисления функции, в случае, если аргументы функции имеют погрешности. Как было указано выше, возможны два способа оценки погрешностей, возникающих при вычислении значения сложной функции многих переменных: прямой и обратный. Под прямым способом понимается оценка погрешности значения сложной функции, если заданы погрешности аргументов, которые одновременно являются входными вершинами графа. В этом случае по графу сложной функции пропускается конкретный набор реальных погрешностей и для них вычисляется конкретное значение погрешности функции, которая является выходной вершиной графа. Однако при этом трудно судить, как изменится погрешность значения функции, если немного изменить погрешности аргументов. Для каждого нового набора значений погрешностей аргументов требуется заново вычислять погрешности значения функции.

Гораздо удобнее использовать обратный способ. Под обратным способом понимается оценка погрешностей переменных, при условии, что задана погрешность значения сложной функции. При этом для всех ребер и вершин графа, переходя от слоя к слою в обратном порядке, вычисляются интервалы, в которых могут изменяться значения ребер и вершин. В этом случае для любого значения из интервалов, в которых могут изменяться погрешности вершин входного слоя, погрешность вершин выходного слоя не превысит заданную. Рассмотрим обратный способ оценки погрешностей.

Для оценки погрешностей вычисления сложной функции нужно построить граф, двойственный исходному графу, вычисляющему значение сложной функции. Этот двойственный граф имеет ту же систему связей, что и исходный, но все элементы исходного графа заменяются на двойственные. Причем сигналы по двойственному графу передаются в направлении, противоположном движе-

нию сигналов по исходному графу. Для построения двойственного графа необходимо построить вершины, двойственные вершинам исходного графа. Идея двойственности используется в точности та же, что и в методе обратного распространения ошибки [2]. Отличие состоит в построении двойственных элементов.

Для общности рассуждений предполагаем, что граф имеет несколько выходных вершин Уои(.

Предположим, что заданы значения вершин входного слоя графа и для них вычислены значения вершин внутренних слоев и вершин выходного слоя Уои1. Будем называть эти значения ггп, значения вершин внутренних слоев графа, а также значения вершин Уои1 точными. Предположим теперь, что нам требуется вычислить значения сложной функции, то есть значения вершин Уои(, с

некоторой точностью 5. То есть нужно найти такие допустимые погрешности вершин входного слоя ггп, что погрешность вершин выходного слоя Уои1 не превысит заданную погрешность 5 .

Типичным участком графа является вершина с входящими и выходящими ребрами. Поэтому, чтобы иметь представление о вычислении погрешностей на графе, достаточно выяснить, как вычисляются погрешности для такой вершины.

Рисунок 2 - Вершина графа, вычисляющего значение сложной функции

Рассмотрим вычисление погрешностей для некоторой вершины f графа. Предположим, что вершина f имеет к входящих ребер и r выходящих ребер.

Поскольку мы строим вершину двойственного графа для оценки погрешностей, структура связей у нас сохраняется, элементы заменяются на двойственные, а сигналы движутся в направлении, противоположном движению сигналов в исходном графе. Поэтому двойственная вершина будет иметь r входящих и к выходящих ребер. Предположим, что вычисленные при обратном распространении допустимые погрешности ребер, входящих в двойственную вершину f, равны £j, £2, ..., £r . Чтобы попасть в интервалы погрешностей выходных вершин, нам требуется налагать наиболее жесткие требования на вычисляемую оценку погрешности вершины f'. Поэтому в качестве погрешности вершины f' выбирается

£ < min{£,}r_ . .

i i — 1

Пусть функция Л является непрерывно дифференцируемой. Предположим, что погрешность двойственной вершины Л', вычисленная при обратном распространении, равна £ . Требуется вычислить погрешности £, выходящих ребер вершины Л' такие, чтобы погрешность значения Л не превышала £ .

Рассмотрим линейное приближение функции Л в окрестности точки (хр, ..., хк) :

Л(х1 ±£р, .... хк ±£к) «Л(х1> .••> хк) +

к

дЛ

+ Е -Н£—>

Для достижения необходимой точности вычислений точное значение функции /(х^ ..., хк) не должно отличаться от значения функции с погрешностями входящих ребер Л(хр ±£р, ..., хк± £,) более, чем на £ :

Л (х1 ±£1. ..., хк ±£к) - Л (хр. ..., хк )<£ .

дх

-Л

, = 1

к

дЛ

тах

V;

к

Е

, = 1

дЛ

дх

< £ ,

тах

=£

Е

, = 1

к

• Е

дЛ

дх

£ • V,

дЛ

дх

<£.

£ < £/

Е

, = 1

дЛ

дх

Пользуясь этой формулой и формулой (1) для ребер, входящих в вершину Л', можно оценить погрешности для

любой вершины графа при известных погрешностях выходящих ребер. На рисунке 3 показана вершина двойственного графа с оценками погрешностей.

Рассмотрим модуль этой разности, заменяя значение функции с погрешностями входящих ребер на линейное приближение в окрестности точки (х^, ...,х,) :

Л(х1 ±£1,.... хк ±£к) - Л(х1,., хк

к

дЛ

Таким образом, для выполнения неравенства (2) требуется, чтобы выполнялось условие:

где V , е {-1, 1} .

В предположении, что все £ равны между собой, предыдущее неравенство принимает вид:

Отсюда получаем оценку для погрешностей выходящих ребер вершины Л':

2^\д/г/ д

£ < тт{ }

2Цд л/ д х,\.................Л ¿и г

£

Рисунок 3 - Оценки погрешностей для вершины Л,.

При помощи полученных формул можно оценить погрешности только для одного конкретного набора значений вершин Vп входного слоя графа. Если задано множество дискретных наборов значений вершин V,п, то для оценки погрешностей по всему множеству наборов в целом нужно вычислить погрешности для каждого набора значений V пп, а затем для каждой вершины графа выбрать минимум полученных погрешностей.

Если вершины входного слоя vin принимают значения

из некоторой области А, < х , < В,, I = 1, п , где п - число вершин входного слоя, А,, В, - действительные числа, то можно оценить погрешности вычислений на графе не для одного конкретного набора входных значений, а для всей области входных значений в целом.

Для этого нужно интервалы, в которых изменяются значения вершин входного слоя, пропустить по сети в прямом направлении. Это делается следующим образом. Значения х^ вершин входного слоя заменяются интервалами [А,, В,], в которых эти значения могут изменяться. Эти интервалы будут значениями ребер, входящих в вершины первого слоя графа. Затем нужно вычислить интервал изменения значений для функций Л

вершин первого слоя, где х , е [А,, В,] на области В,

представляющей собой к-мерный прямоугольник, ограниченный соответствующими интервалами [А,, В,]. В качестве левого конца интервала выбирается минимум функции на области В, в качестве правого конца интервала -максимум. Полученный интервал передается на вершины графа следующего слоя по ребрам, выходящим из вершины Л. Для всех последующих слоев вычисления проводятся аналогично. После того, как для всех вершин и ребер графа вычислены интервалы изменения их значений, можно вычислять соответствующие погрешности, двигаясь в обратном направлении. При этом формула (1) остается без изменений, а формула (3) принимает вид:

£

к

к

116

1607-3274 "Радюелектрошка. 1нформатика. Управл1ння" № 2, 2001

Т.Н.Швалюк: БИБЛИОТЕКА ФУНКЦИЙ ЧИСЛОВОГО ПОДМНОЖЕСТВА СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ АНАЛИТИК-2000

е, < е/

I

max D

i = 1

f д z,.

Применяя формулы (1) и (4), можно вычислить погрешности для всей области значений входных вершин.

Особенно просто формулы оценок погрешностей выглядят для нейронных сетей [3,4]. Функциями вершин графа нейронной сети будут либо адаптивные сумматоры

^ аг- • х{, либо функции одной переменной /(ж). Для

г = 1

адаптивного сумматора погрешности входных ребер оце-

ниваются как е

<е/ I

а.

где ei

погрешности

i = 1

входных ребер, £ - погрешность вершины, - веса синапсов сумматора. Для функции с одной входной связью оценки погрешностей выглядят следующим образом: £1 <£/|/'(Z)| , где £1 - погрешность входного ребра, £ -

погрешность выходного ребра, Z - точное значение входного ребра вершины /

ЗАКЛЮЧЕНИЕ

Полученные в работе формулы позволяют оценивать погрешности вычислений в вершинах графов сложных функций многих переменных при заданных погрешностях выходных вершин этих графов. Особенно просто формулы оценки погрешностей вычислений выглядят для элементов нейронных сетей.

ПЕРЕЧЕНЬ ССЫЛОК

1. Горбань А.Н., Сенашова М.Ю. Быстрое дифференцирование, двойственность и обратное распространение ошибок // Вычислительные технологии / Издательство СО РАН. - Новосибирск. 1999. Т. 4. С. 55- 68.

2. Горбань А.Н. Обучение нейронных сетей. М.": изд. СССР-США СП "Параграф", 1990. 160 с.

3. Senashova Masha Yu., Gorban Alexander N., and Wunsch Donald. Back-Propagation of Accuracy // Proc. IEEE/INNS International Coonference of Neural Networks, Houston, IEEE. - 1997. - P.1998-2001.

4. Сенашова М.Ю. Оценки погрешностей сигналов в нейронных сетях // Вычислительные технологии / Издательство СО РАН. - Новосибирск. 2000. Т. 5, №3. С. 83 - 109.

УДК 681.32

БИБЛИОТЕКА ФУНКЦИЙ ЧИСЛОВОГО ПОДМНОЖЕСТВА СИСТЕМЫ КОМПЬЮТЕРНОЙ АЛГЕБРЫ АНАЛИТИК-2000

Т.Н.Швалюк

Настоящая работа содержит краткое описание библиотеки операций и функций арифметического подмножества системы компьютерной алгебры АНАЛИТИК-2000. Функции и операции библиотеки определены над целыми, рациональными и десятичными числами произвольной длины. Библиотеку можно использовать автономно для расширения области применения численных методов при необходимости вычислений с высокой точностью.

Present work contains the brief description of library of operations and functions of a arithmetic subset of a system of computer algebra ANALYTIC-2000. The functions and operation of library are determined on whole, rational and decimal numbers of any length. The library can be used independently for expansion of the area of application of numerical methods if necessary calculations with high accuracy.

Алгебры чисел с мантиссами произвольной длины и алгебра рациональных чисел (АРЧ) являются принципиально необходимой составной частью ориентированных на реализацию аналитических и численно-аналитических методов систем программирования (систем компьютерной алгебры).

Такие алгебры входили в состав всех языков семейства АНАЛИТИК, которые под руководством академика В.М.Глушкова, начиная с середины 60-х годов, разрабатывались в институте Математических Машин и Систем НАН Украины. Эти алгебры аппаратно реализовывались

на ЭВМ серии МИР [1-3], а с конца 80-х годов программно реализуются на ПЭВМ [4-8]. Языком реализации становится Си [9]. Реализация таких алгебр в системах аналитических преобразований оказалась естественной, так как эти системы изначально ориентированы на объекты, большого объема со сложной структурой [10-15].

Арифметическое подмножество новой версии семейства (АНАЛИТИК-2000) образует достаточно полная библиоте-ка элементарных функций. Она расширена так же за счет некоторых специальных функций языка АНАЛИТИК-2000.

Библиотека может использоваться автономно в режиме диалога или в составе других вычислительных систем.

В зависимости от заданного в программе режима вычислений функций выполняются в различных модификациях. Так в режиме вычислений в алгебре рациональных чисел трансцендентные функции от целых, рациональных или символьных аргументов не выполняются. Например, cos(1/3) в этом режиме не вычисляется. Библиотека так же частично реализует вычисления в алгебре комплексных чисел. Пример 1.

4-4 = i* 2 .

Пример 2.

ln(-2.1) = 0.7419 + i*n .