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

Модели нейронов

Разбить на страницы
Показывать лекцию целиком

Элементы нейронных сетей и задача разделения двух классов

Персептрон

Простой персептрон — это нейрон МакКаллока-Питса (рис.1). Весовые коэффициенты входов сумматора, на которые подаются входные сигналы $$x_{i}, i=1, \ldots, N$$ обозначаются $$w_{i}$$, а пороговое значение — $$w_{0}$$. Нелинейная функция активации $$f$$ персептрона является ступенчатой, вследствие чего выходной сигнал нейрона может принимать только два значения — 0 и 1 в соответствии с правилом

$$\begin{equation} f(u) = \left \{ \begin{array}{rcl} 1 \mbox{ для } u\ge 0 \\ 0 \mbox{ для } u< 0 \\ \end{array} \right. \end{equation}$$

или -1 и 1 в соответствии с правилом

$$\begin{equation} f(u) = \left \{ \begin{array}{rcl} 1 \mbox{ для } u\ge 0 \\ -1 \mbox{ для } u< 0 \\ \end{array} \right. \end{equation}$$

где $$u$$ обозначает выходной сигнал сумматора

$$\begin{equation} u = \sum_{i=0}^{N} {w_{i}x_{i}}. \end{equation}$$

В формуле (3) предполагается $$x_{0 } = 1$$.

(рис 1) Нейрон МакКаллока-Питтса

Обучение персептрона состоит в таком подборе весов $${w_{i} }$$, чтобы выходной сигнал $${y}$$ совпадал с заданным значением $${d{\in}\{0,1\}}$$ или $${d{\in}\{-1,1\}}$$.

С персептроном связана задача четкого разделения двух классов по обучающей выборке, которая ставится следующим образом: имеется два набора векторов $$X^1, \ldots, X^n$$ и $$Y^1, \ldots, Y^m$$. Заранее известно, что $$X^i$$, $${i=1, \ldots, n}$$ относятся к первому классу, а $$Y^j$$, $$j=1, \ldots, m$$ - ко второму. Требуется построить решающее правило, т.е. определить такую функцию $$f(X)$$, что при $$f(X)>0$$ вектор $$X$$ относится к первому классу, а при $$f(X)< 0$$ - ко второму.

Сигмоидальный нейрон

Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции. Униполярная функция, как правило, представляется формулой (рис.2)

$$f(x)=1/(1+exp(-\beta x))$$,

(рис 2) Униполярная функция

тогда как биполярная функция задается в виде (рис.3) $$f(x) = tanh(\beta x)$$.

(рис 3) Биполярная функция

Параметр $$\beta$$ влияет на крутизну графика функции $$f(x)$$. При $$\beta\rightarrow\infty$$ сигмоидальная функция превращается в функцию ступенчатого типа, идентичную функции активации персептрона. На практике чаще всего используется значение $$\beta = 1$$.

Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем

$$df(x)/dx = \beta f(x)(1 - f(x)) $$

тогда как для биполярной функции

$$df(x)/dx = \beta (1 - f(x))^2.$$

Применение непрерывной функции активации позволяет использовать при обучении градиентные методы оптимизации. Проще всего реализовать метод наискорейшего спуска, в соответствии с которым уточнение вектора весов $$w = [w_0,w_1, \ldots, w_N]^T$$ проводится в направлении отрицательного градиента целевой функции $$E=(y - d)^2/2$$, где

$$y=f(u)=f(\sum_{i=0}^N {w_{i}x_{i}} ).$$

Компонента градиента имеет вид

$$\nabla_{i}E=dE/dw_i=ex_{i}df(u)/du,$$

где $$e=y-d$$ означает разницу между фактическим и ожидаемым значением выходного сигнала нейрона. Если ввести обозначение $$\delta = e\cdot df(u)/du$$, то можно получить выражение, определяющее $$i$$ -ю составляющую градиента в виде

$$\nabla_{i}E= \delta x_i.$$

Значения весовых коэффициентов уточняются по формуле

$$w_{i}(t+1)=w_{i}(t)-\alpha \delta x_i,$$

где $$\alpha\in(0,1)$$.

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

$$\triangle w_{i}(t+1) = - \alpha\delta x_{i} + \beta \triangle w_{i}(t),$$

в котором первый член соответствует обычному методу наискорейшего спуска, тогда как второй член, называемый моментом, отражает последнее изменение весов и не зависит от фактического значения градиента. Значение $$\beta$$ выбирается из интервала (0,1).

Аппроксимация функций

Нейрон типа "адалайн"

В нейроне типа "адалайн" (ADAptive LInear Neuron - адаптивный линейный нейрон) адаптивный подбор весовых коэффициентов осуществляется в процессе минимизации квадратичной ошибки, определяемой как

$$E(w)=e^{2}/2 =[d-(\sum_{i=0}^{N} w_{i} x_{i})]^{2}/2.$$

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

$$w_{i}(t+1) = w_{i}(t) + \alpha ex_{i}.$$

Паде-нейрон

Паде-нейрон вычисляет произвольную дробно-линейную функцию вектора $$x$$. Так же, как и для адаптивного сумматора, числитель и знаменатель можно сделать линейными функциями $$x$$:

$$Ux/Lx,\quad Ux = \sum_{i=0}^{N} U_{i}x_{i},\quad Lx = \sum_{i=0}^{N} L_{i}x_{i}.$$

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

В случае Паде-нейрона квадратичная ошибка определяется как

$$E(U,L) = e^2/2 = (d - Ux/Lx)^2/2 $$

и значения весовых коэффициентов уточняются по следующим формулам

$$\begin{align*} U_{i}(t+1) = U_{i}(t) + \alpha ex_{i}/ \sum_{j=0}^{N}L_{j}x_{j},\\ L_{i}(t+1) = L_{i}(t) - \alpha ex_{i}\sum_{j=0}^{N}U_{j}x_{j}/(\sum_{j=0}^{N}L_{j}x_{j})^2. \end{align*} $$

Нейрон с квадратичным сумматором

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

$$Q(x) = \sum_{i,j}q_{ij}x_{i}x_{j} + \sum_{i} p_{i}x_{i}+r.$$

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

если $$Q(x) > 0$$, то объект принадлежит первому классу;

если $$Q(x) \le 0$$, то объект принадлежит второму классу (при условии правильного выбора коэффициентов Q(x)).

Квадратичная ошибка здесь определяется как

$$\begin{align*} E(q_{ij},p_i,r) = e^2/2 = (d - Q(x))^2/2. \end{align*} $$

Коэффициенты квадратичного сумматора уточняются по формулам

$$\begin{align*} q_{ij}(t+1) = q_{ij}(t) + 2 \alpha ex_{i}x_{j},\\ p_{i}(t+1) = p_{i}(t) + \alpha ex_{i},\\ r(t+1) = r(t) + \alpha e. \end{align*} $$

Недостаток такого классификатора - большое число настраиваемых параметров.

Сигма-Пи нейроны

Выше были рассмотрены нейроны с линейной и квадратичной функциями активации. Сигма-пи нейроны являются их обобщением на случай представления функции активации u полиномом степени $$N$$, $$N$$ - число входов нейрона:

$$\begin{align*} U = \sum_{k=1}^{M}w_{k}\ \prod_{i\in I_k} x_{i}, \end{align*} $$

где $$I_k$$ - множество индексов, содержащее одну из возможных $$2^N$$ комбинаций первых $$N$$ целых чисел, $$M=2^N$$.

Модель нейрона Хебба

Структурная схема нейрона Хебба соответствует стандартной форме модели нейрона (рис.1). Д.Хебб предложил формальное правило, в котором вес $$w_i$$ нейрона изменяется пропорционально произведению его входного и выходного сигналов

$$\begin{align*} \Delta w_{i} = \alpha x_{i}y, \end{align*} $$

где $$\alpha\in(0,1)$$ - коэффициент обучения.

При обучении с учителем вместо выходного сигнала $$y$$ используется ожидаемая от этого нейрона реакция $$d$$. В этом случае правило Хебба записывается в виде

$$\begin{align*} \Delta w_{i} = \alpha x_{i}d, \end{align*} $$

В каждом цикле обучения происходит суммирование текущего значения веса и его приращения $$\Delta w_{i}$$:

$$\begin{align*} w_i(t+1) = w_i(t) + \Delta w_{i}. \end{align*} $$

В результате применения правила Хебба веса нейрона могут принимать произвольно большие значения. Один из способов стабилизации процесса обучения по правилу Хебба состоит в учете последнего значения $$w_i$$, уменьшенного на коэффициент забывания $$\gamma$$. При этом правило Хебба представляется в виде

$$\begin{align*} w_i(t+1) = w_i(t)(1 - \gamma) + \Delta w_{i}. \end{align*} $$

Значение $$\gamma$$ выбирается из интервала (0,1) и чаще всего составляет некоторый процент от коэффициента обучения $$\alpha$$. Рекомендуемые значения коэффициента забывания - $$\gamma < 0.1$$, при которых нейрон сохраняет большую часть информации, накопленной в процессе обучения, и получает возможность стабилизировать значения весов на определенном уровне.

Стохастическая модель нейрона

В стохастической модели выходное состояние нейрона зависит не только от взвешенной суммы входных сигналов, но и от некоторой случайной переменной, значения которой выбираются при каждой реализации из интервала (0,1).

В стохастической модели нейрона выходной сигнал $$y$$ принимает значения $$\pm 1$$ с вероятностью

$$\begin{align*} P(y = 1)= 1/(1 + \exp(-2\beta u)),\\ P(y = -1)= 1/(1 + \exp(2\beta u)), \end{align*} $$

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

1) расчет взвешенной суммы

$$\begin{align*} u = \sum_{i=0}^N w_{i}x_{i} \end{align*} $$

для каждого нейрона сети.

2) расчет вероятности $$P$$ того, что $$y$$ принимает значение $$\pm 1$$.

