Нейрокомпьютерные системы

Радиальные нейронные сети

Показывать лекцию целиком

Многослойные нейронные сети, представленные в предыдущих разделах, выполняют аппроксимацию функции нескольких переменных путем преобразования множества входных переменных $$x \in R^N$$ в множество выходных переменных $$y \in R^M$$. Cигмоидальная функция активации по своему характеру осуществляет аппроксимацию глобального типа. В результате ее нейрон, который был однажды "включен" (после превышения суммарным сигналом определенного порогового значения), остается в этом состоянии при любом значении сигнала, превышающем данный порог. Поэтому преобразование значения функции в произвольной точке пространства выполняется объединенными усилиями многих нейронов, что и объясняет название глобальная аппроксимация.

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

(рис 1) Иллюстрация способов разделения пространства данных: а) сигмоидальным нейроном; б) радиальным нейроном

Особое семейство образуют сети с радиальной базисной функцией, в которых нейроны реализуют функции, радиально изменяющиеся вокруг выбранного центра и принимающие ненулевые значения только в окрестности этого центра. Подобные функции, определяемые в виде $$\varphi(x) = \varphi(\|x-c\|)$$, будем называть радиальными базисными функциями. В таких сетях роль нейрона заключается в отображении радиального пространства вокруг одиночной заданной точки (центра) либо вокруг группы таких точек, образующих кластер. Суперпозиция сигналов, поступающих от всех таких нейронов, которая выполняется выходным нейроном, позволяет получить отображение всего многомерного пространства.

Сети радиального типа представляют собой естественное дополнение сигмоидальных сетей. Сигмоидальный нейрон представляется в многомерном пространстве гиперплоскостью, разделяющей это пространство на две категории (два класса), в которых выполняется одно из двух условий: либо $$(w,x) > 0$$, либо $$(w,x) < 0$$. Такой подход продемонстрирован на рис. 1а.

В свою очередь, радиальный нейрон представляет собой гиперсферу, которая осуществляет шаровое разделение пространства вокруг центральной точки (рис. 1б). Именно с этой точки зрения он является естественным дополнением сигмоидального нейрона, поскольку в случае круговой симметрии данных позволяет заметно уменьшить количество нейронов, необходимых для разделения различных классов. Поскольку нейроны могут выполнять различные функции, в радиальных сетях отсутствует необходимость использования большого количества скрытых слоев. Структура типичной радиальной сети включает входной слой, на который подаются сигналы, описываемые входным вектором $$x$$, скрытый слой с нейронами радиального типа и выходной слой, состоящий, как правило, из одного или нескольких линейных нейронов. Функция выходного нейрона сводится исключительно к взвешенному суммированию сигналов, генерируемых скрытыми нейронами.

Математические основы радиальных сетей

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

Если вектор радиальных функций в $$N$$ - мерном входном пространстве обозначить $$\varphi(x)$$, то это пространство является нелинейно $$\varphi$$ - разделяемым на два пространственных класса $$X^+$$ и $$X^-$$ тогда, когда существует такой вектор весов $$w$$, что

$$\begin{align*} w^T \varphi(x) > 0, x \in X^+,\\ w^T \varphi(x) < 0, x \in X^-. \end{align*} $$

Граница между этими классами определяется уравнением $$w^T\varphi(x)=0$$.

Доказано, что каждое множество образов, случайным образом размещенных в многомерном пространстве, является $$\varphi$$ - разделяемым с вероятностью 1 при условии соответственно большой размерности этого пространства. На практике это означает, что применение достаточно большого количества скрытых нейронов, реализующих радиальные функции $$\varphi(x)$$, гарантирует решение задачи классификации при построении всего лишь двухслойной сети: скрытый слой должен реализовать вектор $$\varphi(x)$$, а выходной слой может состоять из единственного линейного нейрона, который выполняет суммирование выходных сигналов от скрытых нейронов с весовыми коэффициентами, заданными вектором $$w$$.

Простейшая нейронная сеть радиального типа функционирует по принципу многомерной интерполяции, состоящей в отображении $$p$$ различных входных векторов $$x_i, i = 1,2,\ldots,p$$ из входного $$N$$ -мерного пространства во множество из p чисел $$d_i, i = 1,2,\ldots,p$$. Для реализации этого процесса необходимо использовать $$p$$ скрытых нейронов радиального типа и задать такую функцию отображения $$F(x)$$, для которой выполняется условие интерполяции

$$\begin{align*} F(x_i) = d_i. \end{align*} $$

