Погрешности в нейронных сетях
Метод обратного распространения точности для оценки среднеквадратических отклонений
Рассмотрим обученную нейросеть с вычисленными весами синапсов . Считаем, что погрешности входных сигналов, внутренних сигналов сети и элементов отсутствуют. При векторе входных сигналов
получаем вектор выходных сигналов
. Вектор
и внутренние сигналы сети
будем считать точным вектором выходных сигналов и точными сигналами сети.
Рассмотрим теперь эту же сеть, но предположим, что все сигналы сети имеют некоторые погрешности. Пусть - вектор выходных сигналов, полученный при том же векторе входных сигналов
, но с погрешностями внутренних сигналов сети.
Предполагаем, что внутри каждого слоя погрешности сигналов являются независимыми случайными величинами. Это предположение позволяет налагать менее жесткие требования при вычислении погрешностей сигналов.
Пусть нам задана - допустимая погрешность выходных сигналов сети. То есть вектор
может отличаться от вектора
не более, чем на
. Будем считать
величиной среднеквадратического отклонения
выходных сигналов сети
.
Нам нужно выяснить, каким образом могут распределяться дисперсии сигналов при заданном и вычислить среднеквадратические отклонения
для всех сигналов сети такие, чтобы среднеквадратическое отклонение вектора выходных сигналов
равнялось
.
Зная среднеквадратическое отклонение выходных сигналов, можем вычислить дисперсию выходных сигналов , а затем, переходя от элемента к элементу в обратном порядке, вычислим дисперсии
и среднеквадратические отклонения
для всех сигналов сети.
Типичным участком сети является стандартный нейрон. Из стандартных нейронов состоит любая нейронная сеть. Поэтому нам достаточно определить, как вычисляются среднеквадратические отклонения сигналов для элементов стандартного нейрона. Тогда мы будем иметь возможность вычислить среднеквадратические отклонения для любого участка сети.
Выясним, как вычисляются среднеквадратические отклонения для входных сигналов точки ветвления, нелинейного преобразователя и сумматора, если нам будут известны среднеквадратические отклонения выходных сигналов этих элементов.
Если дисперсии выходных сигналов точки ветвления при обратном распространении не равны между собой, то в качестве дисперсии входного сигнала точки ветвления выбирается
.
Пусть - среднеквадратическое отклонение погрешности выходного сигнала нелинейного преобразователя. Пусть случайная величина
(погрешность входного сигнала нелинейного преобразователя) имеет некоторую плотность распределения
. Считаем, что математическое ожидание погрешности входного сигнала
![M_\varepsilon = \int\limits_{- \infty }^\infty \varepsilon \cdot \rho_\varepsilon d\varepsilon = 0](/sites/default/files/tex_cache/b074f0992dda973cd8bc4220b72177d6.png)
![D_\varepsilon = \int\limits_{- \infty }^\infty {(\varepsilon - M_\varepsilon )^2 \rho_\varepsilon d\varepsilon = \sigma^2 }.](/sites/default/files/tex_cache/fa943cb31cec356dc13f04c9d1f53448.png)
Пусть нелинейный преобразователь имеет функцию активации и точный входной сигнал
. Рассмотрим линейное приближение функции активации
в точке
. Линейное приближение имеет вид:
![\varphi (A \pm \varepsilon ) \approx \varphi (A) \pm \varphi '(A) \cdot \varepsilon .](/sites/default/files/tex_cache/f4dbfabc59c28fc5aeef42aeff39a12e.png)
![\varphi (A + \varepsilon )](/sites/default/files/tex_cache/45a8077c8700c65300ce2cf180c55440.png)
![M_{\varphi (A + \varepsilon )}\approx \int\limits_{- \infty }^\infty {(\varphi (A) + \varphi '(A) \cdot \varepsilon }) \cdot \rho_\varepsilon d\varepsilon = \varphi (A)
.](/sites/default/files/tex_cache/f81b5370c5097ab85f5d71d55c7b9a19.png)
![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 }
.](/sites/default/files/tex_cache/1c39b1e9d4976c390962fe67a821ccf4.png)
С другой стороны, нам известно, что дисперсия выходного сигнала нелинейного преобразователя равна . Отсюда получаем
![\sigma_1^2 = \varphi '(A)^2 \cdot \sigma^2 \Rightarrow \sigma = \frac{{\sigma_1 }}{{|\varphi '(A)|}}.](/sites/default/files/tex_cache/7c2d30ff3b36d3252214d27fea711b01.png)
Таким образом, мы вычислили среднеквадратическое отклонение входного сигнала нелинейного преобразователя для любого распределения погрешности входного сигнала .
Мы получили среднеквадратическое отклонение входного сигнала нелинейного преобразователя , которое одновременно является среднеквадратическим отклонением выходного сигнала сумматора с погрешностями входных сигналов
![\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i ).](/sites/default/files/tex_cache/4f438c10f5e809f3ad44699b376a7002.png)
![\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot (x_i + \varepsilon_i ) - \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i = {\rm{ }} = \mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i,](/sites/default/files/tex_cache/132dbb31325e45da0c5e0fbb54ad05b2.png)
![\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot x_i](/sites/default/files/tex_cache/a961d207ad8ae1f71e1a495d0db797cd.png)
Вычислим среднеквадратические отклонения входных сигналов сумматора. Рассмотрим для этого дисперсию погрешности выходного сигнала сумматора
![D(\mathop \Sigma \limits_{i = 1}^n \alpha_i \cdot \varepsilon_i ) = \sigma^2.](/sites/default/files/tex_cache/8f36926fc4d60bc1fd77ef2dc759a635.png)
Предположим дополнительно, что равны между собой.
![\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}.](/sites/default/files/tex_cache/f7ed73df68b78ed6ea6c5e2aae83f12d.png)
Получили формулу для равномерного распределения среднеквадратических отклонений по входам сумматора. Если в качестве погрешности каждого входа рассматривать не
, а
, то получим формулу для пропорционального распределения среднеквадратических отклонений
по входам сумматора.
![\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 }}
.](/sites/default/files/tex_cache/8a87bf81c0650b4bbf2124502ebbc8a2.png)