3) генерация значения случайной переменной $$R \in (0,1)$$ и формирование выходного сигнала $$y$$, если $$R < P(y)$$, или $$-y$$ в противном случае.

При обучении с учителем по правилу Видроу-Хоффа адаптация весов проводится по формуле

$$\begin{align*} \Delta w_i = \alpha x_i(d-y). \end{align*} $$

Нейроны типа WTA

Нейроны типа WTA (Winner Takes All — "Победитель получает все") имеют входной модуль в виде адаптивного сумматора. Выходной сигнал $$i$$ -го сумматора определяется по формуле

$$\begin{align*} u_i = \sum_{j=0}^N w_{ij}x_j. \end{align*} $$

По результатам сравнения сигналов $${u_i, i=1,2,\ldots,N }$$ отдельных нейронов победителем признается нейрон, у которого $$u_i$$ оказался наибольшим. Нейрон-победитель вырабатывает на своем выходе состояние 1, а остальные (проигравшие) нейроны переходят в состояние 0.

Для обучения нейронов WTA учитель не требуется. На начальном этапе случайным образом выбираются весовые коэффициенты $$w_{ij}$$ каждого нейрона, нормализуемые относительно 1 по формуле

$$w_{ij} \leftarrow w_{ij}/(w_{i1}^2+w_{i2}^2+\ldots+w_{iN}^2)^{1/2}.$$

