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

Адаптивная резонансная теория (АРТ)

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

Адаптивная резонансная теория (АРТ)

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

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

Сеть АРТ - попытка приблизить механизм запоминания образов в искусственных НС к биологическому. Результатом работы АРТ является устойчивый набор запомненных образов и возможность выборки "похожего" вектора по произвольному предъявленному на входе вектору. Важное качество АРТ - динамическое запоминание новых образов без полного переобучения и отсутствие потерь уже запомненных образов при предъявлении новых.

Сеть АРТ-1

Сеть АРТ-1 предложена Карпентером и Гроссбергом в 1986 г. Она представляет собой векторный классификатор и обучается без учителя, лишь на основании предъявляемых входных векторов. АРТ-1 работает только с двоичными векторами, состоящими из нулей и единиц. Позже было предложено много разновидностей этой модели. АРТ-2 запоминает и классифицирует непрерывные входные векторы. Группа моделей с суффиксом "MAP" (ARTMAP и др.) классифицирует и входные, и выходные вектора, а также строит связи между ними.

Архитектура и работа

Структура сети АРТ-1 (далее АРТ) представлена на рис. 1. Входной вектор сети $$x = x_1, \ldots, x_n, \ldots, x_N$$ имеет $$N$$ компонент. В слое распознавания запоминается $$M$$ классов образов, по одному классу на каждый нейрон $$m = 1, \ldots, M$$.

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

Работа блоков АРТ определяется следующими формулами:

$$\begin{align*} \mbox{Прм}1: G1 = ({\vee}_{n} x_n)\wedge \neg ({\vee}_{m} R_m). \end{align*} $$

Выход Прм1 обеспечивает единичный сигнал для слоя сравнения, если на вход сети подан вектор $$x$$ (нулевой вектор на входе недопустим) и если выход слоя распознавания равен нулю.

$$\begin{align*} \mbox{Прм}2: G2 = {\vee}_{n} x_n \end{align*} $$

Если на вход подан вектор $$x$$, то блок Прм2 формирует на выходе единичный сигнал и тем самым разрешает работу слоя распознавания.

Схема сброса: $$G3 = (\sum_n C_n/\sum_n x_n) < \rho$$.

Проверяет критерий сходства для векторов $$x$$ и $$C$$. Критерий состоит в сравнении количества единиц в векторах $$x$$, $$C$$. Количества единиц сравниваются в виде отношения с некоторым пороговым уровнем сходства $$\rho$$. Если порог не превышен, то сходство считается плохим и схема сброса вырабатывает сигнал торможения для нейрона в слое распознавания. Выход схемы сброса - двоичный вектор с $$M$$ компонентами. Схема сброса является динамической и "помнит" свое состояние в течение одной классификации. Порог $$\rho$$ является внешним параметром по отношению к сети и задается пользователем в интервале от 0 до 1. Чем меньше $$\rho$$, тем менее похожие векторы будут отнесены сетью к одному классу.

(рис 1) Структурная схема АРТ

Слой сравнения

Каждый нейрон в слое сравнения имеет порог, равный двум. На вход одного нейрона в слое сравнения подаются: сигнал $$G1$$ с единичным весом, одна компонента $$x^n$$ с единичным весом и все выходы слоя распознавания, $$M$$ компонент с вектором весов $$T^n$$, где $$n$$ - номер нейрона в слое сравнения. Весовые коэффициенты $$T$$ - двоичные. В нейроне используется нелинейность в виде жесткой ступеньки: если активация нейрона $$NET_n$$ превышает порог $$\Theta = 2$$, то на выходе нейрона будет единица, иначе - ноль. Это "правило 2/3": для активации нейрона достаточно два сигнала из трех.

Работа слоя определяется формулами:

$$\begin{align*} P_n =T^nR = \sum_m T_m^n R_m\\ NET_n = P_n + x_n + G1\\ C_n = \{0,\mbox{ если } NET_n < 2; 1, \mbox{ если } NET_n \geqslant 2\} \end{align*}$$

Работой слоя управляет сигнал $$G1$$. Если $$G1=1$$, то $$x$$ проходит без изменений на выход слоя сравнения, благодаря лишнему единичному сигналу $$G1$$ на входе нейрона. Если $$G1=0$$, то на выходе имеем $$C = x \wedge ~P$$, т.е. вектор $$C$$ будет логическим произведением двоичных векторов $$x$$ и $$P$$.