Использование $$p$$ скрытых нейронов, соединяемых связями с весами с выходными линейными нейронами, означает формирование выходных сигналов сети путем суммирования взвешенных значений соответствующих базисных функций. Рассмотрим радиальную сеть с одним выходом и $$p$$ обучающими парами $$(x_i,d_i)$$. Примем, что координаты каждого из $$p$$ центров узлов сети определяются одним из векторов $$x_i$$, т.е. $$c_i=x_i$$. В этом случае взаимосвязь между входными и выходными сигналами сети может быть определена системой уравнений, линейных относительно весов, которая в матричной форме имеет вид:

$$\begin{equation} \varphi \cdot w=d, \end{equation}$$

где $$\varphi_{ji}=(\|x_j-x_i\|)$$ определяет радиальную функцию с центром в точке $$x_i$$ с вынужденным вектором $$x_j$$, $$w=[w_1,w_2, \ldots, w_p]^T$$ и $$d=[d_1,d_2, \ldots, d_p]^T$$.

Доказано, что для ряда радиальных функций в случае$$x_1\neq x_2\neq\ldots x_p$$ квадратная интерполяционная матрица $$\varphi$$ является невырожденной и при этом неотрицательно определенной. Поэтому существует решение уравнения (1) в виде

$$\begin{equation} W= \varphi^{-1}d, \end{equation}$$

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

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

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

Радиальная нейронная сеть

Использование в разложении $$p$$ базисных функций, где $$p$$ - это количество обучающих выборок, недопустимо также и с практической точки зрения, поскольку обычно количество этих выборок очень велико, и в результате вычислительная сложность обучающего алгоритма становится чрезмерной. Решение системы уравнений (1) размерностью $$p \times p$$ при больших значениях $$p$$ становится затруднительным. Так же, как и для многослойных сетей, необходимо редуцировать количество весов, что в этом случае сводится к уменьшению количества базисных функций. Поэтому отыскивается субоптимальное решение в пространстве меньшей размерности, которое с достаточной точностью аппроксимирует точное решение. Если ограничиться $$K$$ базисными функциями, то аппроксимирующее решение можно представить в виде

$$\begin{equation} F(x)=f_1+f_2+, \ldots, +f_K , \end{equation}$$

где $$f_i=w_i \varphi (\|x-c_i\|), K < p$$, а $$c_i, i=1,2, \ldots, K$$ - множество центров, которые необходимо определить. В особом случае, если принять $$K=p$$, можно получить точное решение $$c_i=x_i$$.

Чаще всего в качестве радиальной функции применяется функция Гаусса. При размещении ее центра в точке $$c_i$$ она может быть определена в сокращенной форме как

$$\begin{equation} \varphi(x)= \varphi(\|x-c_i\|)= \exp(-\|x-c_i\|^2/2\sigma_i^2). \end{equation}$$

В этом выражении $$\sigma_i$$ - параметр, от значения которого зависит ширина функции.

Полученное решение, представляющее аппроксимирующую функцию в многомерном пространстве в виде взвешенной суммы локальных базисных радиальных функций (выражение (3)), может быть интерпретировано радиальной нейронной сетью, представленной на рис. 2 (для упрощения эта сеть имеет только один выход), в которой $$i$$ определяется зависимостью (4). Это сеть с двухслойной структурой, в которой только скрытый слой выполняет нелинейное отображение, реализуемое нейронами с базисными радиальными функциями. Выходной нейрон, как правило, линеен, а его роль сводится к взвешенному суммированию сигналов, поступающих от нейронов скрытого слоя. Вес $$w_0$$, как и при использовании сигмоидальных функций, представляет поляризацию (порог), вводящую показатель постоянного смещения функции.

(рис 2) Обобщенная структура радиальной сети

Полученная архитектура радиальных сетей имеет структуру, аналогичную многослойной структуре сигмоидальных сетей с одним скрытым слоем. Роль скрытых нейронов в ней играют базисные радиальные функции, отличающиеся своей формой от сигмоидальных функций. Несмотря на отмеченное сходство, сети этих типов принципиально отличаются друг от друга. Радиальная сеть имеет фиксированную структуру с одним скрытым слоем и линейными выходными нейронами, тогда как сигмоидальная сеть может содержать различное количество слоев, а выходные нейроны бывают как линейными, так и нелинейными. У используемых радиальных функций может быть весьма разнообразная структура. Нелинейная радиальная функция каждого скрытого нейрона имеет свои значения параметров $$c_i$$ и $$\sigma_i$$, тогда как в сигмоидальной сети применяются, как правило, стандартные функции активации с одним и тем же для всех нейронов параметром $$\beta$$. Аргументом радиальной функции является эвклидово расстояние образца $$x$$ от центра $$c_i$$, а в сигмоидальной сети - это скалярное произведение векторов $$w^Tx$$.

Вернуться к учебному плану