После подачи входного вектора $$x$$, компоненты которого нормализованы по формуле

$$x_{ij} \leftarrow x_{ij}/(x_{i1}^2+x_{i2}^2+\ldots+x_{iN}^2)^{1/2},$$

определяется победитель этапа. Победитель переходит в состояние 1, что позволяет произвести уточнение весов его входных линий $$w_{ij}$$ по правилу

$$w_{ij}(t+1) = w_{ij}(t)+ \alpha [x - w_{ij}(t)].$$

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

Выходной сигнал $$i$$ -го нейрона может быть описан векторным отношением

$$\begin{align*} u_i = w_i^T x = ||w_i||||x|| \cos \varphi_i. \end{align*} $$

Поскольку $$||w_i||=||x||=1$$, значение $$u_i$$ определяется углом между векторами $$x$$ и $$w_i, u_i = cos \varphi_i$$. Поэтому победителем оказывается нейрон, вектор весов которого оказывается наиболее близким текущему обучающему вектору $$x$$. В результате победы нейрона уточняются его весовые коэффициенты, значения которых приближаются к значениям текущего обучающего вектора $$x$$.

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

Кубические модели нейронов

Вектор $$x$$ входных двоичных сигналов рассматривается как адрес ячейки памяти, содержимое которой равно 0 или 1. Для размерности $$N$$ вектора $$x$$ существует $$2^N$$ возможных адресов.

