Серьезная проблема для нейронных сетей - правильное соотношение
стабильности и
Человеческая память, напротив, эффективно хранит и корректирует запоминаемые образы. Ни предъявление нового образа, ни изменение старых не приводит к уничтожению памяти или невозможности запоминания. Даже удаление части нервной ткани чаще всего не прерывает работу сети и не стирает запомненные образы, а лишь делает их менее четкими.
Сеть
Сеть
Структура сети
Основную работу по классификации производят слой сравнения и слой распознавания. Схемы приемников (Прм1, Прм2) и схема сброса управляют режимом работы сети и могут быть реализованы в виде обычных логических схем или в виде нейронов.
Работа блоков
Выход Прм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$$ является
(рис 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$$ стала нулевой на какой-то итерации обучения, она
никогда не
вернется к единице. В этом проявляется асимметрия
Медленное обучение меняет ядра малыми коррекциями:
$$\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$$, таким образом, кодирование информации о ядрах в
В сети
Таким образом, задача классификации в сети
Сеть
Тем не менее, одна итерация для запоминания каждого входного вектора -
редкая экономичность для нейронных сетей. Вспомним, что многослойный
персептрон для запоминания нового вектора требует полного
У сети
Если компонента незашумленного входного вектора равна $$x_n$$, то предъявленные сети значения будут определяться вероятностным законом:
$$\begin{align*} p(x_n) = 1 - \varepsilon,\\ p(- x_n) = \varepsilon, \end{align*} $$где $$\varepsilon$$ - малое положительное число, характеризующее уровень шума.
Если такие данные будут предъявлены
Серьезная проблема для нейронных сетей - правильное соотношение
стабильности и
Человеческая память, напротив, эффективно хранит и корректирует запоминаемые образы. Ни предъявление нового образа, ни изменение старых не приводит к уничтожению памяти или невозможности запоминания. Даже удаление части нервной ткани чаще всего не прерывает работу сети и не стирает запомненные образы, а лишь делает их менее четкими.
Сеть
Сеть
Структура сети
Основную работу по классификации производят слой сравнения и слой распознавания. Схемы приемников (Прм1, Прм2) и схема сброса управляют режимом работы сети и могут быть реализованы в виде обычных логических схем или в виде нейронов.
Работа блоков
Выход Прм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$$ является
(рис 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$$ стала нулевой на какой-то итерации обучения, она
никогда не
вернется к единице. В этом проявляется асимметрия
Медленное обучение меняет ядра малыми коррекциями:
$$\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$$, таким образом, кодирование информации о ядрах в
В сети
Таким образом, задача классификации в сети
Сеть
Тем не менее, одна итерация для запоминания каждого входного вектора -
редкая экономичность для нейронных сетей. Вспомним, что многослойный
персептрон для запоминания нового вектора требует полного
У сети
Если компонента незашумленного входного вектора равна $$x_n$$, то предъявленные сети значения будут определяться вероятностным законом:
$$\begin{align*} p(x_n) = 1 - \varepsilon,\\ p(- x_n) = \varepsilon, \end{align*} $$где $$\varepsilon$$ - малое положительное число, характеризующее уровень шума.
Если такие данные будут предъявлены
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.