Опубликован: 01.03.2007 | Доступ: свободный | Студентов: 1589 / 211 | Оценка: 4.58 / 4.39 | Длительность: 20:15:00
Специальности: Программист
Лекция 6:

Погрешности в нейронных сетях

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

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

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

Пусть точка ветвления имеет собственную погрешность \varepsilon_{tv} и среднеквадратическое отклонение собственной погрешности равно \sigma_{tv}. Собственная погрешность \varepsilon_{tv} добавляется к каждому сигналу, выходящему из точки ветвления.

Если при обратном распространении получаем дисперсии выходных сигналов точки ветвления D_1 ,D_2 ,...,D_k не равные между собой, то в качестве дисперсии входного сигнала точки ветвления, с учетом собственной погрешности, выбирается \min \{D_i \}_{i = 1}^k - \sigma_{tv}^2.

Пусть среднеквадратическое отклонение собственной погрешности нелинейного преобразователя равно \sigma_\varphi  , а среднеквадратическое отклонение выходного сигнала нелинейного преобразователя равно \sigma_1. Собственная погрешность нелинейного преобразователя \varepsilon_\varphi  может добавляться либо к результату работы нелинейного преобразователя: \varphi (A + \varepsilon ) + \varepsilon_\varphi  , либо к входному сигналу нелинейного преобразователя: \varphi (A + \varepsilon + \varepsilon_\varphi  ).

Рассмотрим оба варианта.

Пусть погрешность \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{.}}.

Отсюда получаем, что дисперсия непосредственно выходного сигнала нелинейного преобразователя равна

\sigma_{own}^2 {\rm{ = }}\sigma_1^2 {\rm{- }}\sigma_\varphi^2 {\rm{.}}

Среднеквадратическое отклонение для входного сигнала нелинейного преобразователя вычисляется как указано выше. В качестве дисперсии выходного сигнала в формуле используется вычисленная дисперсия \sigma_{own}^2 {\rm{ = }}\sigma_1^2 {\rm{- }}\sigma_\varphi^2 {\rm{.}} Среднеквадратическое отклонение погрешности входного сигнала нелинейного преобразователя будет равняться \sigma = \sigma_{own}/|\varphi '(A)|.

Пусть теперь собственная погрешность нелинейного преобразователя добавляется к его входному сигналу: \varphi (A + \varepsilon + \varepsilon_\varphi  ). В этом случае погрешность входного сигнала имеет математическое ожидание

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 }.

Вычислим математическое ожидание и дисперсию выходного сигнала нелинейного преобразователя, рассматривая линейное приближение \varphi (A + \varepsilon + \varepsilon_\varphi  ).

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. Пусть дана сеть с тремя нейронами входного слоя, двумя нейронами скрытого слоя и одним выходным нейроном. На рисунке показаны сигналы, проходящие по сети при данном векторе входных сигналов, и веса связей. В данном примере элементы сети не имеют собственных погрешностей. Характеристическая функция нелинейных преобразователей имеет вид: \varphi (x) = x/(2 + |x|), где x - входной сигнал нелинейного преобразователя. Среднеквадратическое отклонение вектора выходных сигналов сети \sigma_{out} равняется 0.01. Среднеквадратические отклонения погрешностей по входам сумматора вычисляются с использованием формулы для равномерного распределения среднеквадратических отклонений.


Рис. 6.10.

Вычислим среднеквадратические отклонения для всех сигналов сети при данном векторе входных сигналов. Все вычисленные значения в этом примере округляются до двух знаков после запятой. На рис. 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
;

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