Можно рассматривать ячейки памяти, как вершины $$N$$ -мерного гиперкуба. Ячейки памяти получают значения независимо друг от друга. Полезно рассматривать ячейки памяти как содержащие поляризованные двоичные значения $$\pm 1$$. Тогда работа кубического модуля описывается следующим образом.

Двоичный вход $$x$$ используется как адрес памяти, поляризованная двоичная величина считывается и конвертируется в неполяризованную форму функцией $$h$$ (см. формулу 1). Обозначим значения по адресу $$x$$ через $$S_\chi$$, так что $$y = h(S_\chi)$$. Такие модули мы будем называть кубическими, чтобы подчеркнуть геометрическое представление множества адресов значений активации как множество вершин гиперкуба.

Запись активации в замкнутой форме

Рассмотрим двухвходовый кубический модуль. Существует 4 значения активации $$\{S_{00}, S_{01}, S_{10}, S_{11}\}$$. Выражение для активации будет иметь следующий вид:

$$\begin{align*} u = S_{00}(1-x_1)(1-x_2) + S_{01}(1-x_1) x_2 + S_{10}x_1 (1-x_2)+ S_{11} x_1 x_2, \end{align*} $$

$$x = (x_1,x_2)$$ - входной вектор. Такая запись вызвана тем, что только одно из произведений в сумме должно быть ненулевым. Для поляризованных входов $$x_1$$ и $$x_2$$ активация

$$\begin{align*} u = [S_{00}(1-x_1)(1-x_2) + S_{01}(1-x_1)(1+x_2) +\\ +S_{10}(1+x_1)(1-x_2) + S_{11} (1+x_1)(1+x_2)]/4. \end{align*} $$

В случае $$N$$ - входового модуля получим

$$\begin{align*} u = [\sum_{\chi} S_\chi \prod_{i=1}^N (1+x_i)]/2^N. \end{align*} $$

Обучение кубических нейронов

Кубические нейроны обучаются путем изменения содержимого ячейки их памяти. Обозначим через `+' операцию инкремента-установки содержимого ячейки в +1, через `-' операцию декремента-установки в -1.

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

Страницы:

Элементы нейронных сетей и задача разделения двух классов

Персептрон

Простой персептрон — это нейрон МакКаллока-Питса (рис.1). Весовые коэффициенты входов сумматора, на которые подаются входные сигналы $$x_{i}, i=1, \ldots, N$$ обозначаются $$w_{i}$$, а пороговое значение — $$w_{0}$$. Нелинейная функция активации $$f$$ персептрона является ступенчатой, вследствие чего выходной сигнал нейрона может принимать только два значения — 0 и 1 в соответствии с правилом