Слой распознавания

Каждый нейрон в слое распознавания имеет следующие входы: один сигнал $$G2$$ с единичным весом, одна компонента $$G3_m$$ с большим отрицательным весом ( $$m$$ - номер нейрона) и $$N$$ сигналов со слоя сравнения с вектором весов $$B^m$$ (у вектора $$B^m$$ всего $$N$$ компонент, $$B_1^m, \ldots, B_N^m$$ ).

Нейроны слоя распознавания не содержат нелинейных элементов, но обладают следующей особенностью. Каждый нейрон в слое связан со всеми остальными нейронами этого же слоя обратными тормозящими связями и положительной обратной связью - с самим собой (как во втором слое сети Хемминга, см. Лекцию 10).

Такой способ связности называется латеральным торможением. Это приводит к тому, что только один нейрон в слое распознавания может быть активирован. Между нейронами существует конкуренция, и нейрон с максимальным выходом "подавляет" все остальные нейроны в слое, выигрывая "состязание". Его выход становится равным единице, остальных нейронов - нулю, т.е. вектор $$R$$ имеет только одну единичную компоненту, остальные - нули.

Веса $$B^m$$ имеют действительные значения. Работа слоя определяется формулой:

$$\begin{align*} R_m = f(B^m,C)\wedge G2 \wedge \neg (G3_m), \end{align*} $$

где $$f(B^m,C)$$ - выход $$m$$ -го нейрона, равный нулю или единице.

Отсюда видно, что сигнал $$G2$$ "разрешает" работу слоя распознавания, а сигнал $$G3$$ позволяет выборочно затормозить любые нейроны в слое.

Работа сети АРТ

Решение задачи классификации с помощью АРТ содержит следующие этапы: инициализация, распознавание, сравнение, поиск, обучение.

1. Инициализация.

а) выбираем параметр $$\rho$$, исходя из требуемой детальности классификации;

б) создаем сеть в памяти. Количество нейронов должно быть достаточным, чтобы запомнить все ядра классов (до $$M$$ ). Изначально все нейроны слоя распознавания считаются "невыделенными", их веса приравниваются к одинаковым небольшим значениям:

$$\begin{align*} B_n^m = B_{\mbox{нач}} < L/(L+N-1), \end{align*} $$

где $$L > 1$$ - некоторая константа (обычно $$L=2$$ ). Веса в слое сравнения также выбираются одинаковыми, равными единице: $$T_m^n=1$$.

Такой выбор весов обеспечивает остановку поиска на невыделенном нейроне, если нет подходящих выделенных нейронов, и правильное обучение.

2. Распознавание.

а) предъявляем вектор $$x$$ на входе. До этого момента $$G2=0$$ и выход слоя распознавания равен нулю: $$R=0$$.

б) у вектора $$x$$ есть ненулевые компоненты, поэтому $$G1$$ становится равным единице, т.к. $$R=0$$. Сигнал $$G1$$ "подпитывает" нейроны слоя сравнения и $$x$$ без изменений проходит через слой сравнения: $$C = x$$.

в) весовые коэффициенты $$B^m$$ имеют смысл нормированных ядер классов. В слое распознавания активируется несколько нейронов, но благодаря латеральному торможению остается один нейрон с выходом $$R_{m0} = 1$$, а остальные тормозятся. $$m_0$$ - номер выигравшего нейрона.

3. Сравнение.

а) выход $$R \neq 0$$ приводит к $$G1=0$$, что снимает "подкачку" нейронов в слое сравнения. Весовые коэффициенты $$T^n$$ имеют смысл ненормированных двоичных ядер классов. На вход слоя сравнения передается один ненулевой выход слоя распознавания, $$R_{m0}=1$$. Эта единица умножается на весовые коэффициенты, давая в сумме сигнал

$$\begin{align*} NET_n = x_n + T_{m0}^n. \end{align*} $$

Порог всех нейронов равен 2, поэтому выход слоя сравнения равен

$$\begin{align*} C_n = x_n \wedge T_{m0}^n. \end{align*} $$

Следовательно, выход слоя сравнения на этом этапе - логическое произведение входного сигнала и двоичного ядра класса из слоя сравнения.

