ВЦК СО РАН, КГУ
Рассматриваются нейронные сети слоистой структуры, состоящие из слоев стандартных нейронов. Изучаются ошибки, возникающие при технической реализации сетей, а также при шумах и повреждениях.
Определены максимально допустимые погрешности, возможные для сигналов и параметров каждого элемента сети, исходя из условия, что вектор выходных сигналов сети должен вычисляться с заданной точностью. Используются два типа оценок погрешности: гарантированные
Показано, что оценки допустимых погрешностей можно получить в ходе специального процесса "обратного распространения точности". Он состоит в функционировании сети с той же системой связей, но от выходов к входам и с заменой элементов на двойственные. Эта двойственность принципиально отличается от той, которая используется в классическом методе вычисления градиентов оценки с помощью обратного распространения ошибок (back
С помощью полученных результатов объясняется наблюдаемая высокая устойчивость нейронных сетей к шумам и разрушениям.
В настоящее время существуют различные технические реализации нейронных сетей, в том числе нейроимитаторы, то есть
Существует подход, получающий все большее распространение, при котором сначала конструируется и обучается нейроимитатор, а затем создается техническая реализация полученной нейросети с уже вычисленными весами
Нейроимитатор, работающий на универсальных цифровых ЭВМ, позволяет вычислять веса 0 или 1 (связь либо есть, либо нет - без всяких весов
При аналоговых реализациях, различных упрощениях архитектуры (в том числе - бинаризации) технически сложно получить результат работы сети той же точности, что и результат работы нейроимитатора [6.3, 6.4, 6.5]. Поэтому следует ограничится некоторой точностью, с которой может работать сеть, то есть выбрать интервал, в котором могут изменяться значения вектора выходных сигналов сети.
Оценка погрешностей сигналов сети очень полезна при решении задачи упрощения нейронной сети. Зная допустимую погрешность выходного сигнала какого-либо элемента сети, мы можем заменять его более простыми, но менее точными элементами так, чтобы в итоге ошибка не превышала заданную.
Хорошо известно, что нейронные сети могут проявлять исключительную устойчивость к помехам и разрушениям. Иногда эти эффекты называют голографическими свойствами нейронных сетей, подразумевая, что полезные навыки распределены по сети примерно так же, как изображение - по голографической пластинке, и могут сохраняться при значительных разрушениях.
Как будет показано ниже, при прямом прохождении сигналов по достаточно большой сети погрешности гасятся: при больших погрешностях входных сигналов выходные сигналы сети могут иметь сравнительно малые погрешности. Это объясняет устойчивость нейронных сетей к шумам и повреждениям.
Рассмотрим два подхода к решению задачи вычисления погрешностей сигналов сети. При первом подходе ( гарантированные интервальные оценки ) вычисляются допустимые интервалы для погрешностей сигналов сети такие, что погрешность вектора выходных сигналов гарантированно (с вероятностью 1 ) не превышает заданную. При втором подходе ( среднеквадратические оценки погрешностей ) вычисляются среднеквадратические отклонения погрешностей сигналов. При этом часто используется предположение о том, что погрешности различных сигналов являются независимыми случайными величинами.
Существует принципиальное различие между этими двумя типами оценок. Гарантированные
Важное различие между двумя типами оценок демонстрируют следующие формулы сложения.
x, y определены гарантированные интервалы значений $${\rm{x = x}}_0 {\rm{\pm \bigtriangleup}}_x $$, $${\rm{y = y}}_0 {\rm{\pm \bigtriangleup}}_y$$. Тогда для их суммы имеем гарантированную оценку: $${\rm{x + y = x}}_0 {\rm{+ y}}_0 {\rm{\pm (\bigtriangleup}}_x {\rm{+ \bigtriangleup}}_y {\rm{)}}$$, то есть $${\rm{\bigtriangleup}}_{x + y}{\rm{ = \bigtriangleup}}_x {\rm{+ \bigtriangleup}}_y$$.x, y определены среднеквадратичные уклонения $$\sigma_x $$, $$\sigma_y$$. Тогда $$\sigma_{x + y}{\rm{ = (}}\sigma_x^2 {\rm{+ }}\sigma_y^2 {\rm{)}}^{1/2}$$.Предполагаем, что сеть имеет слоистую структуру. Это самоограничение позволит несколько сократить изложение, но не влияет на общность рассмотрения - исследование любой сети может быть формально сведено к изучению слоистых сетей.
Сеть слоистой структуры состоит из слоев стандартных нейронов, связанных между собой синапсами с весами, полученными при обучении. Причем сигналы передаются только в одном направлении, с предыдущего слоя на следующий. Под стандартным нейроном [6.1, 6.2] понимается набор элементов, состоящий из адаптивного сумматора,
(рис 6.1) Стандартный нейрон Так как мы имеем дело с сетями слоистой структуры, состоящими из слоев стандартных нейронов, то выходные сигналы одного слоя являются входными сигналами другого слоя. В свою очередь, внутри самого стандартного нейрона выходной сигнал одного элемента (например, сумматора) является входным сигналом другого элемента (например,
Стандартный нейрон является типичным участком любой нейронной сети. Поэтому достаточно выяснить, как вычисляются допустимые погрешности для элементов стандартного нейрона. В результате получим возможность вычислить допустимые погрешности для любого участка сети, двигаясь по сети от нейрона к нейрону.
Пусть нам заданы допустимые
Последним элементом стандартного нейрона является точка ветвления, поэтому начинаем рассмотрение метода обратного распространения точности именно с нее.
Точка ветвления имеет несколько выходов. Пусть для каждого ее выхода задана допустимая погрешность $$\varepsilon_i $$ ( i - номер выхода). Для того, чтобы удовлетворить всем этим ограничениям погрешности, необходимо и достаточно, чтобы входной сигнал точки ветвления имел погрешность $$\varepsilon = \min \{\varepsilon_i \}_{i = 1}^k$$. Таким образом, при обратном распространении точности точка ветвления заменяется на двойственный элемент, выбирающий из поступающих сигналов $$\varepsilon_i $$ (т.е. погрешностей) минимальный.
Следующим элементом стандартного нейрона является
Ввиду непрерывности и дифференцируемости
Пойдем традиционным путем, оценивая допустимую погрешность в линейном приближении: $$\varphi (A_0 \pm \varepsilon ) \approx \varphi (A_0 ) \pm \varphi '(A_0 ) \cdot \varepsilon$$. По условию
$$\varepsilon_1 \ge |\varphi (A_0 \pm \varepsilon ) - \varphi (A_0 )| \approx |\varphi '(A_0 ) \cdot \varepsilon |.$$
Пользуясь этим неравенством, подберем $$\varepsilon $$ следующим образом: $$\varepsilon \le \varepsilon_1 /|\varphi '(A_0 )|$$. В этом случае формула для вычисления допустимой погрешности более простая, но менее точная.
Получили погрешность, допустимую для входного сигнала
Двойственный к нелинейному преобразователю элемент - просто линейная связь! Ее вес равен $$1/|\varphi '(A_0 )|$$ для линейного приближения в формуле ошибки или $$1/\max |\varphi '(x)|$$ - в более общем случае (в последней формуле максимум берется по отрезку $$x \in [\varphi^{- 1}(y - \varepsilon_1 ),\varphi^{- 1}(y + \varepsilon_1 )]$$ - так что линейность здесь уже кажущаяся).
Перейдем к следующему элементу стандартного нейрона - адаптивному сумматору с $$n$$ синапсами, являющимися его входами. Адаптивный сумматор - это сумматор, в котором входные сигналы $$x_i $$ суммируются с весами $$\alpha_i$$.
Каждый вход $$x_i $$ сумматора $$\Sigma_0 $$ имеет некоторую погрешность $$\varepsilon_i $$, которая вносит свой вклад в допустимую погрешность выходного сигнала сумматора. Эти погрешности могут иметь различные величины в зависимости от того, какой способ распределения допустимой погрешности выходного сигнала по входам сумматора мы выберем. Погрешности по входам сумматора могут распределяться равномерно, пропорционально и приоритетно.
Рассмотрим сначала равномерное распределение. Для этого полагаем, что на всех входах погрешности равны между собой $$(\varepsilon_1 = \varepsilon_i , i = 2,...,n)$$. Пусть $$A_0 = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i $$ - выходной сигнал сумматора без погрешностей. Тогда $$\{A'_0 \}$$ - множество выходных сигналов сумматора, получающихся, когда вектор входных сигналов сумматора пробегает вершины $$n$$ - мерного куба с центром в точке $$(x_1 ,x_2 ,...,x_n )$$ и ребром длины$$2\varepsilon_1 {\rm{: }}\{A'_0 \} = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i \pm \varepsilon_i ){\rm{ = }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i {\rm{+ }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_i ){\rm{ = }}A_0 {\rm{+ }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i ,$$ где $$z_i \in \{- 1,1\}$$. Нам требуется, чтобы все множество значений $$\{A'_0 \}$$ попало в интервал $$[A_0 - \varepsilon ,A_0 + \varepsilon ]$$. Для этого необходимо, чтобы$$\max |\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i |{\rm{ = }}\mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_i \le \varepsilon ,$$ где максимум берется по всем $$z_i$$. Из этого неравенства и сделанного выше предположения о $$\varepsilon_i $$ получаем требуемую оценку для равномерного распределения $$\varepsilon_i $$ по входам сумматора:$$\varepsilon_i \le \varepsilon /\mathop \Sigma \limits_{i = 1}^n |\alpha_i | .$$
При пропорциональном распределении погрешностей допустимая погрешность выходного сигнала сумматора делится сначала на число входов, а затем для каждого входа делится на соответствующий вес синапса. То есть погрешности распределяются пропорционально весам соответствующих
При приоритетном распределении погрешностей сначала назначаются погрешности для тех входов, которые наиболее значимы по какому-либо признаку, а затем оставшуюся часть допустимой погрешности выходного сигнала сумматора распределяют между оставшимися входами равномерно или пропорционально.
Аналогично можно вычислить допустимые погрешности для входных сигналов сумматора любого стандартного нейрона, если известны погрешности для выходного сигнала сумматора.
Для адаптивного сумматора можно вычислять как допустимые погрешности входных сигналов сумматора, так и допустимые погрешности весов
При пропорциональном распределении допустимые погрешности для весов
При приоритетном распределении сначала назначаются допустимые погрешности для тех весов
При обратном распространении точности имеет место специфическая двойственность - элементы сети заменяются на двойственные им. Однако, эта двойственность отличается от той, с которой мы встречаемся при изучении обратного распространения ошибки для вычисления
Теперь мы знаем, каким образом вычислять гарантированную
Зная, как вычисляются допустимые погрешности для всех элементов стандартного нейрона, можно вычислить допустимые погрешности сигналов для всей сети. Рассмотрим участок сети, состоящий из сумматора $$\Sigma_0 $$ и
(рис 6.5) Если заданы допустимые погрешности для выходных сигналов сети, можно вычислить допустимые погрешности для последнего слоя сети. Когда вычислены допустимые погрешности всех входных сигналов последнего слоя сети, переходим к вычислению допустимых погрешностей предпоследнего слоя и так далее. Переходя по сети в обратном направлении от слоя к слою, мы можем вычислить допустимые погрешности всех сигналов сети, в том числе допустимые погрешности входных сигналов.
Мы рассмотрели, как изменяются погрешности сигналов при прохождении через элементы сети. Предположим теперь, что не только сигналы имеют погрешности, но и все элементы сети передают приходящие к ним сигналы с некоторыми погрешностями. Пусть собственные погрешности элементов известны и фиксированы. Выясним, как влияют собственные погрешности элементов на погрешности сигналов.
Bыясним, как действуют элементы сети, имеющие собственные погрешности, при прямой работе сети.
Точка ветвления может либо вообще не иметь погрешности, либо она имеет собственную погрешность $$\varepsilon_{tv}$$. В последнем случае сигнал $$x$$ при прохождении через точку ветвления будет изменяться, оставаясь в интервале $$x \pm \varepsilon_{tv}$$ ( рис. 6.6).
(рис 6.6) Предположим, что сумматор имеет собственную погрешность $$\varepsilon_\Sigma$$. Тогда возможны следующие варианты:
(рис 6.7) Считаем при этом, что погрешности $$\varepsilon_\Sigma^i $$ равны между собой и равны $$\varepsilon_\Sigma {\rm{/}}n $$, где $$n$$ - число входов сумматора.
Пусть собственная погрешность
(рис 6.8) Мы выяснили как вычисляются допустимые погрешности сигналов сети. При этом мы не выделяли особо тот вклад, который вносят в погрешность сигнала сами элементы. Рассмотрим теперь, как вычисляются допустимые погрешности сигналов сети при обратном распространении точности с учетом собственных погрешностей элементов стандартного нейрона.
Начнем вычисление допустимых погрешностей сигналов сети с учетом собственных погрешностей элементов с точки ветвления. Пусть точка ветвления имеет собственную погрешность $$\varepsilon_{tv}$$. Предположим, что допустимые погрешности выходных сигналов точки ветвления равны $$\varepsilon_1 \pm \varepsilon_{tv},\varepsilon_2 \pm \varepsilon_{tv},...,\varepsilon_k \pm \varepsilon_{tv}$$. Для увеличения точности вычислений необходимо накладывать на допустимые погрешности наиболее жесткие требования. Поэтому в качестве допустимой погрешности входного сигнала точки ветвления при обратном распространении следует выбирать погрешность $$\min \{\varepsilon_i - \varepsilon_{tv}\}_{i = 1}^k$$.
Следующий элемент стандартного нейрона -
Предположим теперь, что собственная погрешность
$$\varepsilon \le \varepsilon_1 /|\varphi '(x)| - \varepsilon_\varphi ,$$ где $$x \in \left[ {\varphi^{- 1}(y - \varepsilon_1 ) - \varepsilon_\varphi ,\varphi^{- 1}(y + \varepsilon_1 ) + \varepsilon_\varphi }\right]$$.
Рассмотрим допустимую погрешность в линейном приближении:
$$\varphi (A_0 \pm (\varepsilon + \varepsilon_\varphi )) \approx \varphi (A_0 ) \pm \varphi '(A_0 ) \cdot (\varepsilon + \varepsilon_\varphi ).$$
По условию
$$\varepsilon_1 \ge |\varphi (A_0 \pm (\varepsilon + \varepsilon_\varphi )) - \varphi (A_0 )| \approx |\varphi '(A_0 ) \cdot (\varepsilon + \varepsilon_\varphi )|.$$
Получаем:$$(\varepsilon + \varepsilon_\varphi ) \le \varepsilon_1 /|\varphi '(A_0 )|$$ или$$\varepsilon \le \varepsilon_1 /|\varphi '(A_0 )| - \varepsilon_\varphi .$$
И, наконец, перейдем к вычислению допустимых погрешностей входных сигналов сумматора. Рассмотрим вариант, при котором собственная погрешность сумматора $$\varepsilon_\Sigma $$ добавляется к его выходному сигналу, и допустимая погрешность выходного сигнала сумматора равняется $$\varepsilon$$. При обратном распространении точности получаем, что равномерно, пропорционально и приоритетно по выше полученным формулам распределяется погрешность $$\varepsilon - \varepsilon_\Sigma$$.
Если же собственная погрешность сумматора пропорционально распределяется по его входам, и допустимая погрешность выходного сигнала сумматора равняется $$\varepsilon $$, то допустимые погрешности для входов сумматора вычисляются следующим образом. Пусть $$A_0 = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i $$ - выходной сигнал сумматора без погрешностей. Тогда $$\{A'_0 \}$$ - выходные сигналы сумматора с учетом собственных погрешностей сумматора $$\varepsilon_\Sigma^i $$ и погрешностей входных сигналов $$\varepsilon_i $$:
$$\begin{array}{l} \{A'_0 \}{\rm{ = }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i \pm \varepsilon_i \pm \varepsilon_\Sigma^i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_i ) + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_\Sigma^i ) = \\ = A_0 + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i \cdot z_i , \\ \end{array}$$
где $$z_i \in {\rm{\{ - 1}}{\rm{,1 \}}}$$. Для того, чтобы все множество $$\{A'_0 \}$$ попало в интервал$$[A_0 - \varepsilon ,A_0 + \varepsilon ]$$ необходимо, чтобы
$$\max |\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i \cdot z_i = \mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_i + \mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_\Sigma^i \le \varepsilon , ,$$
где максимум берется по всем $$z_i$$. Из этого неравенства, предполагая что $$\varepsilon_i $$ равны между собой, получаем требуемую оценку для $$\varepsilon_i $$:
$$\varepsilon_i \le (\varepsilon - \varepsilon_\Sigma^i \cdot \mathop \Sigma \limits_{i = 1}^n |\alpha_i |)/\mathop \Sigma \limits_{i = 1}^n |\alpha_i |. .$$
Мы получили формулы для вычисления допустимых погрешностей сигналов для любого участка сети с учетом того, что все элементы имеют собственные погрешности, которые вносят свой вклад в погрешность выходного сигнала этих элементов.
Ранее был рассмотрен метод обратного распространения точности с учетом собственных погрешностей элементов сети. Но этот метод может быть использован не для всех сетей. При применении метода может возникнуть ситуация, когда собственная погрешность элемента превышает погрешность сигнала, который должен выходить из этого элемента. Например, если собственная погрешность нейрона $$\varepsilon_\varphi $$, которая добавляется к выходному сигналу нейрона, превышает допустимую погрешность его выходного сигнала $$\varepsilon_1 $$, то по формуле $$\varepsilon \le (\varepsilon_1 - \varepsilon_\varphi )/|\varphi '(A)|$$, где $$\varepsilon $$ - погрешность входного сигнала
Рассмотрим конкретную сеть с заданными собственными погрешностями элементов. Нужно определить, возможно ли провести вычисления допустимых погрешностей методом обратного распространения точности с учетом собственных погрешностей элементов для всех сигналов сети, начиная с выходных и кончая входными сигналами. Для этого нужно выполнить прямое функционирование сети с заданными собственными погрешностями элементов и с точным вектором входных сигналов сети. Если полученный вектор выходных сигналов при этом будет отличаться от точного вектора выходных сигналов более, чем на $$\delta $$ (допустимую погрешность выходных сигналов сети), то с такими собственными погрешностями элементов для данной сети метод обратного распространения точности невыполним. В этом случае можно либо увеличить допустимую погрешность выходных сигналов $$\delta $$, либо уменьшить собственные погрешности элементов.
Нам нужно определить, как вычислять допустимые погрешности сигналов, если это невозможно сделать методом обратного распространения точности. Выясним, всегда ли возможно распределить их так, чтобы собственные погрешности элементов не превышали допустимых погрешностей выходных сигналов этих элементов, и при этом погрешность выходных сигналов сети не превышала $$\delta$$.
Для точки ветвления и
Если на каком-то из элементов (
Есть ситуации, на которые влиять невозможно. К ним относятся следующие:
Если собственная погрешность превышает допустимую погрешность выходного сигнала у элемента скрытого или входного слоя, то можно попытаться распределить допустимые погрешности так, чтобы продолжить вычисления.
Нам необходимо оптимально распределить допустимые погрешности по входам сумматора, то есть распределить их таким образом, чтобы по каждому входу допустимые погрешности входных сигналов максимально превышали собственные погрешности элементов, чьи выходные сигналы являются входными сигналами сумматора.
Рассмотрим участок сети между двумя сумматорами $$\Sigma_1 $$ и $$\Sigma_2 $$ ( рис. 6.9). Пусть $$\varepsilon $$ - это погрешность выходного сигнала сумматора $$\Sigma_2 $$, A - точный выходной сигнал
(рис 6.9) Предположим сначала, что собственные погрешности элементов добавляются к выходным сигналам этих элементов. То есть погрешность входного сигнала
Для каждого входа сумматора $$\Sigma_2 $$ нам необходимо вычислить такие допустимые погрешности, которые позволили бы провести вычисления допустимых погрешностей для точки ветвления,
Пусть сумматор $$\Sigma_1 $$ имеет собственную погрешность $$\varepsilon_{\Sigma_1 }$$,
Вычислим погрешность $$\varepsilon^{part}$$, которая придет к входу сумматора $$\Sigma_2 $$ при прямом функционировании сети, начиная от выходного сигнала сумматора $$\Sigma_1$$.
$$\varepsilon^{part} = \varepsilon_{\Sigma_1 }\cdot |\varphi '(A)| + \varepsilon_\varphi + \varepsilon_{tv}.$$
Вычисляем допустимые погрешности $$\varepsilon_i $$ для входов сумматора $$\Sigma_2 $$ при пропорциональном и равномерном распределении. Если хотя бы для одного распределения по каждому входу $$\varepsilon_i^{part} < \varepsilon_i $$, то можно продолжать вычисления, используя метод обратного распространения точности с учетом собственных погрешностей элементов сети. Если же для обоих распределений хотя бы по одному входу $$\varepsilon_i^{part} > \varepsilon_i $$, то необходимо распределять допустимые погрешности по входам сумматора $$\Sigma_2 $$ следующим образом.
Если сумма с коэффициентами $$\alpha_i $$ погрешностей $$\varepsilon_i^{part}$$ меньше допустимой погрешности выходного сигнала ( $$\Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part} < \varepsilon $$ ), то вычисляем разность $$\Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part}- \varepsilon$$. Оставшуюся часть допустимой погрешности выходного сигнала сумматора $$\varepsilon $$ распределяем равномерно по всем входам, чтобы допустимые погрешности входов превышали погрешности элементов на одну и ту же величину $$\xi .$$ Тогда
$$\Sigma_{i = 1}^n \alpha_i \cdot (\varepsilon_i^{part}+ \xi ) = \varepsilon \Rightarrow \xi = (\varepsilon - \Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part})/\Sigma_{i = 1}^n \alpha_i.$$
Допустимые погрешности входных сигналов сумматора будут равны $$\varepsilon_i = \varepsilon_i^{part}+ \xi$$.
Пусть теперь собственные погрешности элементов добавляются к их входным сигналам. Допустимая погрешность входного сигнала
В этом случае погрешности $$\varepsilon_i^{part}$$ вычисляются по формуле:
$$\varepsilon_i^{part} = (\varepsilon_{\Sigma_1 }\cdot \Sigma_{i = 1}^n |\alpha_i | - \varepsilon_\varphi ) \cdot |\varphi '(A)| + \varepsilon_{tv}.$$
Остальные вычисления для допустимых погрешностей $$\varepsilon_i $$ входных сигналов сумматора $$\Sigma_2 $$ проводятся аналогично.
Возможен другой подход. Можно вычислять погрешности $$\varepsilon_i^{part}$$ для всей сети сразу. Погрешности $$\varepsilon_i^{part}$$, вычисленные для одного слоя сети, суммируются с коэффициентами $$\alpha_i $$ того сумматора, через который они должны проходить. Полученная погрешность используется дальше для вычисления погрешности $$\varepsilon_i^{part}$$ следующего слоя. При обратном прохождении сети для входов каждого сумматора будет известно, какие погрешности $$\varepsilon_i^{part}$$ приходят по каждому входу, и как следует распределять допустимые погрешности сигналов. При этом погрешности $$\varepsilon_i^{part}$$ вычисляются один раз и не требуется делать пересчет.
Таким образом, мы рассмотрели как распределяются допустимые погрешности сигналов для сетей с собственными погрешностями элементов. Используется встречное распространение погрешностей $$\varepsilon_i^{part}$$, которые насчитываются при прямом функционировании сети, и допустимых погрешностей сигналов, которые вычисляются в обратном направлении.
Рассмотрим обученную нейросеть с вычисленными весами
Рассмотрим теперь эту же сеть, но предположим, что все сигналы сети имеют некоторые погрешности. Пусть $$\{y'\}$$ - вектор выходных сигналов, полученный при том же векторе входных сигналов $$\{z^{in}\}$$, но с погрешностями внутренних сигналов сети.
Предполагаем, что внутри каждого слоя погрешности сигналов $$\varepsilon_i $$ являются независимыми случайными величинами. Это предположение позволяет налагать менее жесткие требования при вычислении погрешностей сигналов.
Пусть нам задана $$\delta $$ - допустимая погрешность выходных сигналов сети. То есть вектор $$\{y'\}$$ может отличаться от вектора $$\{y^{out}\}$$ не более, чем на $$\delta$$. Будем считать $$\delta $$ величиной среднеквадратического отклонения $$\sigma_{out}$$ выходных сигналов сети $$\{y'\}$$.
Нам нужно выяснить, каким образом могут распределяться дисперсии сигналов при заданном $$\sigma_{out}$$ и вычислить среднеквадратические отклонения $$\sigma_i = \sqrt {D_i }$$ для всех сигналов сети такие, чтобы среднеквадратическое отклонение вектора выходных сигналов $$\{y'\}$$ равнялось $$\sigma_{out}$$.
Зная среднеквадратическое отклонение выходных сигналов, можем вычислить дисперсию выходных сигналов $$D_{out} = \sigma_{out}^2 $$, а затем, переходя от элемента к элементу в обратном порядке, вычислим дисперсии $$D_i $$ и среднеквадратические отклонения $$\sigma_i = \sqrt {D_i }$$ для всех сигналов сети.
Типичным участком сети является стандартный нейрон. Из стандартных нейронов состоит любая нейронная сеть. Поэтому нам достаточно определить, как вычисляются среднеквадратические отклонения сигналов для элементов стандартного нейрона. Тогда мы будем иметь возможность вычислить среднеквадратические отклонения для любого участка сети.
Выясним, как вычисляются среднеквадратические отклонения для входных сигналов точки ветвления,
Если дисперсии выходных сигналов точки ветвления $$D_1 ,D_2 ,...,D_k $$ при обратном распространении не равны между собой, то в качестве дисперсии входного сигнала точки ветвления выбирается $$\min \{D_i \}_{i = 1}^k$$.
Пусть $$\sigma_1 $$ - среднеквадратическое отклонение погрешности выходного сигнала
Пусть
$$M_{\varphi (A + \varepsilon )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot \varepsilon }) \cdot \rho_\varepsilon d\varepsilon = \varphi (A) .$$
$$D_{\varphi (A + \varepsilon )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot \varepsilon - \varphi (A))^2 \rho_\varepsilon d\varepsilon = \varphi '(A)^2 \sigma^2 } .$$
С другой стороны, нам известно, что дисперсия выходного сигнала
$$\sigma_1^2 = \varphi '(A)^2 \cdot \sigma^2 \Rightarrow \sigma = \frac{{\sigma_1 }}{{|\varphi '(A)|}}.$$
Таким образом, мы вычислили среднеквадратическое отклонение входного сигнала
Мы получили среднеквадратическое отклонение входного сигнала
Вычислим среднеквадратические отклонения $$\sigma_i $$ входных сигналов сумматора. Рассмотрим для этого дисперсию погрешности выходного сигнала сумматора$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \sigma^2.$$
Предположим дополнительно, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} \sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n D(\alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot D\varepsilon_i = \\ = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 \Rightarrow \sigma_i = \frac{\sigma }{{\sqrt {\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}.$$
Получили формулу для равномерного распределения среднеквадратических отклонений $$\sigma_i $$ по входам сумматора. Если в качестве погрешности каждого входа рассматривать не $$\varepsilon_i $$, а $$\alpha_i \cdot \varepsilon_i $$, то получим формулу для пропорционального распределения среднеквадратических отклонений $$\sigma_i $$ по входам сумматора.
$$\sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n D(\alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 \Rightarrow \sigma_i = \frac{\sigma }{{\sqrt n }} .$$
Кроме равномерного и пропорционального распределения среднеквадратических отклонений погрешностей по входам сумматора, может быть использовано приоритетное распределение среднеквадратических отклонений. При этом сначала назначаются среднеквадратические отклонения погрешностей для тех входов сумматора, которые наиболее значимы по какому-либо признаку, а затем оставшаяся часть среднеквадратического отклонения погрешности выходного сигнала сумматора распределяется по остальным входам равномерно или пропорционально.
Мы рассмотрели, как изменяются погрешности сигналов при прохождении через элементы сети. Предположим теперь, что не только сигналы имеют погрешности, но и все элементы сети передают приходящие к ним сигналы с некоторыми погрешностями. Пусть среднеквадратические отклонения погрешностей элементов известны и фиксированы. Выясним, как влияют собственные погрешности элементов на погрешности сигналов.
Вычислим среднеквадратические отклонения входных сигналов точки ветвления,
Пусть точка ветвления имеет собственную погрешность $$\varepsilon_{tv}$$ и среднеквадратическое отклонение собственной погрешности равно $$\sigma_{tv}$$. Собственная погрешность $$\varepsilon_{tv}$$ добавляется к каждому сигналу, выходящему из точки ветвления.
Если при обратном распространении получаем дисперсии выходных сигналов точки ветвления $$D_1 ,D_2 ,...,D_k $$ не равные между собой, то в качестве дисперсии входного сигнала точки ветвления, с учетом собственной погрешности, выбирается $$\min \{D_i \}_{i = 1}^k - \sigma_{tv}^2$$.
Пусть среднеквадратическое отклонение собственной погрешности
Рассмотрим оба варианта.
Пусть погрешность $$\varepsilon_\varphi $$ добавляется к результату работы
$$D{\rm{(}}\varphi (A + \varepsilon ) + \varepsilon_\varphi {\rm{) = }}D{\rm{(}}\varphi (A + \varepsilon ){\rm{) + }}D(\varepsilon_\varphi ){\rm{ = }}\sigma_{own}^2 {\rm{+ }}\sigma_\varphi^2 {\rm{ = }}\sigma_1^2 {\rm{.}}.$$
Отсюда получаем, что дисперсия непосредственно выходного сигнала
Среднеквадратическое отклонение для входного сигнала
Пусть теперь собственная погрешность
$$M_{\varepsilon + \varepsilon_\varphi } = \int\limits_{- \infty }^\infty {(\varepsilon + \varepsilon_\varphi )}\cdot \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = 0$$
и дисперсию
$$D_{\varepsilon + \varepsilon_\varphi } = \int\limits_{- \infty }^\infty {(\varepsilon + \varepsilon_\varphi - M_{\varepsilon + \varepsilon_\varphi })^2 \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = \sigma^2 + \sigma_\varphi^2 }.$$
Вычислим математическое ожидание и дисперсию выходного сигнала
$$M_{\varphi (A + \varepsilon + \varepsilon_\varphi )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot (\varepsilon + \varepsilon_\varphi })) \cdot \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = \varphi (A) .$$
$$\begin{array}{l} \sigma_1^2 = D_{\varphi (A + \varepsilon + \varepsilon_\varphi )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot (\varepsilon + \varepsilon_\varphi ) - \varphi (A))^2 \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = }\\ {\rm{ }} = \varphi '(A)^2 (\sigma^2 + \sigma_\varphi^2 ) \\ \end{array}$$
Отсюда получаем$$(\sigma^2 + \sigma_\varphi^2 ) = \sigma_1^2 /\varphi '(A)^2 \Rightarrow \sigma = \sqrt[{ }]{{\sigma_1^2 /\varphi '(A)^2 - \sigma_\varphi^2 }} .$$
Перейдем к вычислению среднеквадратических отклонений входных сигналов сумматора. Пусть среднеквадратическое отклонение выходного сигнала сумматора равно $$\sigma $$, собственное среднеквадратическое отклонение погрешности сумматора равно $$\sigma_\Sigma$$.
Собственная погрешность сумматора может добавляться либо к выходному сигналу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i ) + \varepsilon_\Sigma,$$ либо к каждому входу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i + \varepsilon_\Sigma^i ),$$ где $$\varepsilon_\Sigma^i = \varepsilon_\Sigma /n$$.
Пусть собственная погрешность добавляется к выходному сигналу сумматора. Вычислим среднеквадратическое отклонение погрешностей для входных сигналов сумматора. Рассмотрим для этого дисперсию
$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = \sigma^2.$$
Для равномерного распределения среднеквадратических отклонений предполагаем, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) + D(\varepsilon_\Sigma ) = \\ = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 + \sigma_\Sigma^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - \sigma_\Sigma^2 }}{{\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}$$
Если будем рассматривать пропорциональное распределение среднеквадратических отклонений входных сигналов сумматора, то получим
$$\sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 + \sigma_\Sigma^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - \sigma_\Sigma^2 }}{n}} .$$
Пусть теперь собственное среднеквадратическое отклонение сумматора добавляется к каждому входу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i + \varepsilon_\Sigma^i ).$$
Вычислим среднеквадратическое отклонение погрешностей для входных сигналов сумматора. Рассмотрим для этого дисперсию$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = \sigma^2.$$
Для равномерного распределения среднеквадратических отклонений предполагаем, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) + D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 + \\ + \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot (\sigma_\Sigma^i )^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - (\sigma_\Sigma^i )^2 \cdot \Sigma_{i = 1}^n \alpha_i^2 }}{{\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}$$
Если будем рассматривать пропорциональное распределение среднеквадратических отклонений входных сигналов сумматора, то получим$$\begin{array}{l} \sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 + \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot (\sigma_\Sigma^i )^2 \Rightarrow \\ \sigma_i = \sqrt {\frac{{\sigma^2 - (\sigma_\Sigma^i )^2 \cdot \Sigma_{i = 1}^n \alpha_i^2 }}{n}}\\ \end{array}$$
Зная, как вычисляются среднеквадратические отклонения погрешностей для всех элементов стандартного нейрона, можно вычислить среднеквадратические отклонения погрешностей сигналов для всей сети. Если заданы среднеквадратические отклонения погрешностей для выходных сигналов сети, можно вычислить среднеквадратические отклонения погрешностей для последнего слоя сети. Когда вычислены среднеквадратические отклонения погрешностей всех входных сигналов последнего слоя сети, переходим к вычислению среднеквадратических отклонений погрешностей предпоследнего слоя и так далее.
Рассмотрим пример на рис. 6.10. Пусть дана сеть с тремя нейронами входного слоя, двумя нейронами скрытого слоя и одним 0.01. Среднеквадратические отклонения погрешностей по входам сумматора вычисляются с использованием формулы для равномерного распределения среднеквадратических отклонений.
(рис 6.10) $$\sum$$ - адаптивные сумматоры, $$\phi$$ - нелинейные преобразователи
Вычислим среднеквадратические отклонения для всех сигналов сети при данном векторе входных сигналов. Все вычисленные значения в этом примере округляются до двух знаков после запятой. На рис. 6.11 показаны вычисленные среднеквадратические отклонения для данного примера.
(рис 6.11) $$\sigma_1 = \frac{{\sigma_{out}}}{{|\varphi '(A)|}} = \frac{{0.01}}{{2/(2 + 0.32)^2 }} = 0.03;$$
$$\sigma_2 = \sigma_3 = \frac{{0.03}}{{0.35^2 + 0.69^2 }} = \frac{{0.03}}{{0.77}} = 0.04;$$
$$\sigma_4 = \frac{{0.04}}{{2/(2 + 0.14)^2 }} = \frac{{0.04}}{{0.44}} = 0.08 ;$$
$$\sigma_5 = \frac{{0.04}}{{2/(2 + 1.53)^2 }} = \frac{{0.04}}{{0.16}} = 0.23 ;$$
$$\sigma_6 = \frac{{0.08}}{{0.11^2 + 0.61^2 + 0.38^2 }} = \frac{{0.08}}{{0.7}} = 0.11;$$
$$\sigma_7 = \frac{{0.23}}{{0.73^2 + 0.53^2 + 0.87^2 }} = \frac{{0.23}}{{1.25}} = 0.18;$$
$$\sigma_8 = \sigma_9 = \sigma_{10} = \min \{\sigma_6 ,\sigma_7 \} = 0.11 ;$$
$$\sigma_{11} = \frac{{0.11}}{{2/(2 + 6.03)^2 }} = \frac{{0.11}}{{0.03}} = 3.55 ;$$
$$\sigma_{12} = \frac{{0.11}}{{2/(2 + 3.11)^2 }} = \frac{{0.11}}{{0.08}} = 1.43 ;$$
$$\sigma_{13} = \frac{{0.11}}{{2/(2 + 6.21)^2 }} = \frac{{0.11}}{{0.03}} = 3.67 ;$$
$$\sigma_{14} = \frac{{3.55}}{{0.3^2 + 0.95^2 + 0.64^2 }} = \frac{{3.55}}{{1.49}} = 2.38 ;$$
$$\sigma_{15} = \frac{{1.43}}{{0.28^2 + 0.75^2 }} = \frac{{1.43}}{{0.8}} = 1.79 ;$$
$$\sigma_{16} = \frac{{3.67}}{{0.54^2 + 0.41^2 + 0.28^2 }} = \frac{{3.67}}{{0.73}} = 5.03 ;$$
Таким образом, получены формулы для вычисления среднеквадратических отклонений погрешностей сигналов сети, в предположении, что погрешности являются независимыми случайными величинами.
Все изложенные выше соображения о выполнимости метода обратного распространения точности справедливы и для метода обратного распространения точности для среднеквадратических отклонений погрешностей с учетом собственных погрешностей элементов. Отличие состоит в способе вычисления промежуточных среднеквадратических отклонений погрешностей.
Как и выше, рассмотрим участок сети, изображенный на рис. 6.9. Для этого участка нам необходимо вычислить промежуточное среднеквадратическое отклонение погрешности $$\sigma^{part}$$.
Пусть собственное среднеквадратическое отклонение погрешности сумматора $$\Sigma_1 $$ равно $$\sigma_{\Sigma_1 }$$, собственное среднеквадратическое отклонение погрешности
Рассмотрим сначала вариант, когда собственные погрешности элементов добавляются к выходным сигналам этих элементов. В этом случае среднеквадратическое отклонение погрешности входного сигнала
Среднеквадратическое отклонение погрешности $$\sigma^{part}$$, которое придет к входу сумматора $$\Sigma_2$$ при прямом функционировании сети, начиная от выходного сигнала сумматора $$\Sigma_1 $$ ( рис. 6.9), равно
$$\sigma^{part} = \sqrt {\sigma_{\Sigma_1 }^2 \cdot \varphi '(A)^2 + \sigma_\varphi^2 + \sigma_{tv}^2 }.$$
Среднеквадратические отклонения погрешностей $$\sigma_i^{part}$$ придут к каждому входу сумматора $$\Sigma_2$$. Если сумма квадратов среднеквадратических отклонений $$\sigma_i^{part}$$ с коэффициентами $$\alpha_i $$ меньше квадрата среднеквадратического отклонения погрешности выходного сигнала сумматора ( $$\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 < \sigma^2 $$ ), то вычисляем разность $$\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 - \sigma^2$$. Оставшуюся часть квадрата среднеквадратического отклонения погрешности выходного сигнала сумматора $$\sigma $$ распределяем равномерно по всем входам, чтобы среднеквадратические отклонения погрешностей входов превышали собственные среднеквадратические отклонения погрешностей элементов на одну и ту же величину $$\xi$$. Тогда получаем следующую формулу
$$\Sigma_{i = 1}^n \alpha_i^2 \cdot ((\sigma_i^{part})^2 + \xi^2 ) = \sigma^2 \Rightarrow \xi = \sqrt {(\sigma^2 - \Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 )/\Sigma_{i = 1}^n \alpha_i^2 } .$$
Среднеквадратические отклонения погрешностей по входам сумматора будут равны $$\sigma_i = \sqrt {(\sigma_i^{part})^2 + \xi^2 }$$.
Пусть теперь собственные погрешности элементов добавляются к входным сигналам этих элементов. В этом случае среднеквадратическое отклонение погрешности входного сигнала
Среднеквадратическое отклонение погрешности $$\sigma^{part}$$ в этом случае равно
$$\sigma^{part} = \sqrt {\left( {\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_{\Sigma_1 }^i )^2 + \sigma_\varphi^2 }\right) \cdot |\varphi '(A)|^2 + \sigma_{tv}^2 } .$$
Величины $$\xi $$ для вычисления среднеквадратических отклонений погрешностей входных сигналов $$\sigma_i $$ вычисляются как было показано выше.
Промежуточные среднеквадратические отклонения погрешностей $$\sigma^{part}$$ можно вычислять как для участков сети, так и для сети в целом.
Таким образом, мы получили формулы для вычисления среднеквадратических отклонений погрешностей сигналов нейронной сети с собственными погрешностями элементов.
В методе обратного распространения точности приведены формулы для вычисления погрешностей сигналов сети. Эти формулы рассчитаны для сигналов, полученных при прямом функционировании сети с одним примером из
R - действительное число.Погрешности первого типа вычисляются по формулам, описанным в методе обратного распространения точности.
Для того, чтобы вычислить погрешности второго типа, вычисляем погрешности для каждого примера из
Рассмотрим, как вычисляются допустимые погрешности третьего и четвертого типов. В формулах для вычисления допустимых погрешностей входной сигнал используется только у
Для начала рассмотрим допустимые погрешности третьего типа, то есть те допустимые погрешности элементов сети, которые получаются при входных сигналах, принадлежащих прямоугольной области. Нам известны интервалы, в которых изменяются входные сигналы сети. Требуется вычислить интервалы для входных сигналов каждого элемента сети. Будем вычислять их следующим образом. При прохождении интервалов через сумматор концы интервалов соответствующих входов умножаются на веса
Таким образом вычисляются допустимые погрешности сигналов сети для прямоугольной области входных сигналов сети.
Рассмотрим пример, в котором будем вычислять погрешности третьего типа. Воспользуемся нейросетью, изображенной на рис. 6.9. Нейросеть имеет такие же веса
$$I_1 {\rm{ = [ - 2}}{\rm{,6]; }}I_2 {\rm{ = [3}}{\rm{,11]; }}I_3 {\rm{ = [1}}{\rm{.5}}{\rm{,4]; }}I_4 {\rm{ = [2}}{\rm{,7]; }}I_5 {\rm{ = [4}}{\rm{,10]; }}I_6 {\rm{ = [ - 5}}{\rm{,5]; }}\\ I_7 {\rm{ = [1}}{\rm{,8]; }}I_8 {\rm{ = [ - 4}}{\rm{,6]}}{\rm{.}}$$
(рис 6.12) Сигналы сети изменяются в следующих интервалах:
$$\begin{array}{l} I_9 {\rm{ = [ - 0}}{\rm{.6}}{\rm{,3}}{\rm{.6]; }}I_{10}{\rm{ = [2}}{\rm{.85}}{\rm{,10}}{\rm{.45]; }}I_{11}{\rm{ = [0}}{\rm{.96}}{\rm{,2}}{\rm{.56]; }}I_{12}{\rm{ = [0}}{\rm{.56}}{\rm{,1}}{\rm{.96];}}\\ I_{13}{\rm{ = [3}}{\rm{,7}}{\rm{.5]; }}I_{14}{\rm{ = [ - 2}}{\rm{.7}}{\rm{,2}}{\rm{.7]; }}I_{15}{\rm{ = [0}}{\rm{.41}}{\rm{,3}}{\rm{.28]; }}I_{16}{\rm{ = [ - 1}}{\rm{.12}}{\rm{,1}}{\rm{.68]; }}\\ I_{17}{\rm{ = [3}}{\rm{.21}}{\rm{,16}}{\rm{.61]; }}I_{18}{\rm{ = [3}}{\rm{.56}}{\rm{,9}}{\rm{.46]; }}I_{19}{\rm{ = [ - 3}}{\rm{.41}}{\rm{,7}}{\rm{.66]; }}I_{20}{\rm{ = [0}}{\rm{.62}}{\rm{,0}}{\rm{.89];}}\\ I_{21}{\rm{ = [0}}{\rm{.64}}{\rm{,0}}{\rm{.83]; }}I_{22}{\rm{ = [ - 0}}{\rm{.63}}{\rm{,0}}{\rm{.79]; }}I_{23}{\rm{ = [0}}{\rm{.07}}{\rm{,0}}{\rm{.1]; }}I_{24}{\rm{ = [0}}{\rm{.45}}{\rm{,0}}{\rm{.65];}}\\ I_{25}{\rm{ = [0}}{\rm{.39}}{\rm{,0}}{\rm{.51]; }}I_{26}{\rm{ = [0}}{\rm{.34}}{\rm{,0}}{\rm{.44; }}I_{27}{\rm{ = [ - 0}}{\rm{.2}}{\rm{,0}}{\rm{.26]; }}I_{28}{\rm{ = [ - 0}}{\rm{.55}}{\rm{,0}}{\rm{.69];}}\\ I_{29}{\rm{ = [0}}{\rm{.26}}{\rm{,0}}{\rm{.86]; }}I_3 {\rm{ = [0}}{\rm{.24}}{\rm{,1}}{\rm{.78]; }}I_{31}{\rm{ = [0}}{\rm{.12}}{\rm{,0}}{\rm{.3]; }}I_{32}{\rm{ = [0}}{\rm{.1}}{\rm{,0}}{\rm{.47];}}\\ I_{33}{\rm{ = [0}}{\rm{.04}}{\rm{,0}}{\rm{.1]; }}I_{34}{\rm{ = [0}}{\rm{.07}}{\rm{,0}}{\rm{.32]; }}I_{35}{\rm{ = [0}}{\rm{.11}}{\rm{,0}}{\rm{.42]; }}I_{36}{\rm{ = [0}}{\rm{.05}}{\rm{,0}}{\rm{.17]}}{\rm{.}}\\ \end{array}$$
Мы можем вычислить максимум производной
$$\max \varphi '_{[3.21,16.61]} = 0.07;$$ $$\max \varphi '_{[3.56,9.46]} = 0.06;$$
$$\max \varphi '_{[ - 3.41,7.66]} = 0.07;$$ $$\max \varphi '_{[0..26,0.86]} = 0.39;$$
$$\max \varphi '_{[0..24,1.78]} = 0.4;$$ $$\max \varphi '_{[0.11,0.42]} = 0.45$$.
Зная эти величины, можно вычислить допустимые погрешности третьего типа.
Выясним теперь, как вычисляются допустимые погрешности сигналов четвертого типа, то есть погрешности, получающиеся, когда область входных сигналов сети является шаром.
Рассуждения, приведенные выше для допустимых погрешностей третьего типа, справедливы и для допустимых погрешностей четвертого типа. Отличие состоит в том, что нам необходимо "развернуть" шаровую область таким образом, чтобы получить интервалы, в которых изменяются входные сигналы элементов.
Рассмотрим для этого квадраты выходных сигналов сумматоров входного слоя сети. Используя неравенство Коши, получаем
$$A^2 = (\Sigma_{i = 1}^k \alpha_i x_i )^2 \le \Sigma_{i = 1}^k \alpha_i^2 \cdot \Sigma_{i = 1}^k x_i^2 \le R^2 \cdot \Sigma_{i = 1}^k \alpha_i^2 \Rightarrow |A| \le R\sqrt {\Sigma_{i = 1}^k \alpha_i^2 },$$
где $$k$$ - число входных сигналов сумматора. Получили интервалы, в которых изменяются выходные сигналы сумматоров входного слоя нейронной сети. Используя эти интервалы, можем вычислить интервалы, в которых изменяются входные сигналы элементов сети. Затем, как уже было описано выше, вычисляем допустимые погрешности входных сигналов
Как метод обратного распространения точности, так и метод обратного распространения среднеквадратических отклонений погрешностей можно применять к сетям не только слоистой структуры, но также к циклическим и полносвязным сетям. Рассматривая такт функционирования сети как слой, "разворачиваем" циклические и полносвязные сети в сети слоистой структуры. Вычисляем допустимые погрешности (среднеквадратические отклонения погрешностей) для сигналов стандартных нейронов каждого слоя. Затем "сворачиваем" слоистую сеть в исходную. Так как каждый слой полученной сети на самом деле является тактом функционирования, то для каждого сигнала сети на разных тактах получаем разные допустимые погрешности (среднеквадратические отклонения погрешностей). В качестве допустимой погрешности (среднеквадратического отклонения погрешности) для каждого сигнала сети выбирается минимум этих величин по всем тактам.
Идея этих методов возникла при решении задачи бинаризации нейронной сети. Бинаризация состоит в построении такой сети, которая функционирует так же, как и исходная, но имеет веса 0 или 1 (вариант: +1 или -1 ).
Но метод обратного распространения точности и метод обратного распространения среднеквадратических отклонений погрешностей сигналов сети интересен не только и не столько в приложении к задаче бинаризации. Их можно применять при решении ряда других задач. Например, вычислив допустимые погрешности (среднеквадратические отклонения погрешностей) для всей сети, можно выяснить, в каких пределах можно варьировать входные данные и сигналы на любом участке сети, чтобы вектор выходных сигналов при этом изменился не более, чем на заданную величину.
Метод обратного распространения точности для среднеквадратических оценок погрешности позволяет получать формулы для вычисления погрешностей сигналов сети, налагающие менее жесткие ограничения на величину погрешностей по сравнению с гарантированными интервальными оценками погрешностями. Если для гарантированных интервальных оценок при обратном прохождении слоев допустимые погрешности сигналов уменьшаются, то для среднеквадратических оценок погрешностей есть ситуации, когда погрешности увеличиваются от последнего слоя к первому. Если погрешности сигналов являются независимыми случайными величинами, то, как показано в примере, даже при больших погрешностях входных сигналов получаются достаточно точные выходные сигналы.
Таким образом, решение задачи вычисления допустимых погрешностей (среднеквадратических отклонений погрешностей) для каждого сигнала сети методом обратного распространения точности удивительно похоже на метод обратного распространения ошибки, но с другими правилами прохождения элементов. Метод позволяет формулировать требования к точности вычисления и реализации технических устройств, если известны требования к точности выходных сигналов сети.
ВЦК СО РАН, КГУ
Рассматриваются нейронные сети слоистой структуры, состоящие из слоев стандартных нейронов. Изучаются ошибки, возникающие при технической реализации сетей, а также при шумах и повреждениях.
Определены максимально допустимые погрешности, возможные для сигналов и параметров каждого элемента сети, исходя из условия, что вектор выходных сигналов сети должен вычисляться с заданной точностью. Используются два типа оценок погрешности: гарантированные
Показано, что оценки допустимых погрешностей можно получить в ходе специального процесса "обратного распространения точности". Он состоит в функционировании сети с той же системой связей, но от выходов к входам и с заменой элементов на двойственные. Эта двойственность принципиально отличается от той, которая используется в классическом методе вычисления градиентов оценки с помощью обратного распространения ошибок (back
С помощью полученных результатов объясняется наблюдаемая высокая устойчивость нейронных сетей к шумам и разрушениям.
В настоящее время существуют различные технические реализации нейронных сетей, в том числе нейроимитаторы, то есть
Существует подход, получающий все большее распространение, при котором сначала конструируется и обучается нейроимитатор, а затем создается техническая реализация полученной нейросети с уже вычисленными весами
Нейроимитатор, работающий на универсальных цифровых ЭВМ, позволяет вычислять веса 0 или 1 (связь либо есть, либо нет - без всяких весов
При аналоговых реализациях, различных упрощениях архитектуры (в том числе - бинаризации) технически сложно получить результат работы сети той же точности, что и результат работы нейроимитатора [6.3, 6.4, 6.5]. Поэтому следует ограничится некоторой точностью, с которой может работать сеть, то есть выбрать интервал, в котором могут изменяться значения вектора выходных сигналов сети.
Оценка погрешностей сигналов сети очень полезна при решении задачи упрощения нейронной сети. Зная допустимую погрешность выходного сигнала какого-либо элемента сети, мы можем заменять его более простыми, но менее точными элементами так, чтобы в итоге ошибка не превышала заданную.
Хорошо известно, что нейронные сети могут проявлять исключительную устойчивость к помехам и разрушениям. Иногда эти эффекты называют голографическими свойствами нейронных сетей, подразумевая, что полезные навыки распределены по сети примерно так же, как изображение - по голографической пластинке, и могут сохраняться при значительных разрушениях.
Как будет показано ниже, при прямом прохождении сигналов по достаточно большой сети погрешности гасятся: при больших погрешностях входных сигналов выходные сигналы сети могут иметь сравнительно малые погрешности. Это объясняет устойчивость нейронных сетей к шумам и повреждениям.
Рассмотрим два подхода к решению задачи вычисления погрешностей сигналов сети. При первом подходе ( гарантированные интервальные оценки ) вычисляются допустимые интервалы для погрешностей сигналов сети такие, что погрешность вектора выходных сигналов гарантированно (с вероятностью 1 ) не превышает заданную. При втором подходе ( среднеквадратические оценки погрешностей ) вычисляются среднеквадратические отклонения погрешностей сигналов. При этом часто используется предположение о том, что погрешности различных сигналов являются независимыми случайными величинами.
Существует принципиальное различие между этими двумя типами оценок. Гарантированные
Важное различие между двумя типами оценок демонстрируют следующие формулы сложения.
x, y определены гарантированные интервалы значений $${\rm{x = x}}_0 {\rm{\pm \bigtriangleup}}_x $$, $${\rm{y = y}}_0 {\rm{\pm \bigtriangleup}}_y$$. Тогда для их суммы имеем гарантированную оценку: $${\rm{x + y = x}}_0 {\rm{+ y}}_0 {\rm{\pm (\bigtriangleup}}_x {\rm{+ \bigtriangleup}}_y {\rm{)}}$$, то есть $${\rm{\bigtriangleup}}_{x + y}{\rm{ = \bigtriangleup}}_x {\rm{+ \bigtriangleup}}_y$$.x, y определены среднеквадратичные уклонения $$\sigma_x $$, $$\sigma_y$$. Тогда $$\sigma_{x + y}{\rm{ = (}}\sigma_x^2 {\rm{+ }}\sigma_y^2 {\rm{)}}^{1/2}$$.Предполагаем, что сеть имеет слоистую структуру. Это самоограничение позволит несколько сократить изложение, но не влияет на общность рассмотрения - исследование любой сети может быть формально сведено к изучению слоистых сетей.
Сеть слоистой структуры состоит из слоев стандартных нейронов, связанных между собой синапсами с весами, полученными при обучении. Причем сигналы передаются только в одном направлении, с предыдущего слоя на следующий. Под стандартным нейроном [6.1, 6.2] понимается набор элементов, состоящий из адаптивного сумматора,
(рис 6.1) Стандартный нейрон Так как мы имеем дело с сетями слоистой структуры, состоящими из слоев стандартных нейронов, то выходные сигналы одного слоя являются входными сигналами другого слоя. В свою очередь, внутри самого стандартного нейрона выходной сигнал одного элемента (например, сумматора) является входным сигналом другого элемента (например,
Стандартный нейрон является типичным участком любой нейронной сети. Поэтому достаточно выяснить, как вычисляются допустимые погрешности для элементов стандартного нейрона. В результате получим возможность вычислить допустимые погрешности для любого участка сети, двигаясь по сети от нейрона к нейрону.
Пусть нам заданы допустимые
Последним элементом стандартного нейрона является точка ветвления, поэтому начинаем рассмотрение метода обратного распространения точности именно с нее.
Точка ветвления имеет несколько выходов. Пусть для каждого ее выхода задана допустимая погрешность $$\varepsilon_i $$ ( i - номер выхода). Для того, чтобы удовлетворить всем этим ограничениям погрешности, необходимо и достаточно, чтобы входной сигнал точки ветвления имел погрешность $$\varepsilon = \min \{\varepsilon_i \}_{i = 1}^k$$. Таким образом, при обратном распространении точности точка ветвления заменяется на двойственный элемент, выбирающий из поступающих сигналов $$\varepsilon_i $$ (т.е. погрешностей) минимальный.
Следующим элементом стандартного нейрона является
Ввиду непрерывности и дифференцируемости
Пойдем традиционным путем, оценивая допустимую погрешность в линейном приближении: $$\varphi (A_0 \pm \varepsilon ) \approx \varphi (A_0 ) \pm \varphi '(A_0 ) \cdot \varepsilon$$. По условию
$$\varepsilon_1 \ge |\varphi (A_0 \pm \varepsilon ) - \varphi (A_0 )| \approx |\varphi '(A_0 ) \cdot \varepsilon |.$$
Пользуясь этим неравенством, подберем $$\varepsilon $$ следующим образом: $$\varepsilon \le \varepsilon_1 /|\varphi '(A_0 )|$$. В этом случае формула для вычисления допустимой погрешности более простая, но менее точная.
Получили погрешность, допустимую для входного сигнала
Двойственный к нелинейному преобразователю элемент - просто линейная связь! Ее вес равен $$1/|\varphi '(A_0 )|$$ для линейного приближения в формуле ошибки или $$1/\max |\varphi '(x)|$$ - в более общем случае (в последней формуле максимум берется по отрезку $$x \in [\varphi^{- 1}(y - \varepsilon_1 ),\varphi^{- 1}(y + \varepsilon_1 )]$$ - так что линейность здесь уже кажущаяся).
Перейдем к следующему элементу стандартного нейрона - адаптивному сумматору с $$n$$ синапсами, являющимися его входами. Адаптивный сумматор - это сумматор, в котором входные сигналы $$x_i $$ суммируются с весами $$\alpha_i$$.
Каждый вход $$x_i $$ сумматора $$\Sigma_0 $$ имеет некоторую погрешность $$\varepsilon_i $$, которая вносит свой вклад в допустимую погрешность выходного сигнала сумматора. Эти погрешности могут иметь различные величины в зависимости от того, какой способ распределения допустимой погрешности выходного сигнала по входам сумматора мы выберем. Погрешности по входам сумматора могут распределяться равномерно, пропорционально и приоритетно.
Рассмотрим сначала равномерное распределение. Для этого полагаем, что на всех входах погрешности равны между собой $$(\varepsilon_1 = \varepsilon_i , i = 2,...,n)$$. Пусть $$A_0 = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i $$ - выходной сигнал сумматора без погрешностей. Тогда $$\{A'_0 \}$$ - множество выходных сигналов сумматора, получающихся, когда вектор входных сигналов сумматора пробегает вершины $$n$$ - мерного куба с центром в точке $$(x_1 ,x_2 ,...,x_n )$$ и ребром длины$$2\varepsilon_1 {\rm{: }}\{A'_0 \} = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i \pm \varepsilon_i ){\rm{ = }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i {\rm{+ }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_i ){\rm{ = }}A_0 {\rm{+ }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i ,$$ где $$z_i \in \{- 1,1\}$$. Нам требуется, чтобы все множество значений $$\{A'_0 \}$$ попало в интервал $$[A_0 - \varepsilon ,A_0 + \varepsilon ]$$. Для этого необходимо, чтобы$$\max |\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i |{\rm{ = }}\mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_i \le \varepsilon ,$$ где максимум берется по всем $$z_i$$. Из этого неравенства и сделанного выше предположения о $$\varepsilon_i $$ получаем требуемую оценку для равномерного распределения $$\varepsilon_i $$ по входам сумматора:$$\varepsilon_i \le \varepsilon /\mathop \Sigma \limits_{i = 1}^n |\alpha_i | .$$
При пропорциональном распределении погрешностей допустимая погрешность выходного сигнала сумматора делится сначала на число входов, а затем для каждого входа делится на соответствующий вес синапса. То есть погрешности распределяются пропорционально весам соответствующих
При приоритетном распределении погрешностей сначала назначаются погрешности для тех входов, которые наиболее значимы по какому-либо признаку, а затем оставшуюся часть допустимой погрешности выходного сигнала сумматора распределяют между оставшимися входами равномерно или пропорционально.
Аналогично можно вычислить допустимые погрешности для входных сигналов сумматора любого стандартного нейрона, если известны погрешности для выходного сигнала сумматора.
Для адаптивного сумматора можно вычислять как допустимые погрешности входных сигналов сумматора, так и допустимые погрешности весов
При пропорциональном распределении допустимые погрешности для весов
При приоритетном распределении сначала назначаются допустимые погрешности для тех весов
При обратном распространении точности имеет место специфическая двойственность - элементы сети заменяются на двойственные им. Однако, эта двойственность отличается от той, с которой мы встречаемся при изучении обратного распространения ошибки для вычисления
Теперь мы знаем, каким образом вычислять гарантированную
Зная, как вычисляются допустимые погрешности для всех элементов стандартного нейрона, можно вычислить допустимые погрешности сигналов для всей сети. Рассмотрим участок сети, состоящий из сумматора $$\Sigma_0 $$ и
(рис 6.5) Если заданы допустимые погрешности для выходных сигналов сети, можно вычислить допустимые погрешности для последнего слоя сети. Когда вычислены допустимые погрешности всех входных сигналов последнего слоя сети, переходим к вычислению допустимых погрешностей предпоследнего слоя и так далее. Переходя по сети в обратном направлении от слоя к слою, мы можем вычислить допустимые погрешности всех сигналов сети, в том числе допустимые погрешности входных сигналов.
Мы рассмотрели, как изменяются погрешности сигналов при прохождении через элементы сети. Предположим теперь, что не только сигналы имеют погрешности, но и все элементы сети передают приходящие к ним сигналы с некоторыми погрешностями. Пусть собственные погрешности элементов известны и фиксированы. Выясним, как влияют собственные погрешности элементов на погрешности сигналов.
Bыясним, как действуют элементы сети, имеющие собственные погрешности, при прямой работе сети.
Точка ветвления может либо вообще не иметь погрешности, либо она имеет собственную погрешность $$\varepsilon_{tv}$$. В последнем случае сигнал $$x$$ при прохождении через точку ветвления будет изменяться, оставаясь в интервале $$x \pm \varepsilon_{tv}$$ ( рис. 6.6).
(рис 6.6) Предположим, что сумматор имеет собственную погрешность $$\varepsilon_\Sigma$$. Тогда возможны следующие варианты:
(рис 6.7) Считаем при этом, что погрешности $$\varepsilon_\Sigma^i $$ равны между собой и равны $$\varepsilon_\Sigma {\rm{/}}n $$, где $$n$$ - число входов сумматора.
Пусть собственная погрешность
(рис 6.8) Мы выяснили как вычисляются допустимые погрешности сигналов сети. При этом мы не выделяли особо тот вклад, который вносят в погрешность сигнала сами элементы. Рассмотрим теперь, как вычисляются допустимые погрешности сигналов сети при обратном распространении точности с учетом собственных погрешностей элементов стандартного нейрона.
Начнем вычисление допустимых погрешностей сигналов сети с учетом собственных погрешностей элементов с точки ветвления. Пусть точка ветвления имеет собственную погрешность $$\varepsilon_{tv}$$. Предположим, что допустимые погрешности выходных сигналов точки ветвления равны $$\varepsilon_1 \pm \varepsilon_{tv},\varepsilon_2 \pm \varepsilon_{tv},...,\varepsilon_k \pm \varepsilon_{tv}$$. Для увеличения точности вычислений необходимо накладывать на допустимые погрешности наиболее жесткие требования. Поэтому в качестве допустимой погрешности входного сигнала точки ветвления при обратном распространении следует выбирать погрешность $$\min \{\varepsilon_i - \varepsilon_{tv}\}_{i = 1}^k$$.
Следующий элемент стандартного нейрона -
Предположим теперь, что собственная погрешность
$$\varepsilon \le \varepsilon_1 /|\varphi '(x)| - \varepsilon_\varphi ,$$ где $$x \in \left[ {\varphi^{- 1}(y - \varepsilon_1 ) - \varepsilon_\varphi ,\varphi^{- 1}(y + \varepsilon_1 ) + \varepsilon_\varphi }\right]$$.
Рассмотрим допустимую погрешность в линейном приближении:
$$\varphi (A_0 \pm (\varepsilon + \varepsilon_\varphi )) \approx \varphi (A_0 ) \pm \varphi '(A_0 ) \cdot (\varepsilon + \varepsilon_\varphi ).$$
По условию
$$\varepsilon_1 \ge |\varphi (A_0 \pm (\varepsilon + \varepsilon_\varphi )) - \varphi (A_0 )| \approx |\varphi '(A_0 ) \cdot (\varepsilon + \varepsilon_\varphi )|.$$
Получаем:$$(\varepsilon + \varepsilon_\varphi ) \le \varepsilon_1 /|\varphi '(A_0 )|$$ или$$\varepsilon \le \varepsilon_1 /|\varphi '(A_0 )| - \varepsilon_\varphi .$$
И, наконец, перейдем к вычислению допустимых погрешностей входных сигналов сумматора. Рассмотрим вариант, при котором собственная погрешность сумматора $$\varepsilon_\Sigma $$ добавляется к его выходному сигналу, и допустимая погрешность выходного сигнала сумматора равняется $$\varepsilon$$. При обратном распространении точности получаем, что равномерно, пропорционально и приоритетно по выше полученным формулам распределяется погрешность $$\varepsilon - \varepsilon_\Sigma$$.
Если же собственная погрешность сумматора пропорционально распределяется по его входам, и допустимая погрешность выходного сигнала сумматора равняется $$\varepsilon $$, то допустимые погрешности для входов сумматора вычисляются следующим образом. Пусть $$A_0 = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i $$ - выходной сигнал сумматора без погрешностей. Тогда $$\{A'_0 \}$$ - выходные сигналы сумматора с учетом собственных погрешностей сумматора $$\varepsilon_\Sigma^i $$ и погрешностей входных сигналов $$\varepsilon_i $$:
$$\begin{array}{l} \{A'_0 \}{\rm{ = }}\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i \pm \varepsilon_i \pm \varepsilon_\Sigma^i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_i ) + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot ( \pm \varepsilon_\Sigma^i ) = \\ = A_0 + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i \cdot z_i , \\ \end{array}$$
где $$z_i \in {\rm{\{ - 1}}{\rm{,1 \}}}$$. Для того, чтобы все множество $$\{A'_0 \}$$ попало в интервал$$[A_0 - \varepsilon ,A_0 + \varepsilon ]$$ необходимо, чтобы
$$\max |\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i \cdot z_i + \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i \cdot z_i = \mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_i + \mathop \Sigma \limits_{i = 1}^n |\alpha_i | \cdot \varepsilon_\Sigma^i \le \varepsilon , ,$$
где максимум берется по всем $$z_i$$. Из этого неравенства, предполагая что $$\varepsilon_i $$ равны между собой, получаем требуемую оценку для $$\varepsilon_i $$:
$$\varepsilon_i \le (\varepsilon - \varepsilon_\Sigma^i \cdot \mathop \Sigma \limits_{i = 1}^n |\alpha_i |)/\mathop \Sigma \limits_{i = 1}^n |\alpha_i |. .$$
Мы получили формулы для вычисления допустимых погрешностей сигналов для любого участка сети с учетом того, что все элементы имеют собственные погрешности, которые вносят свой вклад в погрешность выходного сигнала этих элементов.
Ранее был рассмотрен метод обратного распространения точности с учетом собственных погрешностей элементов сети. Но этот метод может быть использован не для всех сетей. При применении метода может возникнуть ситуация, когда собственная погрешность элемента превышает погрешность сигнала, который должен выходить из этого элемента. Например, если собственная погрешность нейрона $$\varepsilon_\varphi $$, которая добавляется к выходному сигналу нейрона, превышает допустимую погрешность его выходного сигнала $$\varepsilon_1 $$, то по формуле $$\varepsilon \le (\varepsilon_1 - \varepsilon_\varphi )/|\varphi '(A)|$$, где $$\varepsilon $$ - погрешность входного сигнала
Рассмотрим конкретную сеть с заданными собственными погрешностями элементов. Нужно определить, возможно ли провести вычисления допустимых погрешностей методом обратного распространения точности с учетом собственных погрешностей элементов для всех сигналов сети, начиная с выходных и кончая входными сигналами. Для этого нужно выполнить прямое функционирование сети с заданными собственными погрешностями элементов и с точным вектором входных сигналов сети. Если полученный вектор выходных сигналов при этом будет отличаться от точного вектора выходных сигналов более, чем на $$\delta $$ (допустимую погрешность выходных сигналов сети), то с такими собственными погрешностями элементов для данной сети метод обратного распространения точности невыполним. В этом случае можно либо увеличить допустимую погрешность выходных сигналов $$\delta $$, либо уменьшить собственные погрешности элементов.
Нам нужно определить, как вычислять допустимые погрешности сигналов, если это невозможно сделать методом обратного распространения точности. Выясним, всегда ли возможно распределить их так, чтобы собственные погрешности элементов не превышали допустимых погрешностей выходных сигналов этих элементов, и при этом погрешность выходных сигналов сети не превышала $$\delta$$.
Для точки ветвления и
Если на каком-то из элементов (
Есть ситуации, на которые влиять невозможно. К ним относятся следующие:
Если собственная погрешность превышает допустимую погрешность выходного сигнала у элемента скрытого или входного слоя, то можно попытаться распределить допустимые погрешности так, чтобы продолжить вычисления.
Нам необходимо оптимально распределить допустимые погрешности по входам сумматора, то есть распределить их таким образом, чтобы по каждому входу допустимые погрешности входных сигналов максимально превышали собственные погрешности элементов, чьи выходные сигналы являются входными сигналами сумматора.
Рассмотрим участок сети между двумя сумматорами $$\Sigma_1 $$ и $$\Sigma_2 $$ ( рис. 6.9). Пусть $$\varepsilon $$ - это погрешность выходного сигнала сумматора $$\Sigma_2 $$, A - точный выходной сигнал
(рис 6.9) Предположим сначала, что собственные погрешности элементов добавляются к выходным сигналам этих элементов. То есть погрешность входного сигнала
Для каждого входа сумматора $$\Sigma_2 $$ нам необходимо вычислить такие допустимые погрешности, которые позволили бы провести вычисления допустимых погрешностей для точки ветвления,
Пусть сумматор $$\Sigma_1 $$ имеет собственную погрешность $$\varepsilon_{\Sigma_1 }$$,
Вычислим погрешность $$\varepsilon^{part}$$, которая придет к входу сумматора $$\Sigma_2 $$ при прямом функционировании сети, начиная от выходного сигнала сумматора $$\Sigma_1$$.
$$\varepsilon^{part} = \varepsilon_{\Sigma_1 }\cdot |\varphi '(A)| + \varepsilon_\varphi + \varepsilon_{tv}.$$
Вычисляем допустимые погрешности $$\varepsilon_i $$ для входов сумматора $$\Sigma_2 $$ при пропорциональном и равномерном распределении. Если хотя бы для одного распределения по каждому входу $$\varepsilon_i^{part} < \varepsilon_i $$, то можно продолжать вычисления, используя метод обратного распространения точности с учетом собственных погрешностей элементов сети. Если же для обоих распределений хотя бы по одному входу $$\varepsilon_i^{part} > \varepsilon_i $$, то необходимо распределять допустимые погрешности по входам сумматора $$\Sigma_2 $$ следующим образом.
Если сумма с коэффициентами $$\alpha_i $$ погрешностей $$\varepsilon_i^{part}$$ меньше допустимой погрешности выходного сигнала ( $$\Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part} < \varepsilon $$ ), то вычисляем разность $$\Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part}- \varepsilon$$. Оставшуюся часть допустимой погрешности выходного сигнала сумматора $$\varepsilon $$ распределяем равномерно по всем входам, чтобы допустимые погрешности входов превышали погрешности элементов на одну и ту же величину $$\xi .$$ Тогда
$$\Sigma_{i = 1}^n \alpha_i \cdot (\varepsilon_i^{part}+ \xi ) = \varepsilon \Rightarrow \xi = (\varepsilon - \Sigma_{i = 1}^n \alpha_i \cdot \varepsilon_i^{part})/\Sigma_{i = 1}^n \alpha_i.$$
Допустимые погрешности входных сигналов сумматора будут равны $$\varepsilon_i = \varepsilon_i^{part}+ \xi$$.
Пусть теперь собственные погрешности элементов добавляются к их входным сигналам. Допустимая погрешность входного сигнала
В этом случае погрешности $$\varepsilon_i^{part}$$ вычисляются по формуле:
$$\varepsilon_i^{part} = (\varepsilon_{\Sigma_1 }\cdot \Sigma_{i = 1}^n |\alpha_i | - \varepsilon_\varphi ) \cdot |\varphi '(A)| + \varepsilon_{tv}.$$
Остальные вычисления для допустимых погрешностей $$\varepsilon_i $$ входных сигналов сумматора $$\Sigma_2 $$ проводятся аналогично.
Возможен другой подход. Можно вычислять погрешности $$\varepsilon_i^{part}$$ для всей сети сразу. Погрешности $$\varepsilon_i^{part}$$, вычисленные для одного слоя сети, суммируются с коэффициентами $$\alpha_i $$ того сумматора, через который они должны проходить. Полученная погрешность используется дальше для вычисления погрешности $$\varepsilon_i^{part}$$ следующего слоя. При обратном прохождении сети для входов каждого сумматора будет известно, какие погрешности $$\varepsilon_i^{part}$$ приходят по каждому входу, и как следует распределять допустимые погрешности сигналов. При этом погрешности $$\varepsilon_i^{part}$$ вычисляются один раз и не требуется делать пересчет.
Таким образом, мы рассмотрели как распределяются допустимые погрешности сигналов для сетей с собственными погрешностями элементов. Используется встречное распространение погрешностей $$\varepsilon_i^{part}$$, которые насчитываются при прямом функционировании сети, и допустимых погрешностей сигналов, которые вычисляются в обратном направлении.
Рассмотрим обученную нейросеть с вычисленными весами
Рассмотрим теперь эту же сеть, но предположим, что все сигналы сети имеют некоторые погрешности. Пусть $$\{y'\}$$ - вектор выходных сигналов, полученный при том же векторе входных сигналов $$\{z^{in}\}$$, но с погрешностями внутренних сигналов сети.
Предполагаем, что внутри каждого слоя погрешности сигналов $$\varepsilon_i $$ являются независимыми случайными величинами. Это предположение позволяет налагать менее жесткие требования при вычислении погрешностей сигналов.
Пусть нам задана $$\delta $$ - допустимая погрешность выходных сигналов сети. То есть вектор $$\{y'\}$$ может отличаться от вектора $$\{y^{out}\}$$ не более, чем на $$\delta$$. Будем считать $$\delta $$ величиной среднеквадратического отклонения $$\sigma_{out}$$ выходных сигналов сети $$\{y'\}$$.
Нам нужно выяснить, каким образом могут распределяться дисперсии сигналов при заданном $$\sigma_{out}$$ и вычислить среднеквадратические отклонения $$\sigma_i = \sqrt {D_i }$$ для всех сигналов сети такие, чтобы среднеквадратическое отклонение вектора выходных сигналов $$\{y'\}$$ равнялось $$\sigma_{out}$$.
Зная среднеквадратическое отклонение выходных сигналов, можем вычислить дисперсию выходных сигналов $$D_{out} = \sigma_{out}^2 $$, а затем, переходя от элемента к элементу в обратном порядке, вычислим дисперсии $$D_i $$ и среднеквадратические отклонения $$\sigma_i = \sqrt {D_i }$$ для всех сигналов сети.
Типичным участком сети является стандартный нейрон. Из стандартных нейронов состоит любая нейронная сеть. Поэтому нам достаточно определить, как вычисляются среднеквадратические отклонения сигналов для элементов стандартного нейрона. Тогда мы будем иметь возможность вычислить среднеквадратические отклонения для любого участка сети.
Выясним, как вычисляются среднеквадратические отклонения для входных сигналов точки ветвления,
Если дисперсии выходных сигналов точки ветвления $$D_1 ,D_2 ,...,D_k $$ при обратном распространении не равны между собой, то в качестве дисперсии входного сигнала точки ветвления выбирается $$\min \{D_i \}_{i = 1}^k$$.
Пусть $$\sigma_1 $$ - среднеквадратическое отклонение погрешности выходного сигнала
Пусть
$$M_{\varphi (A + \varepsilon )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot \varepsilon }) \cdot \rho_\varepsilon d\varepsilon = \varphi (A) .$$
$$D_{\varphi (A + \varepsilon )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot \varepsilon - \varphi (A))^2 \rho_\varepsilon d\varepsilon = \varphi '(A)^2 \sigma^2 } .$$
С другой стороны, нам известно, что дисперсия выходного сигнала
$$\sigma_1^2 = \varphi '(A)^2 \cdot \sigma^2 \Rightarrow \sigma = \frac{{\sigma_1 }}{{|\varphi '(A)|}}.$$
Таким образом, мы вычислили среднеквадратическое отклонение входного сигнала
Мы получили среднеквадратическое отклонение входного сигнала
Вычислим среднеквадратические отклонения $$\sigma_i $$ входных сигналов сумматора. Рассмотрим для этого дисперсию погрешности выходного сигнала сумматора$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \sigma^2.$$
Предположим дополнительно, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} \sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n D(\alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot D\varepsilon_i = \\ = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 \Rightarrow \sigma_i = \frac{\sigma }{{\sqrt {\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}.$$
Получили формулу для равномерного распределения среднеквадратических отклонений $$\sigma_i $$ по входам сумматора. Если в качестве погрешности каждого входа рассматривать не $$\varepsilon_i $$, а $$\alpha_i \cdot \varepsilon_i $$, то получим формулу для пропорционального распределения среднеквадратических отклонений $$\sigma_i $$ по входам сумматора.
$$\sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n D(\alpha_i \cdot \varepsilon_i ) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 \Rightarrow \sigma_i = \frac{\sigma }{{\sqrt n }} .$$
Кроме равномерного и пропорционального распределения среднеквадратических отклонений погрешностей по входам сумматора, может быть использовано приоритетное распределение среднеквадратических отклонений. При этом сначала назначаются среднеквадратические отклонения погрешностей для тех входов сумматора, которые наиболее значимы по какому-либо признаку, а затем оставшаяся часть среднеквадратического отклонения погрешности выходного сигнала сумматора распределяется по остальным входам равномерно или пропорционально.
Мы рассмотрели, как изменяются погрешности сигналов при прохождении через элементы сети. Предположим теперь, что не только сигналы имеют погрешности, но и все элементы сети передают приходящие к ним сигналы с некоторыми погрешностями. Пусть среднеквадратические отклонения погрешностей элементов известны и фиксированы. Выясним, как влияют собственные погрешности элементов на погрешности сигналов.
Вычислим среднеквадратические отклонения входных сигналов точки ветвления,
Пусть точка ветвления имеет собственную погрешность $$\varepsilon_{tv}$$ и среднеквадратическое отклонение собственной погрешности равно $$\sigma_{tv}$$. Собственная погрешность $$\varepsilon_{tv}$$ добавляется к каждому сигналу, выходящему из точки ветвления.
Если при обратном распространении получаем дисперсии выходных сигналов точки ветвления $$D_1 ,D_2 ,...,D_k $$ не равные между собой, то в качестве дисперсии входного сигнала точки ветвления, с учетом собственной погрешности, выбирается $$\min \{D_i \}_{i = 1}^k - \sigma_{tv}^2$$.
Пусть среднеквадратическое отклонение собственной погрешности
Рассмотрим оба варианта.
Пусть погрешность $$\varepsilon_\varphi $$ добавляется к результату работы
$$D{\rm{(}}\varphi (A + \varepsilon ) + \varepsilon_\varphi {\rm{) = }}D{\rm{(}}\varphi (A + \varepsilon ){\rm{) + }}D(\varepsilon_\varphi ){\rm{ = }}\sigma_{own}^2 {\rm{+ }}\sigma_\varphi^2 {\rm{ = }}\sigma_1^2 {\rm{.}}.$$
Отсюда получаем, что дисперсия непосредственно выходного сигнала
Среднеквадратическое отклонение для входного сигнала
Пусть теперь собственная погрешность
$$M_{\varepsilon + \varepsilon_\varphi } = \int\limits_{- \infty }^\infty {(\varepsilon + \varepsilon_\varphi )}\cdot \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = 0$$
и дисперсию
$$D_{\varepsilon + \varepsilon_\varphi } = \int\limits_{- \infty }^\infty {(\varepsilon + \varepsilon_\varphi - M_{\varepsilon + \varepsilon_\varphi })^2 \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = \sigma^2 + \sigma_\varphi^2 }.$$
Вычислим математическое ожидание и дисперсию выходного сигнала
$$M_{\varphi (A + \varepsilon + \varepsilon_\varphi )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot (\varepsilon + \varepsilon_\varphi })) \cdot \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = \varphi (A) .$$
$$\begin{array}{l} \sigma_1^2 = D_{\varphi (A + \varepsilon + \varepsilon_\varphi )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot (\varepsilon + \varepsilon_\varphi ) - \varphi (A))^2 \rho_\varepsilon d(\varepsilon + \varepsilon_\varphi ) = }\\ {\rm{ }} = \varphi '(A)^2 (\sigma^2 + \sigma_\varphi^2 ) \\ \end{array}$$
Отсюда получаем$$(\sigma^2 + \sigma_\varphi^2 ) = \sigma_1^2 /\varphi '(A)^2 \Rightarrow \sigma = \sqrt[{ }]{{\sigma_1^2 /\varphi '(A)^2 - \sigma_\varphi^2 }} .$$
Перейдем к вычислению среднеквадратических отклонений входных сигналов сумматора. Пусть среднеквадратическое отклонение выходного сигнала сумматора равно $$\sigma $$, собственное среднеквадратическое отклонение погрешности сумматора равно $$\sigma_\Sigma$$.
Собственная погрешность сумматора может добавляться либо к выходному сигналу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i ) + \varepsilon_\Sigma,$$ либо к каждому входу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i + \varepsilon_\Sigma^i ),$$ где $$\varepsilon_\Sigma^i = \varepsilon_\Sigma /n$$.
Пусть собственная погрешность добавляется к выходному сигналу сумматора. Вычислим среднеквадратическое отклонение погрешностей для входных сигналов сумматора. Рассмотрим для этого дисперсию
$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = \sigma^2.$$
Для равномерного распределения среднеквадратических отклонений предполагаем, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) + D(\varepsilon_\Sigma ) = \\ = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 + \sigma_\Sigma^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - \sigma_\Sigma^2 }}{{\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}$$
Если будем рассматривать пропорциональное распределение среднеквадратических отклонений входных сигналов сумматора, то получим
$$\sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i + \varepsilon_\Sigma ) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 + \sigma_\Sigma^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - \sigma_\Sigma^2 }}{n}} .$$
Пусть теперь собственное среднеквадратическое отклонение сумматора добавляется к каждому входу сумматора:$$\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i + \varepsilon_\Sigma^i ).$$
Вычислим среднеквадратическое отклонение погрешностей для входных сигналов сумматора. Рассмотрим для этого дисперсию$$D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = \sigma^2.$$
Для равномерного распределения среднеквадратических отклонений предполагаем, что $$\sigma_i $$ равны между собой.
$$\begin{array}{l} D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) + D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_\Sigma^i ) = \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot \sigma_i^2 + \\ + \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot (\sigma_\Sigma^i )^2 \Rightarrow \sigma_i = \sqrt {\frac{{\sigma^2 - (\sigma_\Sigma^i )^2 \cdot \Sigma_{i = 1}^n \alpha_i^2 }}{{\Sigma_{i = 1}^n \alpha_i^2 }}}\\ \end{array}$$
Если будем рассматривать пропорциональное распределение среднеквадратических отклонений входных сигналов сумматора, то получим$$\begin{array}{l} \sigma^2 = D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (\varepsilon_i + \varepsilon_\Sigma^i )) = \mathop \Sigma \limits_{i = 1}^n \sigma_i^2 + \mathop \Sigma \limits_{i = 1}^n \alpha_i^2 \cdot (\sigma_\Sigma^i )^2 \Rightarrow \\ \sigma_i = \sqrt {\frac{{\sigma^2 - (\sigma_\Sigma^i )^2 \cdot \Sigma_{i = 1}^n \alpha_i^2 }}{n}}\\ \end{array}$$
Зная, как вычисляются среднеквадратические отклонения погрешностей для всех элементов стандартного нейрона, можно вычислить среднеквадратические отклонения погрешностей сигналов для всей сети. Если заданы среднеквадратические отклонения погрешностей для выходных сигналов сети, можно вычислить среднеквадратические отклонения погрешностей для последнего слоя сети. Когда вычислены среднеквадратические отклонения погрешностей всех входных сигналов последнего слоя сети, переходим к вычислению среднеквадратических отклонений погрешностей предпоследнего слоя и так далее.
Рассмотрим пример на рис. 6.10. Пусть дана сеть с тремя нейронами входного слоя, двумя нейронами скрытого слоя и одним 0.01. Среднеквадратические отклонения погрешностей по входам сумматора вычисляются с использованием формулы для равномерного распределения среднеквадратических отклонений.
(рис 6.10) $$\sum$$ - адаптивные сумматоры, $$\phi$$ - нелинейные преобразователи
Вычислим среднеквадратические отклонения для всех сигналов сети при данном векторе входных сигналов. Все вычисленные значения в этом примере округляются до двух знаков после запятой. На рис. 6.11 показаны вычисленные среднеквадратические отклонения для данного примера.
(рис 6.11) $$\sigma_1 = \frac{{\sigma_{out}}}{{|\varphi '(A)|}} = \frac{{0.01}}{{2/(2 + 0.32)^2 }} = 0.03;$$
$$\sigma_2 = \sigma_3 = \frac{{0.03}}{{0.35^2 + 0.69^2 }} = \frac{{0.03}}{{0.77}} = 0.04;$$
$$\sigma_4 = \frac{{0.04}}{{2/(2 + 0.14)^2 }} = \frac{{0.04}}{{0.44}} = 0.08 ;$$
$$\sigma_5 = \frac{{0.04}}{{2/(2 + 1.53)^2 }} = \frac{{0.04}}{{0.16}} = 0.23 ;$$
$$\sigma_6 = \frac{{0.08}}{{0.11^2 + 0.61^2 + 0.38^2 }} = \frac{{0.08}}{{0.7}} = 0.11;$$
$$\sigma_7 = \frac{{0.23}}{{0.73^2 + 0.53^2 + 0.87^2 }} = \frac{{0.23}}{{1.25}} = 0.18;$$
$$\sigma_8 = \sigma_9 = \sigma_{10} = \min \{\sigma_6 ,\sigma_7 \} = 0.11 ;$$
$$\sigma_{11} = \frac{{0.11}}{{2/(2 + 6.03)^2 }} = \frac{{0.11}}{{0.03}} = 3.55 ;$$
$$\sigma_{12} = \frac{{0.11}}{{2/(2 + 3.11)^2 }} = \frac{{0.11}}{{0.08}} = 1.43 ;$$
$$\sigma_{13} = \frac{{0.11}}{{2/(2 + 6.21)^2 }} = \frac{{0.11}}{{0.03}} = 3.67 ;$$
$$\sigma_{14} = \frac{{3.55}}{{0.3^2 + 0.95^2 + 0.64^2 }} = \frac{{3.55}}{{1.49}} = 2.38 ;$$
$$\sigma_{15} = \frac{{1.43}}{{0.28^2 + 0.75^2 }} = \frac{{1.43}}{{0.8}} = 1.79 ;$$
$$\sigma_{16} = \frac{{3.67}}{{0.54^2 + 0.41^2 + 0.28^2 }} = \frac{{3.67}}{{0.73}} = 5.03 ;$$
Таким образом, получены формулы для вычисления среднеквадратических отклонений погрешностей сигналов сети, в предположении, что погрешности являются независимыми случайными величинами.
Все изложенные выше соображения о выполнимости метода обратного распространения точности справедливы и для метода обратного распространения точности для среднеквадратических отклонений погрешностей с учетом собственных погрешностей элементов. Отличие состоит в способе вычисления промежуточных среднеквадратических отклонений погрешностей.
Как и выше, рассмотрим участок сети, изображенный на рис. 6.9. Для этого участка нам необходимо вычислить промежуточное среднеквадратическое отклонение погрешности $$\sigma^{part}$$.
Пусть собственное среднеквадратическое отклонение погрешности сумматора $$\Sigma_1 $$ равно $$\sigma_{\Sigma_1 }$$, собственное среднеквадратическое отклонение погрешности
Рассмотрим сначала вариант, когда собственные погрешности элементов добавляются к выходным сигналам этих элементов. В этом случае среднеквадратическое отклонение погрешности входного сигнала
Среднеквадратическое отклонение погрешности $$\sigma^{part}$$, которое придет к входу сумматора $$\Sigma_2$$ при прямом функционировании сети, начиная от выходного сигнала сумматора $$\Sigma_1 $$ ( рис. 6.9), равно
$$\sigma^{part} = \sqrt {\sigma_{\Sigma_1 }^2 \cdot \varphi '(A)^2 + \sigma_\varphi^2 + \sigma_{tv}^2 }.$$
Среднеквадратические отклонения погрешностей $$\sigma_i^{part}$$ придут к каждому входу сумматора $$\Sigma_2$$. Если сумма квадратов среднеквадратических отклонений $$\sigma_i^{part}$$ с коэффициентами $$\alpha_i $$ меньше квадрата среднеквадратического отклонения погрешности выходного сигнала сумматора ( $$\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 < \sigma^2 $$ ), то вычисляем разность $$\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 - \sigma^2$$. Оставшуюся часть квадрата среднеквадратического отклонения погрешности выходного сигнала сумматора $$\sigma $$ распределяем равномерно по всем входам, чтобы среднеквадратические отклонения погрешностей входов превышали собственные среднеквадратические отклонения погрешностей элементов на одну и ту же величину $$\xi$$. Тогда получаем следующую формулу
$$\Sigma_{i = 1}^n \alpha_i^2 \cdot ((\sigma_i^{part})^2 + \xi^2 ) = \sigma^2 \Rightarrow \xi = \sqrt {(\sigma^2 - \Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_i^{part})^2 )/\Sigma_{i = 1}^n \alpha_i^2 } .$$
Среднеквадратические отклонения погрешностей по входам сумматора будут равны $$\sigma_i = \sqrt {(\sigma_i^{part})^2 + \xi^2 }$$.
Пусть теперь собственные погрешности элементов добавляются к входным сигналам этих элементов. В этом случае среднеквадратическое отклонение погрешности входного сигнала
Среднеквадратическое отклонение погрешности $$\sigma^{part}$$ в этом случае равно
$$\sigma^{part} = \sqrt {\left( {\Sigma_{i = 1}^n \alpha_i^2 \cdot (\sigma_{\Sigma_1 }^i )^2 + \sigma_\varphi^2 }\right) \cdot |\varphi '(A)|^2 + \sigma_{tv}^2 } .$$
Величины $$\xi $$ для вычисления среднеквадратических отклонений погрешностей входных сигналов $$\sigma_i $$ вычисляются как было показано выше.
Промежуточные среднеквадратические отклонения погрешностей $$\sigma^{part}$$ можно вычислять как для участков сети, так и для сети в целом.
Таким образом, мы получили формулы для вычисления среднеквадратических отклонений погрешностей сигналов нейронной сети с собственными погрешностями элементов.
В методе обратного распространения точности приведены формулы для вычисления погрешностей сигналов сети. Эти формулы рассчитаны для сигналов, полученных при прямом функционировании сети с одним примером из
R - действительное число.Погрешности первого типа вычисляются по формулам, описанным в методе обратного распространения точности.
Для того, чтобы вычислить погрешности второго типа, вычисляем погрешности для каждого примера из
Рассмотрим, как вычисляются допустимые погрешности третьего и четвертого типов. В формулах для вычисления допустимых погрешностей входной сигнал используется только у
Для начала рассмотрим допустимые погрешности третьего типа, то есть те допустимые погрешности элементов сети, которые получаются при входных сигналах, принадлежащих прямоугольной области. Нам известны интервалы, в которых изменяются входные сигналы сети. Требуется вычислить интервалы для входных сигналов каждого элемента сети. Будем вычислять их следующим образом. При прохождении интервалов через сумматор концы интервалов соответствующих входов умножаются на веса
Таким образом вычисляются допустимые погрешности сигналов сети для прямоугольной области входных сигналов сети.
Рассмотрим пример, в котором будем вычислять погрешности третьего типа. Воспользуемся нейросетью, изображенной на рис. 6.9. Нейросеть имеет такие же веса
$$I_1 {\rm{ = [ - 2}}{\rm{,6]; }}I_2 {\rm{ = [3}}{\rm{,11]; }}I_3 {\rm{ = [1}}{\rm{.5}}{\rm{,4]; }}I_4 {\rm{ = [2}}{\rm{,7]; }}I_5 {\rm{ = [4}}{\rm{,10]; }}I_6 {\rm{ = [ - 5}}{\rm{,5]; }}\\ I_7 {\rm{ = [1}}{\rm{,8]; }}I_8 {\rm{ = [ - 4}}{\rm{,6]}}{\rm{.}}$$
(рис 6.12) Сигналы сети изменяются в следующих интервалах:
$$\begin{array}{l} I_9 {\rm{ = [ - 0}}{\rm{.6}}{\rm{,3}}{\rm{.6]; }}I_{10}{\rm{ = [2}}{\rm{.85}}{\rm{,10}}{\rm{.45]; }}I_{11}{\rm{ = [0}}{\rm{.96}}{\rm{,2}}{\rm{.56]; }}I_{12}{\rm{ = [0}}{\rm{.56}}{\rm{,1}}{\rm{.96];}}\\ I_{13}{\rm{ = [3}}{\rm{,7}}{\rm{.5]; }}I_{14}{\rm{ = [ - 2}}{\rm{.7}}{\rm{,2}}{\rm{.7]; }}I_{15}{\rm{ = [0}}{\rm{.41}}{\rm{,3}}{\rm{.28]; }}I_{16}{\rm{ = [ - 1}}{\rm{.12}}{\rm{,1}}{\rm{.68]; }}\\ I_{17}{\rm{ = [3}}{\rm{.21}}{\rm{,16}}{\rm{.61]; }}I_{18}{\rm{ = [3}}{\rm{.56}}{\rm{,9}}{\rm{.46]; }}I_{19}{\rm{ = [ - 3}}{\rm{.41}}{\rm{,7}}{\rm{.66]; }}I_{20}{\rm{ = [0}}{\rm{.62}}{\rm{,0}}{\rm{.89];}}\\ I_{21}{\rm{ = [0}}{\rm{.64}}{\rm{,0}}{\rm{.83]; }}I_{22}{\rm{ = [ - 0}}{\rm{.63}}{\rm{,0}}{\rm{.79]; }}I_{23}{\rm{ = [0}}{\rm{.07}}{\rm{,0}}{\rm{.1]; }}I_{24}{\rm{ = [0}}{\rm{.45}}{\rm{,0}}{\rm{.65];}}\\ I_{25}{\rm{ = [0}}{\rm{.39}}{\rm{,0}}{\rm{.51]; }}I_{26}{\rm{ = [0}}{\rm{.34}}{\rm{,0}}{\rm{.44; }}I_{27}{\rm{ = [ - 0}}{\rm{.2}}{\rm{,0}}{\rm{.26]; }}I_{28}{\rm{ = [ - 0}}{\rm{.55}}{\rm{,0}}{\rm{.69];}}\\ I_{29}{\rm{ = [0}}{\rm{.26}}{\rm{,0}}{\rm{.86]; }}I_3 {\rm{ = [0}}{\rm{.24}}{\rm{,1}}{\rm{.78]; }}I_{31}{\rm{ = [0}}{\rm{.12}}{\rm{,0}}{\rm{.3]; }}I_{32}{\rm{ = [0}}{\rm{.1}}{\rm{,0}}{\rm{.47];}}\\ I_{33}{\rm{ = [0}}{\rm{.04}}{\rm{,0}}{\rm{.1]; }}I_{34}{\rm{ = [0}}{\rm{.07}}{\rm{,0}}{\rm{.32]; }}I_{35}{\rm{ = [0}}{\rm{.11}}{\rm{,0}}{\rm{.42]; }}I_{36}{\rm{ = [0}}{\rm{.05}}{\rm{,0}}{\rm{.17]}}{\rm{.}}\\ \end{array}$$
Мы можем вычислить максимум производной
$$\max \varphi '_{[3.21,16.61]} = 0.07;$$ $$\max \varphi '_{[3.56,9.46]} = 0.06;$$
$$\max \varphi '_{[ - 3.41,7.66]} = 0.07;$$ $$\max \varphi '_{[0..26,0.86]} = 0.39;$$
$$\max \varphi '_{[0..24,1.78]} = 0.4;$$ $$\max \varphi '_{[0.11,0.42]} = 0.45$$.
Зная эти величины, можно вычислить допустимые погрешности третьего типа.
Выясним теперь, как вычисляются допустимые погрешности сигналов четвертого типа, то есть погрешности, получающиеся, когда область входных сигналов сети является шаром.
Рассуждения, приведенные выше для допустимых погрешностей третьего типа, справедливы и для допустимых погрешностей четвертого типа. Отличие состоит в том, что нам необходимо "развернуть" шаровую область таким образом, чтобы получить интервалы, в которых изменяются входные сигналы элементов.
Рассмотрим для этого квадраты выходных сигналов сумматоров входного слоя сети. Используя неравенство Коши, получаем
$$A^2 = (\Sigma_{i = 1}^k \alpha_i x_i )^2 \le \Sigma_{i = 1}^k \alpha_i^2 \cdot \Sigma_{i = 1}^k x_i^2 \le R^2 \cdot \Sigma_{i = 1}^k \alpha_i^2 \Rightarrow |A| \le R\sqrt {\Sigma_{i = 1}^k \alpha_i^2 },$$
где $$k$$ - число входных сигналов сумматора. Получили интервалы, в которых изменяются выходные сигналы сумматоров входного слоя нейронной сети. Используя эти интервалы, можем вычислить интервалы, в которых изменяются входные сигналы элементов сети. Затем, как уже было описано выше, вычисляем допустимые погрешности входных сигналов
Как метод обратного распространения точности, так и метод обратного распространения среднеквадратических отклонений погрешностей можно применять к сетям не только слоистой структуры, но также к циклическим и полносвязным сетям. Рассматривая такт функционирования сети как слой, "разворачиваем" циклические и полносвязные сети в сети слоистой структуры. Вычисляем допустимые погрешности (среднеквадратические отклонения погрешностей) для сигналов стандартных нейронов каждого слоя. Затем "сворачиваем" слоистую сеть в исходную. Так как каждый слой полученной сети на самом деле является тактом функционирования, то для каждого сигнала сети на разных тактах получаем разные допустимые погрешности (среднеквадратические отклонения погрешностей). В качестве допустимой погрешности (среднеквадратического отклонения погрешности) для каждого сигнала сети выбирается минимум этих величин по всем тактам.
Идея этих методов возникла при решении задачи бинаризации нейронной сети. Бинаризация состоит в построении такой сети, которая функционирует так же, как и исходная, но имеет веса 0 или 1 (вариант: +1 или -1 ).
Но метод обратного распространения точности и метод обратного распространения среднеквадратических отклонений погрешностей сигналов сети интересен не только и не столько в приложении к задаче бинаризации. Их можно применять при решении ряда других задач. Например, вычислив допустимые погрешности (среднеквадратические отклонения погрешностей) для всей сети, можно выяснить, в каких пределах можно варьировать входные данные и сигналы на любом участке сети, чтобы вектор выходных сигналов при этом изменился не более, чем на заданную величину.
Метод обратного распространения точности для среднеквадратических оценок погрешности позволяет получать формулы для вычисления погрешностей сигналов сети, налагающие менее жесткие ограничения на величину погрешностей по сравнению с гарантированными интервальными оценками погрешностями. Если для гарантированных интервальных оценок при обратном прохождении слоев допустимые погрешности сигналов уменьшаются, то для среднеквадратических оценок погрешностей есть ситуации, когда погрешности увеличиваются от последнего слоя к первому. Если погрешности сигналов являются независимыми случайными величинами, то, как показано в примере, даже при больших погрешностях входных сигналов получаются достаточно точные выходные сигналы.
Таким образом, решение задачи вычисления допустимых погрешностей (среднеквадратических отклонений погрешностей) для каждого сигнала сети методом обратного распространения точности удивительно похоже на метод обратного распространения ошибки, но с другими правилами прохождения элементов. Метод позволяет формулировать требования к точности вычисления и реализации технических устройств, если известны требования к точности выходных сигналов сети.
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.