$$\begin{equation} f(u) = \left \{ \begin{array}{rcl} 1 \mbox{ для } u\ge 0 \\ 0 \mbox{ для } u< 0 \\ \end{array} \right. \end{equation}$$

или -1 и 1 в соответствии с правилом

$$\begin{equation} f(u) = \left \{ \begin{array}{rcl} 1 \mbox{ для } u\ge 0 \\ -1 \mbox{ для } u< 0 \\ \end{array} \right. \end{equation}$$

где $$u$$ обозначает выходной сигнал сумматора

$$\begin{equation} u = \sum_{i=0}^{N} {w_{i}x_{i}}. \end{equation}$$

В формуле (3) предполагается $$x_{0 } = 1$$.

(рис 1) Нейрон МакКаллока-Питтса

Обучение персептрона состоит в таком подборе весов $${w_{i} }$$, чтобы выходной сигнал $${y}$$ совпадал с заданным значением $${d{\in}\{0,1\}}$$ или $${d{\in}\{-1,1\}}$$.

С персептроном связана задача четкого разделения двух классов по обучающей выборке, которая ставится следующим образом: имеется два набора векторов $$X^1, \ldots, X^n$$ и $$Y^1, \ldots, Y^m$$. Заранее известно, что $$X^i$$, $${i=1, \ldots, n}$$ относятся к первому классу, а $$Y^j$$, $$j=1, \ldots, m$$ - ко второму. Требуется построить решающее правило, т.е. определить такую функцию $$f(X)$$, что при $$f(X)>0$$ вектор $$X$$ относится к первому классу, а при $$f(X)< 0$$ - ко второму.

Сигмоидальный нейрон

Нейрон сигмоидального типа имеет структуру, подобную модели МакКаллока-Питса, с той разницей, что функция активации является непрерывной и может быть выражена в виде сигмоидальной униполярной или биполярной функции. Униполярная функция, как правило, представляется формулой (рис.2)

$$f(x)=1/(1+exp(-\beta x))$$,

(рис 2) Униполярная функция

тогда как биполярная функция задается в виде (рис.3) $$f(x) = tanh(\beta x)$$.

(рис 3) Биполярная функция

Параметр $$\beta$$ влияет на крутизну графика функции $$f(x)$$. При $$\beta\rightarrow\infty$$ сигмоидальная функция превращается в функцию ступенчатого типа, идентичную функции активации персептрона. На практике чаще всего используется значение $$\beta = 1$$.

Важным свойством сигмоидальной функции является ее дифференцируемость. Для униполярной функции имеем

$$df(x)/dx = \beta f(x)(1 - f(x)) $$

тогда как для биполярной функции

$$df(x)/dx = \beta (1 - f(x))^2.$$

Применение непрерывной функции активации позволяет использовать при обучении градиентные методы оптимизации. Проще всего реализовать метод наискорейшего спуска, в соответствии с которым уточнение вектора весов $$w = [w_0,w_1, \ldots, w_N]^T$$ проводится в направлении отрицательного градиента целевой функции $$E=(y - d)^2/2$$, где

$$y=f(u)=f(\sum_{i=0}^N {w_{i}x_{i}} ).$$

Компонента градиента имеет вид

$$\nabla_{i}E=dE/dw_i=ex_{i}df(u)/du,$$

где $$e=y-d$$ означает разницу между фактическим и ожидаемым значением выходного сигнала нейрона. Если ввести обозначение $$\delta = e\cdot df(u)/du$$, то можно получить выражение, определяющее $$i$$ -ю составляющую градиента в виде

$$\nabla_{i}E= \delta x_i.$$

Значения весовых коэффициентов уточняются по формуле

$$w_{i}(t+1)=w_{i}(t)-\alpha \delta x_i,$$

где $$\alpha\in(0,1)$$.

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

$$\triangle w_{i}(t+1) = - \alpha\delta x_{i} + \beta \triangle w_{i}(t),$$

в котором первый член соответствует обычному методу наискорейшего спуска, тогда как второй член, называемый моментом, отражает последнее изменение весов и не зависит от фактического значения градиента. Значение $$\beta$$ выбирается из интервала (0,1).

Аппроксимация функций

Нейрон типа "адалайн"

В нейроне типа "адалайн" (ADAptive LInear Neuron - адаптивный линейный нейрон) адаптивный подбор весовых коэффициентов осуществляется в процессе минимизации квадратичной ошибки, определяемой как

$$E(w)=e^{2}/2 =[d-(\sum_{i=0}^{N} w_{i} x_{i})]^{2}/2.$$

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

$$w_{i}(t+1) = w_{i}(t) + \alpha ex_{i}.$$

Паде-нейрон

Паде-нейрон вычисляет произвольную дробно-линейную функцию вектора $$x$$. Так же, как и для адаптивного сумматора, числитель и знаменатель можно сделать линейными функциями $$x$$:

$$Ux/Lx,\quad Ux = \sum_{i=0}^{N} U_{i}x_{i},\quad Lx = \sum_{i=0}^{N} L_{i}x_{i}.$$

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

В случае Паде-нейрона квадратичная ошибка определяется как

$$E(U,L) = e^2/2 = (d - Ux/Lx)^2/2 $$

и значения весовых коэффициентов уточняются по следующим формулам

$$\begin{align*} U_{i}(t+1) = U_{i}(t) + \alpha ex_{i}/ \sum_{j=0}^{N}L_{j}x_{j},\\ L_{i}(t+1) = L_{i}(t) - \alpha ex_{i}\sum_{j=0}^{N}U_{j}x_{j}/(\sum_{j=0}^{N}L_{j}x_{j})^2. \end{align*} $$

Нейрон с квадратичным сумматором

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

$$Q(x) = \sum_{i,j}q_{ij}x_{i}x_{j} + \sum_{i} p_{i}x_{i}+r.$$

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

если $$Q(x) > 0$$, то объект принадлежит первому классу;

если $$Q(x) \le 0$$, то объект принадлежит второму классу (при условии правильного выбора коэффициентов Q(x)).

Квадратичная ошибка здесь определяется как

$$\begin{align*} E(q_{ij},p_i,r) = e^2/2 = (d - Q(x))^2/2. \end{align*} $$

Коэффициенты квадратичного сумматора уточняются по формулам

$$\begin{align*} q_{ij}(t+1) = q_{ij}(t) + 2 \alpha ex_{i}x_{j},\\ p_{i}(t+1) = p_{i}(t) + \alpha ex_{i},\\ r(t+1) = r(t) + \alpha e. \end{align*} $$

Недостаток такого классификатора - большое число настраиваемых параметров.

Сигма-Пи нейроны

Выше были рассмотрены нейроны с линейной и квадратичной функциями активации. Сигма-пи нейроны являются их обобщением на случай представления функции активации u полиномом степени $$N$$, $$N$$ - число входов нейрона:

$$\begin{align*} U = \sum_{k=1}^{M}w_{k}\ \prod_{i\in I_k} x_{i}, \end{align*} $$

где $$I_k$$ - множество индексов, содержащее одну из возможных $$2^N$$ комбинаций первых $$N$$ целых чисел, $$M=2^N$$.

Модель нейрона Хебба

Структурная схема нейрона Хебба соответствует стандартной форме модели нейрона (рис.1). Д.Хебб предложил формальное правило, в котором вес $$w_i$$ нейрона изменяется пропорционально произведению его входного и выходного сигналов

$$\begin{align*} \Delta w_{i} = \alpha x_{i}y, \end{align*} $$

где $$\alpha\in(0,1)$$ - коэффициент обучения.

При обучении с учителем вместо выходного сигнала $$y$$ используется ожидаемая от этого нейрона реакция $$d$$. В этом случае правило Хебба записывается в виде

$$\begin{align*} \Delta w_{i} = \alpha x_{i}d, \end{align*} $$

В каждом цикле обучения происходит суммирование текущего значения веса и его приращения $$\Delta w_{i}$$:

$$\begin{align*} w_i(t+1) = w_i(t) + \Delta w_{i}. \end{align*} $$

В результате применения правила Хебба веса нейрона могут принимать произвольно большие значения. Один из способов стабилизации процесса обучения по правилу Хебба состоит в учете последнего значения $$w_i$$, уменьшенного на коэффициент забывания $$\gamma$$. При этом правило Хебба представляется в виде

$$\begin{align*} w_i(t+1) = w_i(t)(1 - \gamma) + \Delta w_{i}. \end{align*} $$

Значение $$\gamma$$ выбирается из интервала (0,1) и чаще всего составляет некоторый процент от коэффициента обучения $$\alpha$$. Рекомендуемые значения коэффициента забывания - $$\gamma < 0.1$$, при которых нейрон сохраняет большую часть информации, накопленной в процессе обучения, и получает возможность стабилизировать значения весов на определенном уровне.

Стохастическая модель нейрона

В стохастической модели выходное состояние нейрона зависит не только от взвешенной суммы входных сигналов, но и от некоторой случайной переменной, значения которой выбираются при каждой реализации из интервала (0,1).

В стохастической модели нейрона выходной сигнал $$y$$ принимает значения $$\pm 1$$ с вероятностью

$$\begin{align*} P(y = 1)= 1/(1 + \exp(-2\beta u)),\\ P(y = -1)= 1/(1 + \exp(2\beta u)), \end{align*} $$

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

1) расчет взвешенной суммы

$$\begin{align*} u = \sum_{i=0}^N w_{i}x_{i} \end{align*} $$

для каждого нейрона сети.

2) расчет вероятности $$P$$ того, что $$y$$ принимает значение $$\pm 1$$.