б) модуль сброса вычисляет второй критерий сходства (первый - максимум произведения ( $$B^m,x$$ ) в слое распознавания). Если количества единиц в векторе $$C$$ и векторе $$x$$ близки, то сходство считается хорошим и выносится решение о принадлежности вектора $$x$$ к классу $$m0$$.

4. Поиск.

а) если критерий сходства не выполняется, схема сброса вырабатывает сигнал $$G3_{m0}=1$$, который тормозит нейрон $$m_0$$ в слое распознавания. Сигнал $$G3_{m0}=1$$ остается равным 1 до окончания данной классификации. Выход нейрона $$m_0$$ становится равным 0, а, следовательно, и весь вектор $$R=0$$. Сигнал $$G1$$ становится равным нулю и вектор $$x$$ снова проходит через слой сравнения без изменений, вызывая новый цикл поиска (шаги 2в-3б), пока критерий сходства не будет удовлетворен.

При соответствующем выборе начальных значений весов $$B$$ поиск всегда закончится на нераспределенном нейроне слоя распознавания. Для него будет выполнен критерий сходства, т.к. все веса $$T$$ равны 1. Если все нейроны выделены и критерий сходства не выполняется, следует аварийная остановка либо расширение сети введением нового нейрона в слое распознавания и новых входов в слое сравнения.

5. Обучение.

Независимо от того, найден ли на этапе поиска распределенный нейрон или нераспределенный, обучение протекает одинаково. Корректируются лишь веса выигравшего нейрона $$m_0$$ в слое распознавания и веса $$T_{m0}^n$$ для всех $$n$$ в слое сравнения.

Различают быстрое и медленное обучение. При быстром обучении коррекции весов имеют вид:

$$\begin{align*} B_n^{m0} = LC_n/(L+ \sum_n C_n - 1)\equiv \Delta B_n^{m0}, \end{align*} $$

где $$L >1$$ - константа.

Веса в слое сравнения - двоичные: $$T_{m0}^n$$.

В результате такого алгоритма обучения ядра $$T$$ изменяются, несущественные компоненты обнуляются в процессе обучения. Если какая-то компонента вектора $$T^n$$ стала нулевой на какой-то итерации обучения, она никогда не вернется к единице. В этом проявляется асимметрия АРТ по отношению к значениям 0 и 1. Эта асимметрия имеет серьезные отрицательные последствия для модели, приводя к деградации ядер классов в случае зашумленных входных векторов.

Медленное обучение меняет ядра малыми коррекциями:

$$\begin{align*} B_n^{m0}\longrightarrow \beta \Delta B_n^{m0} + (1 - \beta ) B_n^{m0},\\ T_{m0}^n \longrightarrow \beta C_n + (1 - \beta ) T_{m0}^n, \end{align*} $$

где $$\beta$$ мало и характеризует скорость обучения.

В результате каждой итерации обучения ядра меняются незначительно.

Видно, что веса $$B$$ в любой момент времени могут быть однозначно рассчитаны через веса $$T$$, таким образом, кодирование информации о ядрах в АРТ в рассмотренной модели является избыточным в смысле расхода памяти.

Необходимость поиска

В сети АРТ используются два критерия "похожести" векторов. Первый - максимум скалярного произведения $$max_m(B^m,x)$$ при выборе "победителя" в слое распознавания. Второй - критерий сходства в блоке сброса:

$$\begin{align*} \Bigl(\sum_{n} C_n/ \sum_{n} x_n\Bigr)\Bigr|_{x,C} \geqslant \rho. \end{align*} $$

Таким образом, задача классификации в сети АРТ состоит в том, чтобы найти ядро с максимальным скалярным произведением $$(B^m,x)$$, соблюдая при этом условие выполнения критерия сходства. Эти два критерия не являются эквивалентными, поэтому и фаза поиска, и фаза распознавания являются необходимыми и не могут быть опущены.

Положительные качества и недостатки АРТ