3) генерация значения случайной переменной $$R \in (0,1)$$ и формирование выходного сигнала $$y$$, если $$R < P(y)$$, или $$-y$$ в противном случае.

При обучении с учителем по правилу Видроу-Хоффа адаптация весов проводится по формуле

$$\begin{align*} \Delta w_i = \alpha x_i(d-y). \end{align*} $$

Нейроны типа WTA

Нейроны типа WTA (Winner Takes All — "Победитель получает все") имеют входной модуль в виде адаптивного сумматора. Выходной сигнал $$i$$ -го сумматора определяется по формуле

$$\begin{align*} u_i = \sum_{j=0}^N w_{ij}x_j. \end{align*} $$

По результатам сравнения сигналов $${u_i, i=1,2,\ldots,N }$$ отдельных нейронов победителем признается нейрон, у которого $$u_i$$ оказался наибольшим. Нейрон-победитель вырабатывает на своем выходе состояние 1, а остальные (проигравшие) нейроны переходят в состояние 0.

Для обучения нейронов WTA учитель не требуется. На начальном этапе случайным образом выбираются весовые коэффициенты $$w_{ij}$$ каждого нейрона, нормализуемые относительно 1 по формуле

$$w_{ij} \leftarrow w_{ij}/(w_{i1}^2+w_{i2}^2+\ldots+w_{iN}^2)^{1/2}.$$

После подачи входного вектора $$x$$, компоненты которого нормализованы по формуле

$$x_{ij} \leftarrow x_{ij}/(x_{i1}^2+x_{i2}^2+\ldots+x_{iN}^2)^{1/2},$$

определяется победитель этапа. Победитель переходит в состояние 1, что позволяет произвести уточнение весов его входных линий $$w_{ij}$$ по правилу

$$w_{ij}(t+1) = w_{ij}(t)+ \alpha [x - w_{ij}(t)].$$

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

Выходной сигнал $$i$$ -го нейрона может быть описан векторным отношением

$$\begin{align*} u_i = w_i^T x = ||w_i||||x|| \cos \varphi_i. \end{align*} $$

Поскольку $$||w_i||=||x||=1$$, значение $$u_i$$ определяется углом между векторами $$x$$ и $$w_i, u_i = cos \varphi_i$$. Поэтому победителем оказывается нейрон, вектор весов которого оказывается наиболее близким текущему обучающему вектору $$x$$. В результате победы нейрона уточняются его весовые коэффициенты, значения которых приближаются к значениям текущего обучающего вектора $$x$$.

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

Кубические модели нейронов

Вектор $$x$$ входных двоичных сигналов рассматривается как адрес ячейки памяти, содержимое которой равно 0 или 1. Для размерности $$N$$ вектора $$x$$ существует $$2^N$$ возможных адресов.

Можно рассматривать ячейки памяти, как вершины $$N$$ -мерного гиперкуба. Ячейки памяти получают значения независимо друг от друга. Полезно рассматривать ячейки памяти как содержащие поляризованные двоичные значения $$\pm 1$$. Тогда работа кубического модуля описывается следующим образом.

Двоичный вход $$x$$ используется как адрес памяти, поляризованная двоичная величина считывается и конвертируется в неполяризованную форму функцией $$h$$ (см. формулу 1). Обозначим значения по адресу $$x$$ через $$S_\chi$$, так что $$y = h(S_\chi)$$. Такие модули мы будем называть кубическими, чтобы подчеркнуть геометрическое представление множества адресов значений активации как множество вершин гиперкуба.

Запись активации в замкнутой форме

Рассмотрим двухвходовый кубический модуль. Существует 4 значения активации $$\{S_{00}, S_{01}, S_{10}, S_{11}\}$$. Выражение для активации будет иметь следующий вид:

$$\begin{align*} u = S_{00}(1-x_1)(1-x_2) + S_{01}(1-x_1) x_2 + S_{10}x_1 (1-x_2)+ S_{11} x_1 x_2, \end{align*} $$

$$x = (x_1,x_2)$$ - входной вектор. Такая запись вызвана тем, что только одно из произведений в сумме должно быть ненулевым. Для поляризованных входов $$x_1$$ и $$x_2$$ активация

$$\begin{align*} u = [S_{00}(1-x_1)(1-x_2) + S_{01}(1-x_1)(1+x_2) +\\ +S_{10}(1+x_1)(1-x_2) + S_{11} (1+x_1)(1+x_2)]/4. \end{align*} $$

В случае $$N$$ - входового модуля получим

$$\begin{align*} u = [\sum_{\chi} S_\chi \prod_{i=1}^N (1+x_i)]/2^N. \end{align*} $$

Обучение кубических нейронов

Кубические нейроны обучаются путем изменения содержимого ячейки их памяти. Обозначим через `+' операцию инкремента-установки содержимого ячейки в +1, через `-' операцию декремента-установки в -1.

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

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