Сеть АРТ решает дилемму стабильности-пластичности и позволяет быстро запоминать новые образы без утраты старых. Как и в случае других моделей НС, на обычных машинах фон-неймановского типа сети работают медленно и неэффективно. Для решения задачи нужно найти максимум скалярного произведения, что требует около $$3NM$$ операций с плавающей запятой, и вычислить в худшем случае $$M$$ критериев сходства. Для этого необходимы существенные вычислительные затраты. На параллельном компьютере операции расчета скалярных произведений могут быть распараллелены, но расчет критериев сходства все равно выполняется последовательно. Таким образом, даже на параллельной машине сеть АРТ является требовательной к ресурсам.

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

У сети АРТ есть несколько существенных недостатков.

  • Чувствительность к порядку предъявления векторов. Большинство разновидностей АРТ весьма чувствительны к порядку предъявления входных векторов $$x$$. Картины ядер классов, сформированные сетью, принципиально меняются при различных видах упорядочения.
  • Невозможность классификации зашумленных векторов. Пусть входные векторы содержат шум.
  • Если компонента незашумленного входного вектора равна $$x_n$$, то предъявленные сети значения будут определяться вероятностным законом:

    $$\begin{align*} p(x_n) = 1 - \varepsilon,\\ p(- x_n) = \varepsilon, \end{align*} $$

    где $$\varepsilon$$ - малое положительное число, характеризующее уровень шума.

    Если такие данные будут предъявлены АРТ, то будет наблюдаться деградация и размножение классов. Если сетью сформировано правильное ядро для класса, к которому относится вектор $$x$$, то как только компонента $$x_n$$ примет нулевое значение за счет шума (если векторы предъявляются не однократно), соответствующая компонента ядра также будет обнулена. Т.к. случайное нулевое значение может принять любая компонента $$x$$, то с течением времени все компоненты ядра будут обнулены, запомненная информация об этом классе - утрачена. Если после этого предъявить незашумленный вариант вектора $$x$$, то для него будет выделен новый нейрон, т.е. сформирован новый класс. Это явление называется размножением классов. Через некоторое время в сети будет множество нейронов с нулевыми весами, и все нейроны будут распределены. Работа сети прекратится. Это явление определяется исходной асимметрией алгоритмов АРТ относительно значений 0 и 1. Существуют методы для устранения асимметрии и предотвращения размножения классов.

    Страницы:

    Адаптивная резонансная теория (АРТ)

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

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

    Сеть АРТ - попытка приблизить механизм запоминания образов в искусственных НС к биологическому. Результатом работы АРТ является устойчивый набор запомненных образов и возможность выборки "похожего" вектора по произвольному предъявленному на входе вектору. Важное качество АРТ - динамическое запоминание новых образов без полного переобучения и отсутствие потерь уже запомненных образов при предъявлении новых.

    Сеть АРТ-1

    Сеть АРТ-1 предложена Карпентером и Гроссбергом в 1986 г. Она представляет собой векторный классификатор и обучается без учителя, лишь на основании предъявляемых входных векторов. АРТ-1 работает только с двоичными векторами, состоящими из нулей и единиц. Позже было предложено много разновидностей этой модели. АРТ-2 запоминает и классифицирует непрерывные входные векторы. Группа моделей с суффиксом "MAP" (ARTMAP и др.) классифицирует и входные, и выходные вектора, а также строит связи между ними.

    Архитектура и работа

    Структура сети АРТ-1 (далее АРТ) представлена на рис. 1. Входной вектор сети $$x = x_1, \ldots, x_n, \ldots, x_N$$ имеет $$N$$ компонент. В слое распознавания запоминается $$M$$ классов образов, по одному классу на каждый нейрон $$m = 1, \ldots, M$$.

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

    Работа блоков АРТ определяется следующими формулами:

    $$\begin{align*} \mbox{Прм}1: G1 = ({\vee}_{n} x_n)\wedge \neg ({\vee}_{m} R_m). \end{align*} $$

    Выход Прм1 обеспечивает единичный сигнал для слоя сравнения, если на вход сети подан вектор $$x$$ (нулевой вектор на входе недопустим) и если выход слоя распознавания равен нулю.

    $$\begin{align*} \mbox{Прм}2: G2 = {\vee}_{n} x_n \end{align*} $$

    Если на вход подан вектор $$x$$, то блок Прм2 формирует на выходе единичный сигнал и тем самым разрешает работу слоя распознавания.

    Схема сброса: $$G3 = (\sum_n C_n/\sum_n x_n) < \rho$$.

    Проверяет критерий сходства для векторов $$x$$ и $$C$$. Критерий состоит в сравнении количества единиц в векторах $$x$$, $$C$$. Количества единиц сравниваются в виде отношения с некоторым пороговым уровнем сходства $$\rho$$. Если порог не превышен, то сходство считается плохим и схема сброса вырабатывает сигнал торможения для нейрона в слое распознавания. Выход схемы сброса - двоичный вектор с $$M$$ компонентами. Схема сброса является динамической и "помнит" свое состояние в течение одной классификации. Порог $$\rho$$ является внешним параметром по отношению к сети и задается пользователем в интервале от 0 до 1. Чем меньше $$\rho$$, тем менее похожие векторы будут отнесены сетью к одному классу.

    (рис 1) Структурная схема АРТ

    Слой сравнения

    Каждый нейрон в слое сравнения имеет порог, равный двум. На вход одного нейрона в слое сравнения подаются: сигнал $$G1$$ с единичным весом, одна компонента $$x^n$$ с единичным весом и все выходы слоя распознавания, $$M$$ компонент с вектором весов $$T^n$$, где $$n$$ - номер нейрона в слое сравнения. Весовые коэффициенты $$T$$ - двоичные. В нейроне используется нелинейность в виде жесткой ступеньки: если активация нейрона $$NET_n$$ превышает порог $$\Theta = 2$$, то на выходе нейрона будет единица, иначе - ноль. Это "правило 2/3": для активации нейрона достаточно два сигнала из трех.

    Работа слоя определяется формулами:

    $$\begin{align*} P_n =T^nR = \sum_m T_m^n R_m\\ NET_n = P_n + x_n + G1\\ C_n = \{0,\mbox{ если } NET_n < 2; 1, \mbox{ если } NET_n \geqslant 2\} \end{align*}$$

    Работой слоя управляет сигнал $$G1$$. Если $$G1=1$$, то $$x$$ проходит без изменений на выход слоя сравнения, благодаря лишнему единичному сигналу $$G1$$ на входе нейрона. Если $$G1=0$$, то на выходе имеем $$C = x \wedge ~P$$, т.е. вектор $$C$$ будет логическим произведением двоичных векторов $$x$$ и $$P$$.

    Слой распознавания

    Каждый нейрон в слое распознавания имеет следующие входы: один сигнал $$G2$$ с единичным весом, одна компонента $$G3_m$$ с большим отрицательным весом ( $$m$$ - номер нейрона) и $$N$$ сигналов со слоя сравнения с вектором весов $$B^m$$ (у вектора $$B^m$$ всего $$N$$ компонент, $$B_1^m, \ldots, B_N^m$$ ).

    Нейроны слоя распознавания не содержат нелинейных элементов, но обладают следующей особенностью. Каждый нейрон в слое связан со всеми остальными нейронами этого же слоя обратными тормозящими связями и положительной обратной связью - с самим собой (как во втором слое сети Хемминга, см. Лекцию 10).

    Такой способ связности называется латеральным торможением. Это приводит к тому, что только один нейрон в слое распознавания может быть активирован. Между нейронами существует конкуренция, и нейрон с максимальным выходом "подавляет" все остальные нейроны в слое, выигрывая "состязание". Его выход становится равным единице, остальных нейронов - нулю, т.е. вектор $$R$$ имеет только одну единичную компоненту, остальные - нули.

    Веса $$B^m$$ имеют действительные значения. Работа слоя определяется формулой:

    $$\begin{align*} R_m = f(B^m,C)\wedge G2 \wedge \neg (G3_m), \end{align*} $$

    где $$f(B^m,C)$$ - выход $$m$$ -го нейрона, равный нулю или единице.

    Отсюда видно, что сигнал $$G2$$ "разрешает" работу слоя распознавания, а сигнал $$G3$$ позволяет выборочно затормозить любые нейроны в слое.

    Работа сети АРТ

    Решение задачи классификации с помощью АРТ содержит следующие этапы: инициализация, распознавание, сравнение, поиск, обучение.

    1. Инициализация.

    а) выбираем параметр $$\rho$$, исходя из требуемой детальности классификации;

    б) создаем сеть в памяти. Количество нейронов должно быть достаточным, чтобы запомнить все ядра классов (до $$M$$ ). Изначально все нейроны слоя распознавания считаются "невыделенными", их веса приравниваются к одинаковым небольшим значениям:

    $$\begin{align*} B_n^m = B_{\mbox{нач}} < L/(L+N-1), \end{align*} $$

    где $$L > 1$$ - некоторая константа (обычно $$L=2$$ ). Веса в слое сравнения также выбираются одинаковыми, равными единице: $$T_m^n=1$$.

    Такой выбор весов обеспечивает остановку поиска на невыделенном нейроне, если нет подходящих выделенных нейронов, и правильное обучение.

    2. Распознавание.

    а) предъявляем вектор $$x$$ на входе. До этого момента $$G2=0$$ и выход слоя распознавания равен нулю: $$R=0$$.

    б) у вектора $$x$$ есть ненулевые компоненты, поэтому $$G1$$ становится равным единице, т.к. $$R=0$$. Сигнал $$G1$$ "подпитывает" нейроны слоя сравнения и $$x$$ без изменений проходит через слой сравнения: $$C = x$$.

    в) весовые коэффициенты $$B^m$$ имеют смысл нормированных ядер классов. В слое распознавания активируется несколько нейронов, но благодаря латеральному торможению остается один нейрон с выходом $$R_{m0} = 1$$, а остальные тормозятся. $$m_0$$ - номер выигравшего нейрона.

    3. Сравнение.

    а) выход $$R \neq 0$$ приводит к $$G1=0$$, что снимает "подкачку" нейронов в слое сравнения. Весовые коэффициенты $$T^n$$ имеют смысл ненормированных двоичных ядер классов. На вход слоя сравнения передается один ненулевой выход слоя распознавания, $$R_{m0}=1$$. Эта единица умножается на весовые коэффициенты, давая в сумме сигнал

    $$\begin{align*} NET_n = x_n + T_{m0}^n. \end{align*} $$

    Порог всех нейронов равен 2, поэтому выход слоя сравнения равен

    $$\begin{align*} C_n = x_n \wedge T_{m0}^n. \end{align*} $$

    Следовательно, выход слоя сравнения на этом этапе - логическое произведение входного сигнала и двоичного ядра класса из слоя сравнения.

    б) модуль сброса вычисляет второй критерий сходства (первый - максимум произведения ( $$B^m,x$$ ) в слое распознавания). Если количества единиц в векторе $$C$$ и векторе $$x$$ близки, то сходство считается хорошим и выносится решение о принадлежности вектора $$x$$ к классу $$m0$$.

    4. Поиск.

    а) если критерий сходства не выполняется, схема сброса вырабатывает сигнал $$G3_{m0}=1$$, который тормозит нейрон $$m_0$$ в слое распознавания. Сигнал $$G3_{m0}=1$$ остается равным 1 до окончания данной классификации. Выход нейрона $$m_0$$ становится равным 0, а, следовательно, и весь вектор $$R=0$$. Сигнал $$G1$$ становится равным нулю и вектор $$x$$ снова проходит через слой сравнения без изменений, вызывая новый цикл поиска (шаги 2в-3б), пока критерий сходства не будет удовлетворен.

    При соответствующем выборе начальных значений весов $$B$$ поиск всегда закончится на нераспределенном нейроне слоя распознавания. Для него будет выполнен критерий сходства, т.к. все веса $$T$$ равны 1. Если все нейроны выделены и критерий сходства не выполняется, следует аварийная остановка либо расширение сети введением нового нейрона в слое распознавания и новых входов в слое сравнения.

    5. Обучение.

    Независимо от того, найден ли на этапе поиска распределенный нейрон или нераспределенный, обучение протекает одинаково. Корректируются лишь веса выигравшего нейрона $$m_0$$ в слое распознавания и веса $$T_{m0}^n$$ для всех $$n$$ в слое сравнения.

    Различают быстрое и медленное обучение. При быстром обучении коррекции весов имеют вид:

    $$\begin{align*} B_n^{m0} = LC_n/(L+ \sum_n C_n - 1)\equiv \Delta B_n^{m0}, \end{align*} $$

    где $$L >1$$ - константа.

    Веса в слое сравнения - двоичные: $$T_{m0}^n$$.

    В результате такого алгоритма обучения ядра $$T$$ изменяются, несущественные компоненты обнуляются в процессе обучения. Если какая-то компонента вектора $$T^n$$ стала нулевой на какой-то итерации обучения, она никогда не вернется к единице. В этом проявляется асимметрия АРТ по отношению к значениям 0 и 1. Эта асимметрия имеет серьезные отрицательные последствия для модели, приводя к деградации ядер классов в случае зашумленных входных векторов.

    Медленное обучение меняет ядра малыми коррекциями:

    $$\begin{align*} B_n^{m0}\longrightarrow \beta \Delta B_n^{m0} + (1 - \beta ) B_n^{m0},\\ T_{m0}^n \longrightarrow \beta C_n + (1 - \beta ) T_{m0}^n, \end{align*} $$

    где $$\beta$$ мало и характеризует скорость обучения.

    В результате каждой итерации обучения ядра меняются незначительно.

    Видно, что веса $$B$$ в любой момент времени могут быть однозначно рассчитаны через веса $$T$$, таким образом, кодирование информации о ядрах в АРТ в рассмотренной модели является избыточным в смысле расхода памяти.

    Необходимость поиска

    В сети АРТ используются два критерия "похожести" векторов. Первый - максимум скалярного произведения $$max_m(B^m,x)$$ при выборе "победителя" в слое распознавания. Второй - критерий сходства в блоке сброса:

    $$\begin{align*} \Bigl(\sum_{n} C_n/ \sum_{n} x_n\Bigr)\Bigr|_{x,C} \geqslant \rho. \end{align*} $$

    Таким образом, задача классификации в сети АРТ состоит в том, чтобы найти ядро с максимальным скалярным произведением $$(B^m,x)$$, соблюдая при этом условие выполнения критерия сходства. Эти два критерия не являются эквивалентными, поэтому и фаза поиска, и фаза распознавания являются необходимыми и не могут быть опущены.

    Положительные качества и недостатки АРТ

    Сеть АРТ решает дилемму стабильности-пластичности и позволяет быстро запоминать новые образы без утраты старых. Как и в случае других моделей НС, на обычных машинах фон-неймановского типа сети работают медленно и неэффективно. Для решения задачи нужно найти максимум скалярного произведения, что требует около $$3NM$$ операций с плавающей запятой, и вычислить в худшем случае $$M$$ критериев сходства. Для этого необходимы существенные вычислительные затраты. На параллельном компьютере операции расчета скалярных произведений могут быть распараллелены, но расчет критериев сходства все равно выполняется последовательно. Таким образом, даже на параллельной машине сеть АРТ является требовательной к ресурсам.

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

    У сети АРТ есть несколько существенных недостатков.

  • Чувствительность к порядку предъявления векторов. Большинство разновидностей АРТ весьма чувствительны к порядку предъявления входных векторов $$x$$. Картины ядер классов, сформированные сетью, принципиально меняются при различных видах упорядочения.
  • Невозможность классификации зашумленных векторов. Пусть входные векторы содержат шум.
  • Если компонента незашумленного входного вектора равна $$x_n$$, то предъявленные сети значения будут определяться вероятностным законом:

    $$\begin{align*} p(x_n) = 1 - \varepsilon,\\ p(- x_n) = \varepsilon, \end{align*} $$

    где $$\varepsilon$$ - малое положительное число, характеризующее уровень шума.

    Если такие данные будут предъявлены АРТ, то будет наблюдаться деградация и размножение классов. Если сетью сформировано правильное ядро для класса, к которому относится вектор $$x$$, то как только компонента $$x_n$$ примет нулевое значение за счет шума (если векторы предъявляются не однократно), соответствующая компонента ядра также будет обнулена. Т.к. случайное нулевое значение может принять любая компонента $$x$$, то с течением времени все компоненты ядра будут обнулены, запомненная информация об этом классе - утрачена. Если после этого предъявить незашумленный вариант вектора $$x$$, то для него будет выделен новый нейрон, т.е. сформирован новый класс. Это явление называется размножением классов. Через некоторое время в сети будет множество нейронов с нулевыми весами, и все нейроны будут распределены. Работа сети прекратится. Это явление определяется исходной асимметрией алгоритмов АРТ относительно значений 0 и 1. Существуют методы для устранения асимметрии и предотвращения размножения классов.

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