Биологический прототип

Алгоритмы обучения


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

где
Алгоритмы обучения
— значение веса от нейрона
Алгоритмы обучения
к нейрону
Алгоритмы обучения
до подстройки,
Алгоритмы обучения
— значение веса от нейрона
Алгоритмы обучения
к нейрону
Алгоритмы обучения
после подстройки,
Алгоритмы обучения
— коэффициент скорости обучения,
Алгоритмы обучения
— выход нейрона
Алгоритмы обучения
и вход нейрона
Алгоритмы обучения
,
Алгоритмы обучения
— выход нейрона
Алгоритмы обучения
.
Сети, использующие обучение по Хэббу, конструктивно развивались, однако за последние 20 лет появились и разрабатывались более эффективные алгоритмы обучения. В частности, были развиты алгоритмы обучения с учителем, приводящие к сетям с более широким диапазоном характеристик обучающих входных образов и большими скоростями обучения, чем использующие простое обучение по Хэббу.


Биологический прототип


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

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

увеличить изображение
Рис. 1.1. 
На рис. 1.1 показана структура пары типичных биологических нейронов. Дендриты идут от тела нервной клетки к другим нейронам, где они принимают сигналы в точках соединения, называемых синапсами. Принятые синапсом входные сигналы передаются к телу нейрона. Здесь они суммируются, причем одни входы стремятся возбудить нейрон, другие — воспрепятствовать его возбуждению.
Когда суммарное возбуждение в теле нейрона превышает некоторый порог, нейрон возбуждается, посылая по аксону сигнал другим нейронам. У этой основной функциональной схемы много усложнений и исключений, тем не менее, большинство искусственных нейронных сетей моделируют лишь эти простые свойства.


Цель обучения


Сеть обучается, чтобы для некоторого множества входов давать желаемое (или, по крайней мере, сообразное с ним) множество выходов. Каждое такое входное (или выходное) множество рассматривается как вектор. Обучение осуществляется путем последовательного предъявления входных векторов с одновременной подстройкой весов в соответствии с определенной процедурой. В процессе обучения веса сети постепенно становятся такими, чтобы каждый входной вектор вырабатывал выходной вектор.


Искусственный нейрон


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

Рис. 1.2. 
На рис. 1.2 представлена модель, реализующая эту идею. Множество входных сигналов, обозначенных
Искусственный нейрон
, поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором
Искусственный нейрон
, соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес
Искусственный нейрон
, и поступает на суммирующий блок, обозначенный
Искусственный нейрон
. Каждый вес соответствует "силе" одной биологической синаптической связи. (Множество весов в совокупности обозначается вектором
Искусственный нейрон
.) Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть
Искусственный нейрон
. В векторных обозначениях это может быть компактно записано следующим образом:
Искусственный нейрон

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

где
Искусственный нейрон
— константа, пороговой функцией
Искусственный нейрон

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

Рис. 1.3. 
На рис. 1.2 блок, обозначенный
Искусственный нейрон
, принимает сигнал
Искусственный нейрон
и выдает сигнал
Искусственный нейрон
. Если блок
Искусственный нейрон
сужает диапазон изменения величины
Искусственный нейрон
так, что при любых значениях
Искусственный нейрон
значения
Искусственный нейрон
принадлежат некоторому конечному интервалу, то
Искусственный нейрон
называется "сжимающей" функцией. В качестве "сжимающей" функции часто используется логистическая или "сигмоидальная" (S-образная) функция, показанная на рис. 1.3. Эта функция математически выражается как
Искусственный нейрон
. Таким образом,
Искусственный нейрон

По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона.



Коэффициент усиления вычисляется как отношение приращения величины
Искусственный нейрон
к вызвавшему его небольшому приращению величины
Искусственный нейрон
. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. С. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы, в свою очередь, также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала

Искусственный нейрон


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

Искусственный нейрон


Искусственный нейрон

Рис. 1.4. 

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

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

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


Многослойные искусственные нейронные сети


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

Так как умножение матриц ассоциативно, то
Многослойные искусственные нейронные сети
.
Многослойные искусственные нейронные сети

Рис. 1.6. 
Это показывает, что двухслойная линейная сеть эквивалентна одному слою с весовой матрицей, равной произведению двух весовых матриц. Следовательно, любая многослойная линейная сеть может быть заменена эквивалентной однослойной сетью. Однако однослойные сети весьма ограниченны по своим вычислительным возможностям. Таким образом, для расширения возможностей сетей по сравнению с однослойной сетью необходима нелинейная активационная функция.
У сетей, рассмотренных до сих пор, не было обратных связей, т. е. соединений, идущих от выходов некоторого слоя к входам этого же слоя или предшествующих слоев. Этот специальный класс сетей, называемых сетями без обратных связей или сетями прямого распространения, представляет большой интерес и широко используется. Сети более общего вида, имеющие соединения от выходов к входам, называются сетями с обратными связями. У сетей без обратных связей нет памяти, их выход полностью определяется текущими входами и значениями весов.



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

К сожалению, нет общепринятого способа подсчета числа слоев в сети. Многослойная сеть состоит, как показано на рис. 1.6, из чередующихся множеств нейронов и весов. Ранее, в связи с рис. 1.5, уже говорилось, что входной слой не выполняет суммирования. Эти нейроны служат лишь в качестве разветвлений для первого множества весов и не влияют на вычислительные возможности сети. По этой причине первый слой не принимается во внимание при подсчете слоев, и сеть, подобная изображенной на рисунке 1.6, считается двуслойной, так как только два слоя выполняют вычисления. Далее, веса слоя считаются связанными со следующими за ними нейронами. Следовательно, слой состоит из множества весов со следующими за ними нейронами, суммирующими взвешенные сигналы.


Обучение без учителя


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


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


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


Обучение с учителем


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


Однослойные искусственные нейронные сети


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

Рис. 1.5. 
Удобно считать веса элементами матрицы
Однослойные искусственные нейронные сети
. Матрица имеет
Однослойные искусственные нейронные сети

строк и
Однослойные искусственные нейронные сети
столбцов, где
Однослойные искусственные нейронные сети
— число входов, а
Однослойные искусственные нейронные сети
— число нейронов. Например,
Однослойные искусственные нейронные сети
— это вес, связывающий третий вход со вторым нейроном. Таким образом, вычисление выходного вектора
Однослойные искусственные нейронные сети
, компонентами которого являются выходы OUT нейронов, сводится к матричному умножению
Однослойные искусственные нейронные сети
, где
Однослойные искусственные нейронные сети
и
Однослойные искусственные нейронные сети

— векторы-строки.


Персептроны и зарождение искусственных нейронных сетей

Эффективность запоминания


Серьезные вопросы существуют относительно эффективности запоминания информации в персептроне (или любых других нейронных сетях) по сравнению с обычной компьютерной памятью и методами поиска информации в ней. Например, в компьютерной памяти можно хранить все входные образы вместе с классифицирующими битами. Компьютер должен найти требуемый образ и дать его классификацию. Многочисленные и хорошо известные методы могли бы применяться для ускорения поиска. Если точное соответствие не найдено, то для ответа может быть использовано правило ближайшего соседа.
Число битов, необходимое для хранения этой же информации в весах персептрона, может быть значительно меньшим по сравнению с методом обычной компьютерной памяти, если образы допускают экономичную запись. Однако М.Л.Минский построил патологические примеры, в которых число битов, требуемых для представления весов, растет в зависимости от размерности задачи быстрее, чем экспоненциально. В этих случаях требования к памяти быстро становятся невыполнимыми. Если, как он предположил, эта ситуация не является исключением, то персептроны часто могут быть ограничены только малыми задачами. Насколько общими являются такие неподатливые множества образов? Вопрос остается открытым и относится ко всем нейронным сетям. Поиски ответа чрезвычайно важны для дальнейших исследований в этой области.


Линейная разделимость


Как мы убедились, невозможно нарисовать прямую линию, разделяющую плоскость
Линейная разделимость
так, чтобы реализовывалась функция ИСКЛЮЧАЮЩЕЕ ИЛИ. К сожалению, этот пример не единственный. Имеется обширный класс функций, не реализуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми: они-то и накладывают определенные ограничения на возможности однослойных сетей.
Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделены геометрически. Для нашего случая с двумя входами разделитель является прямой линией. В случае трех входов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна, и необходимо мысленно представить
Линейная разделимость
-мерное пространство, рассекаемое "гиперплоскостью" — геометрическим объектом, который делит пространство четырех или большего числа измерений.
Так как линейная разделимость ограничивает возможности персептронного представления, то важно знать, является ли данная функция разделимой. К сожалению, не существует простого способа определить это, если число переменных велико.
Нейрон с
Линейная разделимость
двоичными входами может иметь
Линейная разделимость

различных входных образов, состоящих из нулей и единиц. Так как каждый входной образ может соответствовать двум различным бинарным выходам (единица и ноль), то всего имеется
Линейная разделимость
функций от
Линейная разделимость

переменных.

Таблица 2.2.
n
Линейная разделимость
Число линейно разделимых функций
144
21614
3256104
4655361882
54,3x10994572
61,8x101915028134

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


Персептронная представляемость


Доказательство теоремы обучения персептрона показало, что персептрон способен научиться всему, что он способен представлять. Важно при этом уметь различать представляемость и обучаемость. Понятие представляемости относится к способности персептрона (или другой сети) моделировать определенную функцию. Обучаемость же требует наличия систематической процедуры настройки весов сети для реализации этой функции.
Для иллюстрации проблемы представляемости допустим, что у нас есть множество карт, помеченных цифрами от 0 до 9. Допустим также, что мы обладаем гипотетической машиной, способной отличать карты с нечетным номером от карт с четным номером и зажигающей индикатор на своей панели при предъявлении карты с нечетным номером. Представима ли такая машина персептроном? То есть возможно ли сконструировать персептрон и настроить его веса (неважно, каким образом) так, чтобы он обладал такой же разделяющей способностью? Если это достижимо, то говорят, что персептрон способен представлять желаемую машину. Мы увидим, что возможности представления однослойными персептронами весьма ограниченны. Имеется много простых машин, которые не могут быть представлены персептроном, независимо от того, как настраиваются его веса.


Персептроны и зарождение искусственных нейронных сетей


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

Рис. 2.1. 
Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. Позднее они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам. Простая нейронная модель, показанная на рис. 2.1, использовалась в большей части их работ. Элемент
Персептроны и зарождение искусственных нейронных сетей
умножает каждый вход
Персептроны и зарождение искусственных нейронных сетей
на вес
Персептроны и зарождение искусственных нейронных сетей
и суммирует взвешенные входы. Если полученная сумма больше заданного порогового значения, выход равен единице, в противном случае — нулю. Эти системы (и множество им подобных) получили название персептронов. Они состоят из одного слоя искусственных нейронов, соединенных с помощью весовых коэффициентов с множеством входов (см. рис. 2.2), хотя, в принципе, описываются и более сложные системы. В 60-е годы персептроны вызвали большой интерес и оптимизм. Одной из первых искусственных сетей, способных к перцепции (восприятию) и формированию реакции на воспринятый раздражитель, явился PERCEPTRON Розенблатта (F.Rosenblatt, 1957). Персептрон рассматривался его автором не как конкретное техническое (вычислительное) устройство, а как модель работы мозга. Розенблатт называл такую нейронную сеть трехслойной, однако, по современной терминологии, представленная сеть обычно называется однослойной, так как имеет только один слой нейропроцессорных элементов.
Персептроны и зарождение искусственных нейронных сетей

Рис. 2.2. 
В Корнеллской авиационной лаборатории была разработана электротехническая модель персептрона MARK-1, которая содержала 8 выходных элементов.



На этом персептроне была проведена серия экспериментов по распознаванию букв алфавита и геометрических образов.

Ф. Розенблатт доказал замечательную теорему об обучении персептронов (которую мы рассмотрим на следующей лекции). Д. Уидроу дал ряд убедительных демонстраций систем персептронного типа, и исследователи во всем мире стремились изучить возможности этих систем. Первоначальная эйфория сменилась разочарованием, когда оказалось, что персептроны не способны обучаться решению ряда простых задач. Минский строго проанализировал эту проблему и показал, что имеются жесткие ограничения того, что могут выполнять однослойные персептроны, и, следовательно, того, чему они могут обучаться. Так как в то время методы обучения многослойных сетей не были известны, исследователи занялись более многообещающими проектами, и исследования в области нейронных сетей пришли в упадок. Недавнее открытие методов обучения многослойных сетей привело к возрождению интереса и возобновлению исследований.

Работа М.Л.Минского, возможно, и охладила пыл энтузиастов персептрона, но обеспечила время для необходимой консолидации и развития лежащей в основе теории. Важно отметить, что анализ Минского не был опровергнут. Он остается актуальным исследованием и должен непременно учитываться как часть базовых знаний, чтобы ошибки 60-х годов не повторились. Несмотря на свои ограничения, персептроны широко изучались. Теория персептронов является основой для многих других типов искусственных нейронных сетей, персептроны иллюстрируют важные принципы. В силу этих причин они являются логической исходной точкой для изучения искусственных нейронных сетей.


Преодоление ограничения линейной разделимости


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

Рис. 2.6. 
Чтобы уточнить требование выпуклости, рассмотрим простую двуслойную сеть с двумя входами, которые подведены к двум нейронам первого слоя, соединенными с единственным нейроном в слое 2 (см. рис. 2.7а). Пусть порог выходного нейрона равен 0,75, а оба его веса равны 0,5. В этом случае для того, чтобы порог был превышен и на выходе появилась единица, требуется, чтобы оба нейрона первого уровня на выходе имели единицу. Таким образом, выходной нейрон реализует логическую функцию И. На рис. 2.7а каждый нейрон слоя 1 разбивает плоскость
Преодоление ограничения линейной разделимости
на две полуплоскости, один обеспечивает единичный выход для входов ниже верхней линии, другой — для входов выше нижней линии. На рис. 2.7б показан результат такого двойного разбиения, где выходной сигнал нейрона второго слоя равен единице только внутри
Преодоление ограничения линейной разделимости
-образной области. Аналогично, во втором слое может быть использовано три нейрона с дальнейшим разбиением плоскости и созданием области треугольной формы. Включением достаточного числа нейронов во входной слой может быть образован выпуклый многоугольник любой желаемой формы. Все такие многогранники выпуклы, так как они образованы с помощью операции И над областями, задаваемыми линиями: следовательно, только выпуклые области и возникают.



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

Преодоление ограничения линейной разделимости

Рис. 2.7. 

Нейрон второго слоя не ограничен функцией И. Он может реализовывать многие другие функции при подходящем выборе весов и порога. Например, можно сделать так, чтобы единичный выход любого из нейронов первого слоя приводил к появлению единицы на выходе нейрона второго слоя, реализовав тем самым логическое ИЛИ. Например, имеется 16 двоичных функций от двух переменных. Если выбирать подходящим образом веса и порог, то можно воспроизвести 14 из них (все, кроме ИСКЛЮЧАЮЩЕЕ ИЛИ и ИСКЛЮЧАЮЩЕЕ НЕТ).

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

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

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

Преодоление ограничения линейной разделимости

Рис. 2.8. 

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


Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ


Один из самых пессимистических результатов М.Л. Минского гласит, что однослойный персептрон не может воспроизвести такую простую функцию, как ИСКЛЮЧАЮЩЕЕ ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 2.3.
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

Рис. 2.3. 
Обозначим один вход через
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, а другой через
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, тогда все их возможные комбинации будут состоять из четырех точек на плоскости
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, как показано на рис. 2.4. Например, точка
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

обозначена на рисунке как точка
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Табл. 2.1 показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, единичный выход -
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
.

Таблица 2.1. ТочкиЗначения
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
Значения
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
Требуемый выход
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
000
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
101
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
011
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
110

Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

Рис. 2.4. 
В сети на рис. 2.3 функция
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
является обычным порогом, так что OUT принимает значение 0, когда NET меньше 0,5, и 1 в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление:
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

(1)

Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 2.1. Чтобы понять это ограничение, зафиксируем
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
на величине порога 0,5. Сеть в этом случае описывается уравнением (2). Это уравнение линейно по
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, т. е. все значения по
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
.
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

(2)

Любые входные значения для
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
на этой линии будут давать пороговое значение 0,5 для
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Входные значения с одной стороны прямой обеспечат значения
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
больше порога, следовательно,
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Входные значения по другую сторону прямой обеспечат значения NET меньше порога, делая
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
равным 0. Изменения значений
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
,
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную табл. 2.1, нужно расположить прямую так, чтобы точки
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
,
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

были с одной стороны прямой, а точки
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
,
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
— с другой. Попытавшись нарисовать такую прямую на рис. 2.4, убеждаемся, что это невозможно.



Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ. Взглянув на задачу с другой точки зрения, рассмотрим
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
как поверхность над плоскостью
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Каждая точка этой поверхности находится над соответствующей точкой плоскости
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
на расстоянии, равном значению
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
в этой точке. Можно показать, что наклон этой
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
-поверхности одинаков для всей поверхности
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Все точки, в которых значение
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
равно величине порога, проектируются на линию уровня плоскости
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
(см. рис.2.5).

Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ

Рис. 2.5. 

Ясно, что все точки по одну сторону пороговой прямой проецируются в значения
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
большие порога, а точки по другую сторону дадут меньшие значения
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
. Таким образом, пороговая прямая разбивает плоскость
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
на две области. Во всех точках по одну сторону пороговой прямой значение
Проблема функции ИСКЛЮЧАЮЩЕГО ИЛИ
равно единице, по другую сторону — нулю.


Обучение персептрона

Алгоритм обучения однослойного персептрона


Персептрон должен решать задачу классификации по бинарным входным сигналам. Набор входных сигналов будем обозначать
Алгоритм обучения однослойного персептрона
-мерным вектором
Алгоритм обучения однослойного персептрона
. Все элементы вектора являются булевыми переменными (переменными, принимающими значения "Истина" или "Ложь"). Однако иногда полезно оперировать числовыми значениями. Будем считать, что значению "ложь" соответствует числовое значение 0, а значению "Истина" соответствует 1.
Персептроном будем называть устройство, вычисляющее следующую систему функций:
Алгоритм обучения однослойного персептрона

(1)

где
Алгоритм обучения однослойного персептрона
— веса персептрона,
Алгоритм обучения однослойного персептрона
— порог,
Алгоритм обучения однослойного персептрона
— значения входных сигналов, скобки
Алгоритм обучения однослойного персептрона
означают переход от булевых (логических) значений к числовым значениям по правилам, изложенным выше.
Обучение персептрона состоит в подстройке весовых коэффициентов. Пусть имеется набор пар векторов
Алгоритм обучения однослойного персептрона
,
Алгоритм обучения однослойного персептрона
, называемый обучающей выборкой. Будем называть нейронную сеть обученной на данной обучающей выборке, если при подаче на входы сети каждого вектора
Алгоритм обучения однослойного персептрона
на выходах всякий раз получается соответствующий вектор
Алгоритм обучения однослойного персептрона
.
Предложенный Ф.Розенблаттом метод обучения состоит в итерационной подстройке матрицы весов, последовательно уменьшающей ошибку в выходных векторах. Алгоритм включает несколько шагов:
Шаг 0Начальные значения весов всех нейронов
Алгоритм обучения однослойного персептрона
полагаются случайными
Шаг 1Сети предъявляется входной образ
Алгоритм обучения однослойного персептрона
, в результате формируется выходной образ
Алгоритм обучения однослойного персептрона
.
Шаг 2Вычисляется вектор ошибки
Алгоритм обучения однослойного персептрона
, делаемой сетью на выходе. Дальнейшая идея состоит в том, что изменение вектора весовых коэффициентов в области малых ошибок должно быть пропорционально ошибке на выходе и равно нулю, если ошибка равна нулю.
Шаг 3Вектор весов модифицируется по следующей формуле:
Алгоритм обучения однослойного персептрона
. Здесь
Алгоритм обучения однослойного персептрона
— темп обучения.
Шаг 4Шаги 1—3 повторяются для всех обучающих векторов. Один цикл последовательного предъявления всей выборки называется эпохой. Обучение завершается по истечении нескольких эпох: а) когда итерации сойдутся, т.е. вектор весов перестает изменяться, или б) когда полная, просуммированная по всем векторам абсолютная ошибка станет меньше некоторого малого значения.



Объясним данный алгоритм более подробно. Подаем на вход персептрона такой вектор
Алгоритм обучения однослойного персептрона
, для которого уже известен правильный ответ. Если выходной сигнал персептрона совпадает с правильным ответом, то никаких действий предпринимать не надо. В случае ошибки, необходимо обучить персептрон правильно решать данный пример. Ошибки могут быть двух типов. Рассмотрим каждый из них.

Первый тип ошибки: на выходе персептрона — 0, а правильный ответ — 1. Для того чтобы персептрон выдавал правильный ответ, необходимо, чтобы сумма в правой части (1) стала больше. Поскольку переменные принимают значения 0 или 1, увеличение суммы может быть достигнуто за счет увеличения весов
Алгоритм обучения однослойного персептрона
. Однако нет смысла увеличивать веса при переменных
Алгоритм обучения однослойного персептрона
, которые равны нулю. Таким образом, следует увеличить веса
Алгоритм обучения однослойного персептрона
при тех переменных xi, которые равны 1.

Первое правило. Если на выходе персептрона получен 0, а правильный ответ равен 1, то необходимо увеличить веса связей между одновременно активными нейронами. При этом выходной персептрон считается активным. Второй тип ошибки: на выходе персептрона — 1, а правильный ответ равен нулю. Для обучения правильному решению данного примера следует уменьшить сумму в правой части (1). Следовательно, необходимо уменьшить веса связей
Алгоритм обучения однослойного персептрона
при тех переменных, которые равны 1 (поскольку нет смысла уменьшать веса связей при равных нулю переменных
Алгоритм обучения однослойного персептрона
). Необходимо также провести эту процедуру для всех активных нейронов предыдущих слоев. В результате получаем второе правило.

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

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

Нерассмотренными остались два вопроса. Первый — о сходимости процедуры обучения.


Целочисленность весов персептронов


Для ответа на вопрос о количественных характеристиках вектора w рассмотрим следующую теорему.
Теорема. Любой персептрон можно заменить другим персептроном того же вида с целыми весами связей.
Доказательство.Обозначим множество примеров одного класса (правильный ответ равен 0) через
Целочисленность весов персептронов
, а другого (правильный ответ равен 1) — через
Целочисленность весов персептронов
. Вычислим максимальное и минимальное значения суммы в правой части (1):
Целочисленность весов персептронов

Определим допуск
Целочисленность весов персептронов
как минимум из
Целочисленность весов персептронов
и
Целочисленность весов персептронов
. Положим
Целочисленность весов персептронов
, где
Целочисленность весов персептронов
— число слагаемых в (1). Поскольку персептрон(1) решает поставленную задачу классификации и множество примеров в обучающей выборке конечно, то
Целочисленность весов персептронов
. Из теории чисел известна теорема о том, что любое действительное число можно сколь угодно точно приблизить рациональными числами. Заменим веса
Целочисленность весов персептронов
на рациональные числа так, чтобы выполнялись следующие неравенства:
Целочисленность весов персептронов
.
Из этих неравенств следует, что при использовании весов
Целочисленность весов персептронов

персептрон будет работать с теми же результатами, что и первоначальный персептрон. Действительно, если правильным ответом примера является 0, имеем
Целочисленность весов персептронов
.
Подставив новые веса, получим:
Целочисленность весов персептронов

Откуда следует необходимое неравенство
Целочисленность весов персептронов

(2)

Аналогично, в случае правильного ответа равного 1, имеем
Целочисленность весов персептронов
, откуда, подставив новые веса и порог, получим:
Целочисленность весов персептронов

Отсюда следует выполнение неравенства
Целочисленность весов персептронов

(3)

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

(4)

где
Целочисленность весов персептронов
— целые числа. Обозначим через
Целочисленность весов персептронов

произведение всех знаменателей:
Целочисленность весов персептронов
. Умножим все веса и порог на
Целочисленность весов персептронов
. Получим веса целочисленные
Целочисленность весов персептронов
. Из (2), (3) и (4) получаем
Целочисленность весов персептронов

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


Двуслойность персептрона


Как уже упоминалось в начале лекции, алгоритм обучения персептрона возможно использовать и для многослойных персептронов. Однако теоремы о сходимости и зацикливании персептрона, приведенные выше, верны только при обучении однослойного персептрона — или многослойного персептрона при условии, что обучаются только веса персептрона, стоящего в последнем слое сети. В случае произвольного многослойного персептрона они не работают. Следующий пример демонстрирует основную проблему, возникающую при обучении многослойных персептронов.
Пусть веса всех слоев персептрона в ходе обучения сформировались так, что все примеры обучающего множества, кроме первого, решаются правильно. При этом правильным ответом первого примера является 1. Все входные сигналы персептрона последнего слоя равны нулю. В этом случае первое правило не дает результата, поскольку все нейроны предпоследнего слоя не активны. Существует множество способов решать эту проблему. Однако все эти методы не являются регулярными и не гарантируют сходимость многослойного персептрона к решению, даже при условии, что такое решение существует.
В действительности, проблема настройки (обучения) многослойного персептрона решается следующей теоремой.
Теорема о двуслойности персептрона. Любой многослойный персептрон может быть представлен в виде двуслойного персептрона с необучаемыми весами первого слоя.
Для доказательства этой теоремы потребуется одна теорема из математической логики.
Теорема о дизъюнктивной нормальной форме. Любая булева функция булевых аргументов может быть представлена в виде дизъюнкции конъюнкций элементарных высказываний и отрицаний элементарных высказываний:
Двуслойность персептрона

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



Доказательство теоремы о двуслойности персептрона. Из теоремы о дизъюнктивной нормальной форме следует, что любой многослойный персептрон может быть представлен в следующем виде:

Двуслойность персептрона


(5)


В силу второго свойства дизъюнктивной нормальной формы, равенство (5) можно переписать в виде

Двуслойность персептрона


(6)


Переведем в арифметическую форму все слагаемые в выражении (6). Конъюнкцию заменяем на умножение, а отрицание на разность:
Двуслойность персептрона
. Произведя эту замену и приведя подобные члены, получим:

Двуслойность персептрона


(7)


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

Заменим
Двуслойность персептрона
-е слагаемое в формуле (7) персептроном следующего вида:

Двуслойность персептрона


(8)


Подставив выражение (8) в формулу (7), получим равенство (1), то есть произвольный многослойный персептрон представлен в виде (1) с целочисленными коэффициентами. В качестве персептронов первого слоя используются персептроны вида (8) с необучаемыми весами. Теорема доказана.

Подводя итоги данной лекции, следует отметить следующие основные свойства персептронов:

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


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


Обучение персептрона


Способность искусственных нейронных сетей к обучению является их наиболее интригующим свойством. Подобно биологическим системам, которые они моделируют, эти нейронные сети сами совершенствуют себя в результате попыток создать лучшую модель поведения.
Используя критерий линейной разделимости, можно решить, способна ли однослойная нейронная сеть реализовывать требуемую функцию. Даже в том случае, когда ответ положительный, это принесет мало пользы, если у нас нет способа найти нужные значения для весов и порогов. Чтобы сеть представляла практическую ценность, нужен систематический метод (алгоритм) для вычисления этих значений. Ф.Розенблатт создал такой метод в своем алгоритме обучения персептрона и доказал: персептрон может быть обучен всему, что он может реализовывать.
Обучение может быть с учителем или без него. Для обучения с учителем нужен "внешний" учитель, который оценивал бы поведение системы и управлял ее последующими модификациями. При обучении без учителя, которое будет рассмотрено на последующих лекциях, сеть путем самоорганизации делает требуемые изменения. Обучение персептрона является обучением с учителем.
Алгоритм обучения персептрона может быть реализован на цифровом компьютере или другом электронном устройстве, и сеть становится в определенном смысле самоподстраивающейся. По этой причине процедуру подстройки весов обычно называют "обучением" и говорят, что сеть "обучается". Доказательство Розенблатта стало основной вехой и дало мощный импульс исследованиям в этой области. Сегодня в той или иной форме элементы алгоритма обучения персептрона встречаются во многих сетевых парадигмах.


Трудности с алгоритмом обучения персептрона


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


Введение в процедуру обратного распространения

Дальнейшие алгоритмические разработки


Многими исследователями были предложены методы улучшения и обобщения описанного выше основного алгоритма обратного распространения. Литература в этой области слишком обширна, чтобы ее можно было здесь охватить. Кроме того, сейчас еще слишком рано давать окончательные оценки. Некоторые из этих подходов могут оказаться действительно фундаментальными, другие же со временем исчезнут. Перечислим некоторые из наиболее многообещающих разработок.
Метод ускорения сходимости алгоритма обратного распространения. Названный обратным распространением второго порядка, он использует вторые производные для более точной оценки требуемой коррекции весов. Показано, что этот алгоритм оптимален в том смысле, что невозможно улучшить оценку, даже используя производные более высокого порядка. Метод требует дополнительных вычислений по сравнению с обратным распространением первого порядка, и необходимы дальнейшие эксперименты для доказательства оправданности этих затрат.
Метод улучшения характеристик обучения сетей обратного распространения. Указывается, что общепринятый от 0 до 1 динамический диапазон входов и выходов скрытых нейронов неоптимален. Так как величина коррекции веса
Дальнейшие алгоритмические разработки
пропорциональна выходному уровню нейрона, порождающего
Дальнейшие алгоритмические разработки
, то нулевой уровень ведет к тому, что вес не меняется. При двоичных входных векторах половина входов в среднем будет равна нулю, и веса, с которыми они связаны, не будут обучаться! Решение состоит в приведении входов к значениям
Дальнейшие алгоритмические разработки
и добавлении смещения к сжимающей функции, чтобы она также принимала значения
Дальнейшие алгоритмические разработки
. Новая сжимающая функция выглядит следующим образом:
Дальнейшие алгоритмические разработки

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


Обучающий алгоритм обратного распространения


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

Обучающий алгоритм обратного распространения

Рис. 4.1. 
Эта сумма, обозначаемая
Обучающий алгоритм обратного распространения
, должна быть вычислена для каждого нейрона сети. После того, как величина
Обучающий алгоритм обратного распространения
вычислена, она модифицируется с помощью активационной функции, и получается сигнал OUT. Для алгоритмов обратного распространения обычно используется функция
Обучающий алгоритм обратного распространения

(1)

Как показывает уравнение (1), эта функция, называемая сигмоидом, весьма удобна, так как имеет простую производную, что используется при реализации алгоритма обратного распространения:
Обучающий алгоритм обратного распространения

(2)

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

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



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

Обучающий алгоритм обратного распространения

Рис. 4.1. 
Эта сумма, обозначаемая
Обучающий алгоритм обратного распространения
, должна быть вычислена для каждого нейрона сети. После того, как величина
Обучающий алгоритм обратного распространения
вычислена, она модифицируется с помощью активационной функции, и получается сигнал OUT. Для алгоритмов обратного распространения обычно используется функция
Обучающий алгоритм обратного распространения

(1)

Как показывает уравнение (1), эта функция, называемая сигмоидом, весьма удобна, так как имеет простую производную, что используется при реализации алгоритма обратного распространения:
Обучающий алгоритм обратного распространения

(2)

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

лежит между нулем и единицей. Как указывалось выше, многослойные нейронные сети обладают большей представляющей мощностью, чем однослойные, лишь в случае присутствия нелинейности. Сжимающая функция обеспечивает требуемую нелинейность.
В действительности имеется множество функций, которые могли бы быть использованы. Для алгоритма обратного распространения требуется только, чтобы функция была всюду дифференцируема. Сигмоид удовлетворяет этому требованию. Его дополнительное преимущество состоит в автоматическом контроле усиления. Для слабых сигналов (величина NET близка к нулю) кривая вход-выход имеет сильный наклон, дающий большое усиление. Когда величина сигнала становится больше, усиление падает. Таким образом, большие сигналы воспринимаются сетью без насыщения, а слабые сигналы проходят по сети без чрезмерного ослабления. Многослойная сеть. Рассмотрим иерархическую сетевую структуру, в которой связанные между собой нейроны объединены в несколько слоев (см. рис. 4.2). На возможность построения таких архитектур указал еще Ф.Розенблатт, однако им не была решена проблема обучения. Межнейронные синаптические связи сети устроены таким образом, что каждый нейрон на данном уровне иерархии принимает и обрабатывает сигналы от каждого нейрона более низкого уровня.



Таким образом, в данной сети имеется выделенное направление распространения нейроимпульсов — от входного слоя через один (или несколько) скрытых слоев к выходному слою нейронов. Нейросеть такой топологии мы будем называть обобщенным многослойным персептроном или, если это не будет вызывать недоразумений, просто персептроном.

Обучающий алгоритм обратного распространения

Рис. 4.2. 

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

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



Мы рассмотрим классический вариант многослойной сети с аналоговыми синапсами и сигмоидальной передаточной функцией нейронов, определяемой формулой (1).

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

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

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

Обзор обучения. Целью обучения сети является такая подстройка ее весов, чтобы приложение некоторого множества входов приводило к требуемому множеству выходов. Для краткости эти множества входов и выходов будут называться векторами. При обучении предполагается, что для каждого входного вектора существует парный ему целевой вектор, задающий требуемый выход. Вместе они называются обучающей парой. Как правило, сеть обучается на многих парах. Например, входная часть обучающей пары может состоять из набора нулей и единиц, представляющего двоичный образ некоторой буквы алфавита. На рис. 4.3 показано множество входов для буквы "А", нанесенной на сетке. Если через квадрат проходит линия, то соответствующий нейронный вход равен единице, в противном случае он равен нулю. Выход может быть числом, представляющим букву "А", или другим набором из нулей и единиц, который может быть использован для получения выходного образа.



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

Обучающий алгоритм обратного распространения

Рис. 4.3. 

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

Обучение сети обратного распространения требует выполнения следующих операций:

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


Операции, выполняемые шагами 1 и 2, сходны с теми, которые выполняются при функционировании уже обученной сети, — подается входной вектор и вычисляется получающийся выход. Вычисления выполняются послойно. На рис. 4.2 сначала вычисляются выходы нейронов слоя
Обучающий алгоритм обратного распространения
, затем они используются в качестве входов слоя
Обучающий алгоритм обратного распространения
, после чего вычисляются выходы нейронов слоя
Обучающий алгоритм обратного распространения
, которые и образуют выходной вектор сети.

На шаге 3 каждый из выходов сети, которые на рис. 4.2 обозначены
Обучающий алгоритм обратного распространения
, вычитается из соответствующей компоненты целевого вектора, чтобы получить значение ошибки. Эта ошибка используется на шаге 4 для коррекции весов сети, причем знак и величина изменений весов определяются алгоритмом обучения (см. ниже).

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



На шаги 1 и 2 можно смотреть как на "проход вперед", так как сигнал распространяется по сети от входа к выходу. Шаги 3, 4 составляют "обратный проход", здесь вычисляемый сигнал ошибки распространяется обратно по сети и используется для подстройки весов. Эти два прохода теперь будут детализированы и записаны как математические выражения.

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

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

Этот процесс может быть выражен в сжатой форме с помощью векторной нотации. Веса между нейронами будем рассматривать как матрицу
Обучающий алгоритм обратного распространения
. Например, вес от нейрона 8 в слое 2 к нейрону 5 слоя 3 обозначается
Обучающий алгоритм обратного распространения
. Тогда
Обучающий алгоритм обратного распространения
-вектор слоя
Обучающий алгоритм обратного распространения
может быть выражен не как сумма произведений, а как произведение
Обучающий алгоритм обратного распространения
и
Обучающий алгоритм обратного распространения
. В векторном обозначении
Обучающий алгоритм обратного распространения
. Покомпонентным применением функции
Обучающий алгоритм обратного распространения
к
Обучающий алгоритм обратного распространения
-вектору
Обучающий алгоритм обратного распространения
получаем выходной вектор
Обучающий алгоритм обратного распространения
. Таким образом, для данного слоя вычислительный процесс описывается следующим выражением:

Обучающий алгоритм обратного распространения


(3)


Выходной вектор одного слоя является входным вектором для следующего, поэтому вычисление выходов последнего слоя требует применения уравнения (3) к каждому слою от входа сети к ее выходу.

Обратный проход.

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



Рассмотрим процесс обучения для одного веса от нейрона
Обучающий алгоритм обратного распространения
в скрытом слое
Обучающий алгоритм обратного распространения
к нейрону
Обучающий алгоритм обратного распространения
в выходном слое
Обучающий алгоритм обратного распространения
. Выход нейрона слоя
Обучающий алгоритм обратного распространения
, вычитаемый из целевого значения (Target), дает сигнал ошибки. Он умножается на производную сжимающей функции
Обучающий алгоритм обратного распространения
, вычисленную для этого нейрона слоя
Обучающий алгоритм обратного распространения
, давая, таким образом, величину
Обучающий алгоритм обратного распространения
.

Обучающий алгоритм обратного распространения


(4)


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

Следующие уравнения иллюстрируют это вычисление:

Обучающий алгоритм обратного распространения


(5)
Обучающий алгоритм обратного распространения


(6)


где
Обучающий алгоритм обратного распространения
— величина веса от нейрона
Обучающий алгоритм обратного распространения
в скрытом слое
Обучающий алгоритм обратного распространения
к нейрону
Обучающий алгоритм обратного распространения
в выходном слое на шаге
Обучающий алгоритм обратного распространения
(до коррекции); отметим, что индекс
Обучающий алгоритм обратного распространения
относится к слою, в котором заканчивается данный вес (т. е. к слою, с которым он объединен);
Обучающий алгоритм обратного распространения
— величина веса на шаге
Обучающий алгоритм обратного распространения
(после коррекции);
Обучающий алгоритм обратного распространения
— величина
Обучающий алгоритм обратного распространения
для нейрона
Обучающий алгоритм обратного распространения
, в выходном слое
Обучающий алгоритм обратного распространения
;
Обучающий алгоритм обратного распространения
— величина
Обучающий алгоритм обратного распространения
для нейрона
Обучающий алгоритм обратного распространения
в скрытом слое
Обучающий алгоритм обратного распространения
.

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


нейрона, к которому он присоединен в выходном слое. Величина
Обучающий алгоритм обратного распространения
, необходимая для нейрона скрытого слоя, получается суммированием всех таких произведений и умножением на производную сжимающей функции (см. рис. 4.4):

Обучающий алгоритм обратного распространения


(7)


Когда значение
Обучающий алгоритм обратного распространения
получено, веса, питающие первый скрытый уровень, могут быть подкорректированы с помощью уравнений (5) и (6), где индексы модифицируются в соответствии со слоем.

Обучающий алгоритм обратного распространения

Рис. 4.4. 

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



С помощью векторных обозначений операция обратного распространения ошибки может быть записана значительно компактнее. Обозначим множество величин
Обучающий алгоритм обратного распространения
выходного слоя через
Обучающий алгоритм обратного распространения
и множество весов выходного слоя как массив
Обучающий алгоритм обратного распространения
. Чтобы получить
Обучающий алгоритм обратного распространения
,
Обучающий алгоритм обратного распространения
-вектор выходного слоя, достаточно следующих двух операций:

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


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

Импульс. Существует метод ускорения обучения для алгоритма обратного распространения, увеличивающий также устойчивость процесса. Этот метод, названный импульсом, заключается в добавлении к коррекции веса члена, пропорционального величине предыдущего изменения веса. Как только происходит коррекция, она "запоминается" и служит для модификации всех последующих коррекций. Уравнения коррекции модифицируются следующим образом:

Обучающий алгоритм обратного распространения


где
Обучающий алгоритм обратного распространения
— коэффициент импульса, который обычно устанавливается около 0,9.

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

Существует сходный метод, основанный на экспоненциальном сглаживании, который может иметь преимущество в ряде приложений.



Обучающий алгоритм обратного распространения


Затем вычисляется изменение веса

Обучающий алгоритм обратного распространения


где
Обучающий алгоритм обратного распространения
— коэффициент сглаживания, варьируемый в диапазоне от 0,0 до 1,0. Если
Обучающий алгоритм обратного распространения
равен 1,0, то новая коррекция игнорируется и повторяется предыдущая. В области между 0 и 1 коррекция веса сглаживается величиной, пропорциональной
Обучающий алгоритм обратного распространения
. По-прежнему,
Обучающий алгоритм обратного распространения
является коэффициентом скорости обучения, служащим для управления средней величиной изменения веса.


Применение


Обратное распространение было применено в широкой сфере прикладных исследований. Некоторые из них описываются здесь, чтобы продемонстрировать богатые возможности этого метода.
Фирма NEC в Японии объявила недавно, что обратное распространение было ею использовано для визуального распознавания букв, причем точность превысила 99%. Это улучшение было достигнуто с помощью комбинации обычных алгоритмов с сетью обратного распространения, обеспечивающей дополнительную проверку.
Достигнут впечатляющий успех с Net-Talk системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки голоса ребенка на разных этапах обучения речи.
Обратное распространение также использовалось в машинном распознавании рукописных английских слов. Буквы, нормализованные по размеру, наносились на сетку, и брались проекции линий, пересекающих квадраты сетки. Эти проекции служили затем входами для сети обратного распространения. Сообщалось о точности 99,7% при использовании словарного фильтра.
Обратное распространение успешно применяется при сжатии изображений, когда образы представляются одним битом на пиксель, что явилось восьмикратным улучшением по сравнению с входными данными.



Обратное распространение было применено в широкой сфере прикладных исследований. Некоторые из них описываются здесь, чтобы продемонстрировать богатые возможности этого метода.
Фирма NEC в Японии объявила недавно, что обратное распространение было ею использовано для визуального распознавания букв, причем точность превысила 99%. Это улучшение было достигнуто с помощью комбинации обычных алгоритмов с сетью обратного распространения, обеспечивающей дополнительную проверку.
Достигнут впечатляющий успех с Net-Talk системой, которая превращает печатный английский текст в высококачественную речь. Магнитофонная запись процесса обучения сильно напоминает звуки голоса ребенка на разных этапах обучения речи.
Обратное распространение также использовалось в машинном распознавании рукописных английских слов. Буквы, нормализованные по размеру, наносились на сетку, и брались проекции линий, пересекающих квадраты сетки. Эти проекции служили затем входами для сети обратного распространения. Сообщалось о точности 99,7% при использовании словарного фильтра.
Обратное распространение успешно применяется при сжатии изображений, когда образы представляются одним битом на пиксель, что явилось восьмикратным улучшением по сравнению с входными данными.


Применение

<


Введение в процедуру обратного распространения


Среди различных структур нейронных сетей (НС) одной из наиболее известных является многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми аксонами нейронов предыдущего слоя или, в случае первого слоя, со всеми входами НС. Такие НС называются полносвязными. Когда в сети только один слой, алгоритм ее обучения с учителем довольно очевиден, так как правильные выходные состояния нейронов единственного слоя заведомо известны и подстройка синаптических связей идет в направлении, минимизирующем ошибку на выходе сети. По этому принципу строится, например, алгоритм обучения однослойного персептрона. В многослойных же сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, не известны, и двух- или более слойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах НС.
Один из вариантов решения этой проблемы — разработка наборов выходных сигналов, соответствующих входным, для каждого слоя НС, что, конечно, является очень трудоемкой операцией и не всегда осуществимо. Второй вариант — динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что данный "метод тыка", несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант — распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название процедуры обратного распространения. Разработка алгоритма обратного распространения сыграла важную роль в возрождении интереса к искусственным нейронным сетям. Обратное распространение — это систематический метод для обучения многослойных искусственных нейронных сетей. Он имеет солидное математическое обоснование. Несмотря на некоторые ограничения, процедура обратного распространения сильно расширила область проблем, в которых могут быть использованы искусственные нейронные сети, и убедительно продемонстрировала богатые возможности этой методики.



Среди различных структур нейронных сетей (НС) одной из наиболее известных является многослойная структура, в которой каждый нейрон произвольного слоя связан со всеми аксонами нейронов предыдущего слоя или, в случае первого слоя, со всеми входами НС. Такие НС называются полносвязными. Когда в сети только один слой, алгоритм ее обучения с учителем довольно очевиден, так как правильные выходные состояния нейронов единственного слоя заведомо известны и подстройка синаптических связей идет в направлении, минимизирующем ошибку на выходе сети. По этому принципу строится, например, алгоритм обучения однослойного персептрона. В многослойных же сетях оптимальные выходные значения нейронов всех слоев, кроме последнего, как правило, не известны, и двух- или более слойный персептрон уже невозможно обучить, руководствуясь только величинами ошибок на выходах НС.
Один из вариантов решения этой проблемы — разработка наборов выходных сигналов, соответствующих входным, для каждого слоя НС, что, конечно, является очень трудоемкой операцией и не всегда осуществимо. Второй вариант — динамическая подстройка весовых коэффициентов синапсов, в ходе которой выбираются, как правило, наиболее слабые связи и изменяются на малую величину в ту или иную сторону, а сохраняются только те изменения, которые повлекли уменьшение ошибки на выходе всей сети. Очевидно, что данный "метод тыка", несмотря на свою кажущуюся простоту, требует громоздких рутинных вычислений. И, наконец, третий, более приемлемый вариант — распространение сигналов ошибки от выходов НС к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. Этот алгоритм обучения НС получил название процедуры обратного распространения. Разработка алгоритма обратного распространения сыграла важную роль в возрождении интереса к искусственным нейронным сетям. Обратное распространение — это систематический метод для обучения многослойных искусственных нейронных сетей. Он имеет солидное математическое обоснование. Несмотря на некоторые ограничения, процедура обратного распространения сильно расширила область проблем, в которых могут быть использованы искусственные нейронные сети, и убедительно продемонстрировала богатые возможности этой методики.


Переобучение и обобщение


Как обучается многослойный персептрон


Мы сможем лучше понять, как устроен и как обучается многослойный персептрон, если выясним, какие функции он способен моделировать. Вспомним, что уровнем активации элемента называется взвешенная сумма его входов с добавленным к ней пороговым значением. Таким образом, уровень активации представляет собой простую линейную функцию входов. Эта активация затем преобразуется с помощью сигмоидной (имеющей S- образную форму) кривой.
Комбинация линейной функции нескольких переменных и скалярной сигмовидной функции приводит к характерному профилю "сигмовидного склона", который выдает элемент первого промежуточного слоя. На рис. 5.1 соответствующая поверхность изображена в виде функции двух входных переменных. Элемент с большим числом входов выдает многомерный аналог такой поверхности. При изменении весов и порогов меняется и поверхность отклика; может меняться как ориентация всей поверхности, так и крутизна склона — большим значениям весов соответствует более крутой склон. Так, например, если увеличить все веса в два раза, то ориентация не изменится, а наклон будет более крутым. В многослойной сети подобные функции отклика комбинируются друг с другом с помощью последовательного взятия их линейных комбинаций и применения нелинейных функций активации. На рис. 5.2 изображена типичная поверхность отклика для сети с одним промежуточным слоем, состоящим из двух элементов, и одним выходным элементом, для классической задачи "исключающего или". Две разных сигмоидных поверхности объединены в одну поверхность, имеющую форму буквы "U".
Как обучается многослойный персептрон

Рис. 5.1. 
Как обучается многослойный персептрон

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



В задачах классификации выходной элемент должен выдавать сильный сигнал в случае, если данное наблюдение принадлежит к интересующему нас классу, и слабый — в противоположном случае. Иначе говоря, этот элемент должен стремиться смоделировать функцию, равную единице в области пространства объектов, где располагаются объекты из нужного класса, и равную нулю вне этой области. Такая конструкция известна как дискриминантная функция в задачах распознавания. "Идеальная" дискриминантная функция должна иметь плоскую структуру: точки соответствующей поверхности будут располагаться либо на нулевом уровне, либо на высоте "единица".

Если сеть не содержит скрытых элементов, то на выходе она может моделировать только одинарный "сигмовидный склон": точки, находящиеся по одну его сторону, располагаются низко, по другую — высоко. При этом всегда будет существовать область между ними (на склоне), где высота принимает промежуточные значения, но по мере увеличения весов эта область будет сужаться.

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

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

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



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

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

В задачах классификации очень важно понять, как следует интерпретировать те точки, которые попали на склон или лежат близко от него. Стандартный подход заключается в том, чтобы для пороговых значений установить некоторые доверительные пределы (принятия или отвержения), которые должны быть достигнуты, чтобы данный элемент считался "принявшим решение". Например, если установлены пороги принятия/отвержения 0,95/0.05, то при уровне выходного сигнала выше 0,95 элемент считается активным, при уровне ниже 0,05 — неактивным, а в промежутке — "неопределенным". Имеется и более тонкий (и, вероятно, более полезный) способ интерпретировать уровни выходного сигнала: считать их вероятностями. В этом случае сеть выдает несколько большую информацию, чем просто "да/нет": она сообщает нам, насколько (в некотором формальном смысле) мы можем доверять ее решению. При этом, однако, вероятностная интерпретация обоснована только в том случае, если выполняются определенные предположения о распределении исходных данных (конкретно, что данные являются выборкой из некоторого распределения, принадлежащего к семейству экспоненциальных распределений).Здесь, как и ранее, может быть принято решение по классификации, но, кроме того, вероятностная интерпретация позволяет ввести концепцию "решения с минимальными затратами".


Локальные минимумы


В прошлой лекции было описано, как с помощью алгоритма обратного распространения осуществляется градиентный спуск по поверхности ошибок. Короче говоря, происходит следующее: в данной точке поверхности находится направление скорейшего спуска, затем делается прыжок вниз на расстояние, пропорциональное коэффициенту скорости обучения и крутизне склона, при этом учитывается инерция, то есть стремление сохранить прежнее направление движения. Можно сказать, что метод ведет себя как слепой кенгуру — каждый раз прыгает в направлении, которое кажется ему наилучшим. На самом деле, шаг спуска вычисляется отдельно для всех обучающих наблюдений, взятых в случайном порядке, но в результате получается достаточно хорошая аппроксимация спуска по совокупной поверхности ошибок. Существуют и другие алгоритмы обучения, однако все они используют ту или иную стратегию скорейшего продвижения к точке минимума.
Обратное распространение использует разновидность градиентного спуска, т. е. осуществляет спуск вниз по поверхности ошибки, непрерывно подстраивая веса в направлении к минимуму. Поверхность ошибки сложной сети сильно изрезана и состоит из холмов, долин, складок и оврагов в пространстве высокой размерности. Сеть может попасть в локальный минимум (неглубокую долину), когда рядом имеется гораздо более глубокий минимум. В точке локального минимума все направления ведут вверх и сеть неспособна из него выбраться. Статистические методы обучения могут помочь избежать этой ловушки, но они медленны. П.Д.Вассерман предложил метод, объединяющий статистические методы машины Коши с градиентным спуском обратного распространения и приводящий к системе, которая находит глобальный минимум, сохраняя высокую скорость обратного распространения. Это будет обсуждаться в следующих лекциях.


Отбор данных


На всех предыдущих этапах мы постоянно опирались на одно предположение, а именно: обучающее, контрольное и тестовое множества должны быть репрезентативными (представительными) с точки зрения существа задачи (более того, эти множества должны быть репрезентативны каждое в отдельности). Известное изречение программистов "garbage in, garbage out" ("мусор на входе — мусор на выходе") нигде не справедливо в такой степени, как при нейросетевом моделировании. Если обучающие данные не репрезентативны, то модель, как минимум, будет не очень хорошей, а в худшем случае — бесполезной. Имеет смысл перечислить ряд причин, которые ухудшают качество обучающего множества.
Будущее непохоже на прошлое. Обычно в качестве обучающих берутся исторические данные. Если обстоятельства изменились, то закономерности, имевшие место в прошлом, могут больше не действовать.
Следует учесть все возможности. Нейронная сеть может обучаться только на тех данных, которыми она располагает. Предположим, что лица с годовым доходом более $100000 имеют высокий кредитный риск, а обучающее множество не содержало лиц с доходом более $40000 в год. Тогда едва ли можно ожидать от сети правильного решения в совершенно новой для нее ситуации.
Сеть обучается тому, чему проще всего обучиться.
Классическим (возможно, вымышленным) примером является система машинного зрения, предназначенная для автоматического распознавания танков. Сеть обучалась на ста картинках, содержащих изображения танков, и на ста других картинках, где танков не было. Был достигнут стопроцентно "правильный" результат. Но когда на вход сети были поданы новые данные, она безнадежно провалилась. В чем же была причина? Выяснилось, что фотографии с танками были сделаны в пасмурную, дождливую погоду, а фотографии без танков — в солнечный день. Сеть научилась улавливать (очевидную) разницу в общей освещенности. Чтобы сеть могла результативно работать, ее следовало обучать на данных, где присутствовали бы все погодные условия и типы освещения, при которых сеть будут реально использовать, — и это не говоря еще о рельефе местности, угле и дистанции съемки и т.д.



Несбалансированный набор данных. Коль скоро сеть минимизирует общую погрешность, важное значение приобретают пропорции, в которых представлены данные различных типов. Сеть, обученная на 900 хороших и 100 плохих примерах, будет искажать результат в пользу хороших наблюдений, поскольку это позволит алгоритму уменьшить общую погрешность (которая определяется в основном хорошими случаями). Если в реальной популяции хорошие и плохие объекты представлены в другой пропорции, то результаты, выдаваемые сетью, могут оказаться неверными. Хорошим примером служит задача выявления заболеваний. Пусть, например, при обычных обследованиях в среднем 90% человек оказываются здоровыми. Сеть обучается на имеющихся данных, в которых пропорция здоровые/больные равна 90/10. Затем она применяется для диагностики пациентов с определенным жалобами, среди которых это соотношение уже 50/50. В этом случае сеть будет ставить диагноз чересчур осторожно и не распознает заболевание у некоторых больных. Если же, наоборот, сеть обучить на данных "с жалобами", а затем протестировать на "обычных" данных, то она будет выдавать повышенное число неправильных диагнозов о наличии заболевания. В таких ситуациях обучающие данные нужно скорректировать так, чтобы были учтены различия в распределении (например, можно повторять редкие наблюдения или удалить часто встречающиеся), или же видоизменить решения, выдаваемые сетью, посредством матрицы потерь. Как правило, лучше всего постараться равномерно представить наблюдения различных типов и соответственно этому интерпретировать результаты, которые выдает сеть.


Паралич сети


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


Переобучение и обобщение


Одна из наиболее серьезных трудностей алгоритма обратного распространения заключается в том, что таким образом мы минимизируем не ту ошибку, которую на самом деле нужно минимизировать, — ошибку, которую можно ожидать от сети, когда ей будут подаваться совершенно новые наблюдения. Иначе говоря, мы хотели бы, чтобы нейронная сеть обладала способностью обобщать
результат на новые наблюдения. В действительности, сеть обучается минимизировать ошибку на обучающем множестве, и в отсутствие идеального и бесконечно большого обучающего множества это совсем не то же самое, что минимизировать "настоящую" ошибку на поверхности ошибок в заранее неизвестной модели явления.
Сильнее всего это различие проявляется в проблеме переобучения, или слишком близкой подгонки. Это явление проще будет продемонстрировать не для нейронной сети, а на примере аппроксимации посредством полиномов, — при этом суть явления абсолютно та же.
Полином (или многочлен) — это выражение, содержащее только константы и целые степени независимой переменной. Графики полиномов могут иметь различную форму, причем чем выше степень многочлена (и, тем самым, чем больше членов в него входит), тем более сложной может быть эта форма. Если у нас есть некоторые данные, мы можем попробовать подогнать к ним полиномиальную кривую (модель) и получить, таким образом, объяснение для имеющейся зависимости. Наши данные могут быть зашумлены, поэтому нельзя считать, что самая лучшая модель задается кривой, которая в точности проходит через все имеющиеся точки. Полином низкого порядка может быть недостаточно гибким средством для аппроксимации данных, в то время как полином высокого порядка может оказаться чересчур гибким и будет точно следовать данным, принимая при этом форму замысловатую и не имеющую никакого отношения к реальной зависимости.
У нейронной сети проблема точно такая же. Сети с большим числом весов моделируют более сложные функции и, следовательно, склонны к переобучению. Сеть же с небольшим числом весов может оказаться недостаточно гибкой для того, чтобы смоделировать имеющуюся зависимость.



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

Как же выбрать "правильную" степень сложности для сети? Почти всегда более сложная сеть дает меньшую ошибку, но это может свидетельствовать не о хорошем качестве модели, а о переобучении. Выход состоит в том, чтобы использовать механизм контрольной кросс-проверки. Мы резервируем часть обучающих наблюдений и не используем их в обучении по алгоритму обратного распространения. Вместо этого, по мере работы алгоритма, они используются для независимого контроля результата. В самом начале работы ошибка сети на обучающем и контрольном множестве будет одинаковой (если они существенно отличаются, то, вероятно, разбиение всех наблюдений на два множества было неоднородно). По мере того как сеть обучается, ошибка обучения, естественно, убывает, и, пока обучение уменьшает действительную функцию ошибок, ошибка на контрольном множестве также будет убывать. Если же контрольная ошибка перестала убывать или даже стала расти, значит, сеть начала слишком близко аппроксимировать данные и обучение следует остановить. Это явление чересчур точной аппроксимации в процессе обучения и называется переобучением. Если такое случилось, то обычно советуют уменьшить число скрытых элементов и/или слоев, ибо сеть является слишком мощной для данной задачи. Если же сеть, наоборот, была взята недостаточно богатой для того, чтобы моделировать имеющуюся зависимость, то переобучения, скорее всего, не произойдет и обе ошибки — обучения и проверки — не достигнут достаточного уровня малости.

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



Необходимость многократных экспериментов ведет к тому, что контрольное множество начинает играть ключевую роль в выборе модели, то есть становится частью процесса обучения. Тем самым ослабляется его роль как независимого критерия качества модели — при большом числе экспериментов есть риск выбрать "удачную" сеть, дающую хороший результат на контрольном множестве. Для того чтобы придать окончательной модели должную надежность, часто (по крайней мере, когда объем обучающих данных это позволяет) поступают так: резервируют еще одно, тестовое множество наблюдений. Итоговая модель тестируется на данных из этого множества, чтобы убедиться, что результаты, достигнутые на обучающем и контрольном множествах, реальны, а не являются артефактами процесса обучения. Разумеется, для того чтобы соответствовать своей роли, тестовое множество должно быть использовано только один раз: если его использовать повторно для корректировки процесса обучения, то оно фактически превратится в контрольное множество.


Предостережения


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


Размер шага


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


Временная неустойчивость


Если сеть учится распознавать буквы, то нет смысла учить "Б", если при этом забывается "А". Процесс обучения должен быть таким, чтобы сеть обучалась на всем обучающем множестве без пропусков того, что уже выучено. В доказательстве сходимости это условие выполнено, но требуется также, чтобы сети предъявлялись все векторы обучающего множества, прежде чем выполняется коррекция весов. Необходимые изменения весов должны вычисляться на всем множестве, что требует дополнительной памяти; после ряда таких обучающих циклов веса сойдутся к минимальной ошибке. Этот метод может оказаться бесполезным, если сеть находится в постоянно меняющейся внешней среде, так что второй раз один и тот же вектор может уже не повториться. В этом случае процесс обучения может никогда не сойтись, бесцельно блуждая или сильно осциллируя. В этом смысле обратное распространение не похоже на биологические системы. Как будет указано на следующих лекциях, это несоответствие (среди прочих) привело к системе ART, принадлежащей Гроссбергу.



Введение в сети встречного распространения

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


Чувство справедливости: чтобы не допустить отсутствие обучения по любому из нейронов, вводится "чувство справедливости". Если нейрон чаще других выигрывает "состязание", т.е. получает максимальный выход чаще, чем в 1 из
Модификации алгоритма обучения
случаев, то его значение выхода искусственно уменьшается, чтобы дать возможность выиграть другим нейронам. Это включает все нейроны сети в процесс обучения.
Коррекция весов пропорционально выходу: в этой модификации корректируются веса не только выигравшего нейрона, но и всех остальных, пропорционально их нормированному выходу. Нормировка выполняется по максимальному значению выхода слоя или по его среднему значению. Этот метод также исключает "мертвые" нейроны и улучшает распределение плотности весов.


Обучение слоя Гроссберга


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

где
Обучение слоя Гроссберга
— выход
Обучение слоя Гроссберга
-го нейрона Кохонена (только для одного нейрона Кохонена он отличен от нуля);
Обучение слоя Гроссберга
Обучение слоя Гроссберга
-я компонента вектора желаемых выходов.
Первоначально
Обучение слоя Гроссберга
берется равным приблизительно 0,1 и затем постепенно уменьшается в процессе обучения.
Отсюда видно, что веса слоя Гроссберга будут сходиться к средним величинам от желаемых выходов, тогда как веса слоя Кохонена обучаются на средних значениях входов. Обучение слоя Гроссберга — это обучение с учителем, алгоритм располагает желаемым выходом, по которому он обучается. Обучающийся без учителя, самоорганизующийся слой Кохонена дает выходы в недетерминированных позициях. Они отображаются в желаемые выходы слоем Гроссберга.


Обучение слоя Кохонена


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


Предварительная обработка входных векторов


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

(1)

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

представлен в координатах
Предварительная обработка входных векторов
, причем координата
Предварительная обработка входных векторов

равна четырем, а координата
Предварительная обработка входных векторов
— трем. Квадратный корень из суммы квадратов этих компонент равен пяти. Деление каждой компоненты
Предварительная обработка входных векторов
на пять дает вектор
Предварительная обработка входных векторов
с компонентами 4/5 и 3/5, где
Предварительная обработка входных векторов

указывает в том же направлении, что и
Предварительная обработка входных векторов
, но имеет единичную длину.
Предварительная обработка входных векторов

Рис. 6.2. 
На рис. 6.3 показано несколько единичных векторов. Они оканчиваются в точках единичной окружности (окружности единичного радиуса), а это происходит, когда у сети лишь два входа. В случае трех входов векторы представлялись бы стрелками, оканчивающимися на поверхности единичной сферы. Такие представления могут быть перенесены на сети, имеющие произвольное число входов, где каждый входной вектор является стрелкой, оканчивающейся на поверхности единичной гиперсферы (полезной абстракцией, хотя и не допускающей непосредственной визуализации).
Предварительная обработка входных векторов

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



Снова отметим, что процесс является самообучением, выполняемым без учителя. Сеть самоорганизуется таким образом, что данный нейрон Кохонена имеет максимальный выход для данного входного вектора. Уравнение, описывающее процесс обучения, имеет следующий вид:

Предварительная обработка входных векторов


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

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

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


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

Предварительная обработка входных векторов

Рис. 6.4. 

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

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


сжатие данных


В дополнение к обычным функциям отображения векторов, встречное распространение оказывается полезным и в некоторых менее очевидных прикладных областях. Одним из наиболее интересных примеров является сжатие данных.
сжатие данных

Рис. 6.8. 
Сеть встречного распространения может быть использована для сжатия данных перед их передачей, уменьшая тем самым число битов, которые должны быть переданы. Допустим, что требуется передать некоторое изображение. Оно может быть разбито на подизображения
сжатие данных
, как показано на рис. 6.8. Каждое подизображение разбито на пиксели (мельчайшие элементы изображения). Тогда каждое подизображение является вектором, элементами которого являются пиксели, из которых состоит подизображение. Допустим для простоты, что каждый пиксель - это единица (свет) или нуль (чернота). Если в подизображении имеется
сжатие данных

пикселей, то для его передачи потребуется n бит. Если допустимы некоторые искажения, то для передачи типичного изображения требуется существенно меньшее число битов, что позволяет передавать изображение быстрее. Это возможно из-за статистического распределения векторов подизображений. Некоторые из них встречаются часто, тогда как другие встречаются так редко, что могут быть грубо аппроксимированы. Метод, называемый векторным квантованием, находит более короткие последовательности битов, наилучшим образом представляющие эти подизображения.
Сеть встречного распространения может быть использована для выполнения векторного квантования. Множество векторов подизображений используется в качестве входа для обучения слоя Кохонена по методу аккредитации, когда выход единственного нейрона равен 1. Веса слоя Гроссберга обучаются выдавать бинарный код номера того нейрона Кохонена, выход которого равен 1. Например, если выходной сигнал нейрона 7 равен 1 (а все остальные равны 0), то слой Гроссберга будет обучаться выдавать 00...000111 (двоичный код числа 7). Это и будет являться более короткой битовой последовательностью передаваемых символов.
На приемном конце идентичным образом обученная сеть встречного распространения принимает двоичный код и реализует обратную функцию, аппроксимирующую первоначальное подизображение.
Этот метод применялся на практике как к речи, так и к изображениям, с коэффициентом сжатия данных от 10:1 до 100:1. Качество было приемлемым, хотя некоторые искажения данных на приемном конце признаются неизбежными.


Примеры обучения


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

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

Рис. 6.6. 
На первой схеме все векторы весов и обучающего множества имеют одно и то же значение. По мере обучения обучающие векторы расходятся к своим истинным значениям, а векторы весов следуют за ними. В итоге в сети не остается необученных нейронов и плотность векторов весов соответствует плотности векторов обучающего множества. Однако метод выпуклой комбинации хорошо работает, но замедляет процесс обучения, так как весовые векторы подстраиваются к изменяющейся цели. Другой подход состоит в добавлении шума к входным векторам. Тем самым они подвергаются случайным изменениям, схватывая в конце концов весовой вектор. Этот метод также работоспособен, но еще более медленнен, чем метод выпуклой комбинации.
Третий метод начинает работу со случайных весов, но на начальной стадии обучающего процесса подстраивает все веса, а не только связанные с выигравшим нейроном Кохонена. Тем самым весовые векторы перемещаются ближе к области входных векторов. В процессе обучения коррекция весов начинает производиться лишь для ближайших к победителю нейронов Кохонена. Этот радиус коррекции постепенно уменьшается, так что в конце корректируются только веса, связанные с выигравшим нейроном Кохонена.
Еще один метод наделяет каждый нейрон Кохонена "чувством справедливости". Если он становится победителем чаще своей "законной доли" (примерно
Примеры обучения
, где
Примеры обучения
— число нейронов Кохонена), он временно увеличивает свой порог, что уменьшает его шансы на выигрыш, давая тем самым возможность обучаться и другим нейронам.
Во многих приложениях точность результата существенно зависит от распределения весов. К сожалению, эффективность различных решений исчерпывающим образом не оценена и остается проблемой, ожидающей своего решения.


Режим интерполяции


До сих пор мы обсуждали алгоритм обучения, в котором для каждого входного вектора активировался только один нейрон Кохонена. Это называется методом аккредитации. Его точность ограничена, так как выход полностью является функцией лишь одного нейрона Кохонена.
В методе интерполяции целая группа нейронов Кохонена, имеющих максимальные выходы, может передавать свои выходные сигналы в слой Гроссберга. Число нейронов в такой группе должно выбираться в зависимости от задачи, и убедительных данных относительно оптимального размера группы не имеется. Как только группа определена, ее множество выходов
Режим интерполяции
рассматривается как вектор, длина которого нормализуется на единицу делением каждого значения
Режим интерполяции
на корень квадратный из суммы квадратов значений
Режим интерполяции
в группе. Все нейроны вне группы имеют нулевые выходы.
Метод интерполяции способен устанавливать более сложные соответствия и может давать более точные результаты. По-прежнему, однако, нет убедительных данных, позволяющих сравнить достоинства и недостатки режимов интерполяции и аккредитации.


Сеть встречного распространения полностью


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

Рис. 6.7. 
В процессе обучения векторы
Сеть встречного распространения полностью
и
Сеть встречного распространения полностью
подаются одновременно и как входные векторы сети, и как желаемые выходные сигналы. Вектор
Сеть встречного распространения полностью

используется для обучения выходов
Сеть встречного распространения полностью
, а вектор
Сеть встречного распространения полностью
— для обучения выходов
Сеть встречного распространения полностью
слоя Гроссберга. Сеть встречного распространения целиком обучается с использованием того же самого метода, который описывался для сети прямого действия. Нейроны Кохонена принимают входные сигналы как от векторов
Сеть встречного распространения полностью
, так и от векторов
Сеть встречного распространения полностью
. Но эта ситуация неотличима от той, когда имеется один большой вектор, составленный из векторов
Сеть встречного распространения полностью
и
Сеть встречного распространения полностью
, и тем самым не влияет на алгоритм обучения.
В качестве результирующего получается единичное отображение, при котором предъявление пары входных векторов порождает их копии на выходе. Этот вывод не представляется особенно интересным, если не заметить, что предъявление только вектора
Сеть встречного распространения полностью
(с вектором
Сеть встречного распространения полностью
, равным нулю) порождает как выходы
Сеть встречного распространения полностью
, так и выходы
Сеть встречного распространения полностью
. Если
Сеть встречного распространения полностью
— функция, отображающая
Сеть встречного распространения полностью
в
Сеть встречного распространения полностью
, то сеть аппроксимирует ее. Также, если
Сеть встречного распространения полностью

обратима, то предъявление только вектора
Сеть встречного распространения полностью
(приравнивая
Сеть встречного распространения полностью
нулю) порождает
Сеть встречного распространения полностью
. Уникальная способность сети встречного распространения — порождать функцию и обратную к ней — делает эту сеть полезной в ряде приложений.
Рис. 6.7, в отличие от первоначальной конфигурации, не демонстрирует противоток в сети, по которому она получила свое название. Такая форма выбрана потому, что она также иллюстрирует сеть без обратных связей и позволяет обобщить понятия, развитые в предыдущих лекциях.


Слои Кохонена


В своей простейшей форме слой Кохонена функционирует в духе "победитель забирает все", т.е. для данного входного вектора один и только один нейрон Кохонена выдает на выходе логическую единицу, а все остальные выдают ноль. Нейроны Кохонена можно воспринимать как набор электрических лампочек, и для любого входного вектора "загорается" одна из них.
Ассоциированное с нейронами Кохонена множество весов связывает каждый нейрон с каждым входом. Например, на рис. 6.1 нейрон Кохонена
Слои Кохонена

имеет веса
Слои Кохонена
, составляющие весовой вектор
Слои Кохонена
. Они соединяются через входной слой с входными сигналами
Слои Кохонена
, составляющими входной вектор
Слои Кохонена
. Подобно нейронам большинства сетей, выход
Слои Кохонена

каждого нейрона Кохонена является просто суммой взвешенных входов. Это может быть выражено следующим образом:
Слои Кохонена

где
Слои Кохонена
— это выход
Слои Кохонена
нейрона Кохонена
Слои Кохонена
, или, в векторной записи,
Слои Кохонена

где
Слои Кохонена
— вектор выходов
Слои Кохонена
слоя Кохонена.
Нейрон Кохонена с максимальным значением
Слои Кохонена
является "победителем". Его выход равен единице, у остальных он равен нулю.


Слой Гроссберга


Слой Гроссберга функционирует в сходной манере. Его выход
Слой Гроссберга
является взвешенной суммой выходов
Слой Гроссберга
,
Слой Гроссберга
,
Слой Гроссберга
,
Слой Гроссберга
слоя Кохонена, образующих вектор
Слой Гроссберга
. Вектор соединяющих весов, обозначенный через
Слой Гроссберга
, состоит из весов
Слой Гроссберга
. Тогда выход NET каждого нейрона Гроссберга есть
Слой Гроссберга

где
Слой Гроссберга
— выход
Слой Гроссберга
-го нейрона Гроссберга, или, в векторной форме,
Слой Гроссберга

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


Статистические свойства обученной сети


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

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


Структура сети


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

Рис. 6.1. 
Нейроны слоя 0 (показанные кружками) служат лишь точками разветвления и не выполняют вычислений. Каждый нейрон слоя 0 соединен с каждым нейроном слоя 1 (называемого слоем Кохонена) отдельным весом
Структура сети
. Эти веса в целом рассматриваются как матрица весов
Структура сети
. Аналогично, каждый нейрон в слое Кохонена (слое 1) соединен с каждым нейроном в слое Гроссберга (слое 2) весом
Структура сети
. Эти веса образуют матрицу весов
Структура сети
. Все это весьма напоминает другие сети, встречавшиеся в предыдущих лекциях; различие, однако, в операциях, выполняемых нейронами Кохонена и Гроссберга.
Как и многие другие сети, встречное распространение функционирует в двух режимах: в нормальном режиме, при котором принимается входной вектор
Структура сети
и выдается выходной вектор
Структура сети
, и в режиме обучения, при котором подается входной вектор и веса корректируются, чтобы дать требуемый выходной вектор.


Введение в сети встречного распространения


По своим возможностям сети встречного распространения превосходят возможности однослойных сетей. Время же их обучения, по сравнению с обратным распространением, может уменьшаться в сто раз. Встречное распространение не настолько общее, как обратное распространение, но оно может давать решение в тех приложениях, где долгая обучающая процедура невозможна. Будет показано, что, помимо преодоления ограничений других сетей, встречное распространение
обладает собственными интересными и полезными свойствами.
Во встречном распространении объединены два хорошо известных алгоритма: самоорганизующаяся карта Кохонена и звезда Гроссберга. При этом появляются свойства, которых нет ни у одного из них в отдельности.
Методы, которые, подобно встречному распространению, объединяют различные сетевые парадигмы как строительные блоки, могут привести к сетям, более близким по архитектуре к мозгу, чем любые другие однородные структуры. Похоже, что в естественном мозге именно каскадные соединения модулей различной специализации позволяют выполнять требуемые вычисления.
Сеть встречного распространения функционирует подобно столу справок, способному к обобщению. В процессе обучения входные векторы ассоциируются с соответствующими выходными векторами; они могут быть двоичными, состоящими из нулей и единиц, или непрерывными. Когда сеть обучена, приложение входного вектора приводит к требуемому выходному вектору. Обобщающая способность сети позволяет получать правильный выход даже при приложении входного вектора, который является неполным или слегка неверным. Таким образом, возможно использовать данную сеть для распознавания образов, восстановления образов и усиления сигналов.


Выбор начальных значений весовых векторов


Всем весам сети перед началом обучения следует придать начальные значения. Общепринятой практикой при работе с нейронными сетями является присваивание весам небольших случайных значений. При обучении слоя Кохонена случайно выбранные весовые векторы следует нормализовать. Окончательные значения весовых векторов после обучения совпадают с нормализованными входными векторами. Поэтому нормализация перед началом обучения приближает весовые векторы к их окончательным значениям, сокращая, таким образом, продолжительность обучающего процесса.
Рандомизация весов слоя Кохонена может породить серьезные проблемы при обучении, так как в результате весовые векторы распределяются равномерно по поверхности гиперсферы. Из-за того, что входные векторы, как правило, распределены неравномерно и имеют тенденцию группироваться на относительно малой части поверхности гиперсферы, большинство весовых векторов будут так удалены от любого входного вектора, что они никогда не смогут дать наилучшее соответствие. Эти нейроны Кохонена будут всегда иметь нулевой выход и окажутся бесполезными. Более того, оставшихся весов, дающих наилучшие соответствия, может оказаться слишком мало, чтобы разделить входные векторы на классы, которые расположены близко друг к другу на поверхности гиперсферы.
Допустим, что имеется несколько множеств входных векторов, все эти множества сходные, но необходимо разделить их на различные классы. Сеть должна быть обучена активировать отдельный нейрон Кохонена для каждого класса. Если начальная плотность весовых векторов в окрестности обучающих векторов слишком мала, то, возможно, не удастся разделить сходные классы из-за того, что весовых векторов в интересующей нас окрестности не хватит, чтобы приписать по одному из них каждому классу входных векторов.
Наоборот, если несколько входных векторов получены незначительными изменениями из одного и того же образца и должны быть объединены в один класс, то они должны включать один и тот же нейрон Кохонена. Если же плотность весовых векторов очень высока вблизи группы слегка различных входных векторов, то каждый входной вектор может активировать отдельный нейрон Кохонена.



Это не является катастрофой, так как слой Гроссберга может отобразить различные нейроны Кохонена в один и тот же выход, но это расточительная трата нейронов Кохонена.

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

Одно из решений, известное под названием метода выпуклой комбинации (convex combination method), состоит в том, что все веса приравниваются к одной и той же величине

Выбор начальных значений весовых векторов


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

Выбор начальных значений весовых векторов


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



Использование обучения

Больцмановское обучение


Этот стохастический метод непосредственно применим к обучению искусственных нейронных сетей:
  1. Определить переменную
    Больцмановское обучение
    , представляющую искусственную температуру. Придать
    Больцмановское обучение
    большое начальное значение.
  2. Предъявить сети множество входов и вычислить выходы и целевую функцию.
  3. Дать случайное изменение весу и пересчитать выход сети и изменение целевой функции в соответствии со сделанным изменением веса.
  4. Если целевая функция уменьшилась (улучшилась), то сохранить изменение веса.

Если изменение веса приводит к увеличению целевой функции, то вероятность сохранения этого изменения вычисляется с помощью распределения Больцмана:
Больцмановское обучение

где
Больцмановское обучение
— вероятность изменения
Больцмановское обучение
в целевой функции;
Больцмановское обучение
— константа, аналогичная константе Больцмана, выбираемая в зависимости от задачи;
Больцмановское обучение
— искусственная температура.
Выбирается случайное число
Больцмановское обучение
из равномерного распределения от нуля до единицы. Если
Больцмановское обучение
больше, чем
Больцмановское обучение
, то изменение сохраняется, в противном случае величина веса возвращается к предыдущему значению. Это позволяет системе делать случайный шаг в направлении, портящем целевую функцию, и дает ей тем самым возможность вырываться из локальных минимумов, где любой малый шаг увеличивает целевую функцию.
Для завершения больцмановского обучения повторяют шаги 3 и 4 для каждого из весов сети, постепенно уменьшая температуру
Больцмановское обучение
, пока не будет достигнуто допустимо низкое значение целевой функции. В этот момент предъявляется другой входной вектор, и процесс обучения повторяется. Сеть обучается на всех векторах обучающего множества, с возможным повторением, пока целевая функция не станет допустимой для всех них.
Величина случайного изменения веса на шаге 3 может определяться различными способами. Например, подобно тепловой системе, весовое изменение
Больцмановское обучение
может выбираться в соответствии с гауссовским распределением:
Больцмановское обучение

где
Больцмановское обучение
— вероятность изменения веса на величину
Больцмановское обучение
,
Больцмановское обучение
— искусственная температура.
Так как требуется величина изменения веса
Больцмановское обучение
, а не вероятность изменения веса, имеющего величину
Больцмановское обучение
, то метод Монте-Карло может быть использован следующим образом:



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


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

Больцмановское обучение


где
Больцмановское обучение
— искусственная температура как функция времени;
Больцмановское обучение
— начальная искусственная температура;
Больцмановское обучение
— искусственное время.

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


Использование обучения


Искусственная нейронная сеть обучается с помощью некоторого процесса, модифицирующего ее веса. Если обучение успешно, то предъявление сети множества входных сигналов приводит к появлению желаемого множества выходных сигналов. Имеется два класса обучающих методов: детерминистский и стохастический.
Детерминистский метод обучения шаг за шагом осуществляет процедуру коррекции весов сети, основанную на использовании их текущих значений, а также величин входов, фактических выходов и желаемых выходов. Обучение персептрона является примером подобного детерминистского метода.
Стохастические методы обучения выполняют псевдослучайные изменения величин весов, сохраняя те изменения, которые ведут к улучшениям. Чтобы показать это наглядно, рассмотрим рис. 7.1, на котором изображена типичная сеть, где нейроны соединены с помощью весов. Выход нейрона является здесь взвешенной суммой его входов, которая преобразована с помощью нелинейной функции. Для обучения сети могут быть использованы следующие процедуры:
  1. Выбрать вес случайным образом и подкорректировать его на небольшое случайное число. Предъявить множество входов и вычислить получающиеся выходы.
  2. Сравнить эти выходы с желаемыми выходами и вычислить величину разности между ними. Общепринятый метод состоит в нахождении разности между фактическим и желаемым выходами для каждого элемента обучаемой пары, возведение разностей в квадрат и нахождение суммы этих квадратов. Целью обучения является минимизация этой разности, часто называемой целевой функцией.
  3. Выбрать вес случайным образом и подкорректировать его на небольшое случайное значение. Если коррекция помогает (уменьшает целевую функцию), то сохранить ее, в противном случае вернуться к первоначальному значению веса.
  4. Повторять шаги с 1 по 3 до тех пор, пока сеть не будет обучена в достаточной степени.

Использование обучения

Рис. 7.1. 
Этот процесс стремится минимизировать целевую функцию, но может попасть, как в ловушку, в неудачное решение. На рис. 7.2 показано, как это может происходить в системе с единственным весом.



Допустим, что первоначально вес взят равным значению в точке
Использование обучения
. Если случайные шаги по весу малы, то любые отклонения от точки
Использование обучения
увеличивают целевую функцию и будут отвергнуты. Лучшее значение веса, принимаемое в точке
Использование обучения
, никогда не будет найдено, и система будет поймана в ловушку локальным минимумом вместо глобального минимума в точке
Использование обучения
. Если же случайные коррекции веса очень велики, то как точка
Использование обучения
, так и точка
Использование обучения


будут часто посещаться, но то же самое будет верно и для каждой другой точки. Вес будет меняться так резко, что он никогда не установится в желаемом минимуме.

Использование обучения

Рис. 7.2. 



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

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

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

Использование обучения


где
Использование обучения
— вероятность того, что система находится в состоянии с энергией
Использование обучения
;
Использование обучения
— постоянная Больцмана;
Использование обучения
— температура по шкале Кельвина.

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


Экспериментальные результаты


Комбинированный алгоритм, использующий обратное распространение и обучение Коши, применялся для обучения нескольких больших сетей. Например, этим методом была успешно обучена система, распознающая рукописные китайские иероглифы. Все же время обучения оказалось отнюдь не маленьким (было потрачено приблизительно 36 часов машинного времени).
В другом эксперименте эта сеть обучалась на задаче ИСКЛЮЧАЮЩЕЕ ИЛИ, которая была использована в качестве теста для сравнения с другими алгоритмами. Для сходимости сети в среднем требовалось около 76 предъявлений обучающего множества. В качестве сравнения можно указать, что при использовании обратного распространения в среднем требовалось около 245 предъявлений для решения этой же задачи и 4986 итераций при использовании обратного распространения второго порядка.
Ни одно из обучений не привело к локальному минимуму. Более того, ни одно из 160 обучений не обнаружило неожиданных патологий, сеть всегда правильно обучалась.
Эксперименты же с чистой машиной Коши потребовали значительно большх времен обучения. Например, при
Экспериментальные результаты
для обучения сети в среднем требовалось около 2284 предъявлений обучающего множества.
Несмотря на такие обнадеживающие результаты, метод еще не исследован до конца, особенно на больших задачах. Значительно большая работа потребуется для определения его достоинств и недостатков.


Метод искусственной теплоемкости


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


Обратное распространение и обучение Коши


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


Обучение Коши


Обучение Коши

Рис. 7.3. 
В этом методе при вычислении величины шага распределение Больцмана заменяется на распределение Коши. Распределение Коши имеет, как показано на рис. 7.3, более длинные "хвосты", увеличивая тем самым вероятность больших шагов. В действительности, распределение Коши имеет бесконечную (неопределенную) дисперсию. С помощью такого простого изменения максимальная скорость уменьшения температуры становится обратно пропорциональной линейной величине, а не логарифму, как для алгоритма обучения Больцмана. Это резко уменьшает время обучения. Зависимость может быть выражена следующим образом:
Обучение Коши

Распределение Коши имеет вид
Обучение Коши

где
Обучение Коши
есть вероятность шага величины
Обучение Коши
.
В данном уравнении
Обучение Коши
может быть проинтегрирована стандартными методами. Решая относительно
Обучение Коши
, получаем
Обучение Коши

где
Обучение Коши
— коэффициент скорости обучения;
Обучение Коши
— изменение веса.
Теперь применение метода Монте-Карло становится очень простым. Для нахождения x в этом случае выбирается случайное число из равномерного распределения на открытом интервале
Обучение Коши
(необходимо ограничить функцию тангенса). Оно подставляется в формулу (5.7) в качестве
Обучение Коши
, и с помощью текущей температуры вычисляется величина шага.


Трудности с алгоритмом обучения Коши


Несмотря на улучшение скорости обучения, даваемое машиной Коши по сравнению с машиной Больцмана, время сходимости все еще может в 100 раз превышать время для алгоритма обратного распространения. Отметим, что сетевой паралич особенно опасен для алгоритма обучения Коши, в особенности для сети с нелинейностью типа логистической функции. Бесконечная дисперсия распределения Коши приводит к изменениям весов до неограниченных величин. Далее, большие изменения весов будут иногда приниматься даже в тех случаях, когда они неблагоприятны, часто приводя к сильному насыщению сетевых нейронов с вытекающим отсюда риском паралича.
Комбинирование обратного распространения с shape обучением Коши. Коррекция весов в комбинированном алгоритме, использующем обратное распространение и обучение Коши, состоит из двух компонент: (1) направленной компоненты, вычисляемой с использованием алгоритма обратного распространения, и (2) случайной компоненты, определяемой распределением Коши. Эти компоненты вычисляются для каждого веса, и их сумма является величиной, на которую изменяется вес. Как и в алгоритме Коши, после вычисления изменения веса вычисляется целевая функция. Если происходит улучшение, изменение сохраняется безусловно. В противном случае, оно сохраняется с вероятностью, определяемой распределением Больцмана. Коррекция веса вычисляется с использованием представленных ранее уравнений для каждого из алгоритмов:
Трудности с алгоритмом обучения Коши

где
Трудности с алгоритмом обучения Коши
— коэффициент, управляющий относительными величинами Коши и обратного распространения в компонентах весового шага. Если
Трудности с алгоритмом обучения Коши
приравнивается нулю, система становится полностью машиной Коши. Если
Трудности с алгоритмом обучения Коши
приравнивается единице, система становится машиной обратного распространения. Изменение лишь одного весового коэффициента между вычислениями весовой функции неэффективно. Оказалось, что лучше сразу изменять все веса целого слоя, хотя для некоторых задач может стать выгоднее иная стратегия. Преодоление сетевого паралича комбинированным методом обучения. Как и в машине Коши, если изменение веса ухудшает целевую функцию, — с помощью распределения Больцмана решается, сохранить ли новое значение веса или восстановить предыдущее значение.



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

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

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

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

Трудности с алгоритмом обучения Коши


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


Трудности, связанные с обратным распространением


Несмотря на богатые возможности, продемонстрированные методом обратного распространения, при его применении возникает ряд трудностей, часть из которых, однако, облегчается благодаря использованию нового алгоритма.
Сходимость. Д.Е.Румелхарт доказал сходимость на языке дифференциальных уравнений в частных производных. Таким образом, доказательство справедливо лишь в том случае, когда коррекция весов выполняется с помощью бесконечно малых шагов. Это условие ведет к бесконечному времени сходимости, и тем самым метод теряет силу в практических применениях. В действительности нет доказательства, что обратное распространение будет сходиться при конечном размере шага. Эксперименты показывают, что сети обычно обучаются, но время обучения велико и непредсказуемо.
Локальные минимумы. В обратном распространении для коррекции весов сети используется градиентный спуск, продвигающийся к минимуму в соответствии с локальным наклоном поверхности ошибки. Он хорошо работает в случае сильно изрезанных невыпуклых поверхностей, которые встречаются в практических задачах. В одних случаях локальный минимум является приемлемым решением, в других случаях он неприемлем.
Даже после того как сеть обучена, невозможно сказать, найден ли с помощью обратного распространения глобальный минимум. Если решение неудовлетворительно, приходится давать весам новые начальные случайные значения и повторно обучать сеть без гарантии, что обучение закончится на этой попытке или что глобальный минимум вообще будет когда-либо найден.
Паралич. При некоторых условиях сеть может при обучении попасть в такое состояние, когда модификация весов не ведет к действительным изменениям сети. Такой "паралич сети" является серьезной проблемой: один раз возникнув, он может увеличить время обучения на несколько порядков.
Паралич возникает, когда значительная часть нейронов получает веса достаточно большие, чтобы дать большие значения NET. В результате величина OUT приближается к своему предельному значению, а производная от сжимающей функции приближается к нулю. Как мы видели, алгоритм обратного распространения при вычислении величины изменения веса использует эту производную в формуле в качестве коэффициента. Для пораженных параличом нейронов близость производной к нулю приводит к тому, что изменение веса становится близким к нулю.
Если подобные условия возникают во многих нейронах сети, то обучение может замедлиться до почти полной остановки.
Нет теории, способной предсказывать, будет ли сеть парализована во время обучения или нет. Экспериментально установлено, что малые размеры шага реже приводят к параличу, но шаг, малый для одной задачи, может оказаться большим для другой. Цена же паралича может быть высокой. При моделировании многие часы машинного времени могут уйти на то, чтобы выйти из паралича.



Конфигурации сетей с обратными связями

Ассоциативность памяти и задача распознавания образов


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



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

В рассматриваемой модели сеть содержала 100 нейронов, упорядоченных в матрицу
Ассоциативность памяти и задача распознавания образов
. Сеть обучалась по правилу Хебба на трех идеальных образах — шрифтовых начертаниях латинских букв M, A и G (см. рис. 8.3). После обучения нейросети в качестве начальных состояний нейронов предъявлялись различные искаженные версии образов, которые в дальнейшем эволюционировали с последовательной динамикой к стационарным состояниям.

Ассоциативность памяти и задача распознавания образов

Рис. 8.3. 

Для каждой пары изображений на рисунке 8.4, левый образ является начальным состоянием, а правый — результатом работы сети, достигнутым стационарным состоянием.

Образ на рис. 8.4(А) был выбран для тестирования адекватности поведения на идеальной задаче, когда предъявленное изображение точно соответствует информации в памяти. В этом случае за один шаг было достигнуто стационарное состояние. Образ на рис. 8.4(Б) характерен для задач распознавания текста независимо от типа шрифта. Начальное и конечное изображения безусловно похожи, но попробуйте это объяснить машине!

Ассоциативность памяти и задача распознавания образов

Рис. 8.4. 

Задания на рис. 8.4(В, Г) характерны для практических приложений. Нейросетевая система способна распознавать практически полностью зашумленные образы. Задачи, соответствующие рисункам 8.4(Д, Е), демонстрируют замечательное свойство сети Хопфилда: она способна ассоциативно узнавать образ по его небольшому фрагменту. Важнейшей особенностью работы сети является генерация ложных образов. Пример ассоциации к ложному образу показан на рис. 8.4(Ж). Ложный образ является устойчивым локальным экстремумом энергии, но не соответствует никакому идеальному образу. Он является в некотором смысле собирательным образом, наследующим черты идеальных собратьев. Ситуация с ложным образом эквивалентна нашему "Где-то я уже это видел".

В данной простейшей задаче ложный образ является "неверным" решением и поэтому вреден.Однако можно надеяться, что такая склонность сети к обобщениям может быть как-то использована. Характерно, что при увеличении объема полезной информации (сравните рис. 8.4 (Е) и (Ж))

исходное состояние попадает в область притяжения требуемого стационарного состояния, и образ распознается.


Бинарные системы


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

Состояние сети — это просто множество текущих значений сигналов OUT от всех нейронов. В первоначальной сети Хопфилда состояние каждого нейрона менялось в дискретные случайные моменты времени, в последующей состояния нейронов могли меняться одновременно. Так как выходом бинарного нейрона может быть только ноль или единица (промежуточных уровней нет), то текущее состояние сети является двоичным числом, каждый бит которого является сигналом OUT некоторого нейрона.
Задачи, решаемые данной сетью, как правило, формулируются следующим образом. Известен некоторый набор двоичных сигналов (изображений, оцифровок звука, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором
Бинарные системы
,
Бинарные системы
— число нейронов в сети и размерность входных и выходных векторов. Каждый элемент
Бинарные системы
равен либо 1, либо 0. Обозначим вектор, описывающий k-й образец, через
Бинарные системы
, а его компоненты, соответственно, —
Бинарные системы
,
Бинарные системы
,
Бинарные системы
— число образцов. Когда сеть распознaет (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть
Бинарные системы
, где
Бинарные системы
--вектор выходных значений сети:
Бинарные системы
. В противном случае, выходной вектор не совпадет ни с одним образцовым.
Если, например, сигналы представляют собой некие изображения, то, отобразив в графическом виде данные с выхода сети, можно будет увидеть картинку, полностью совпадающую с одной из образцовых (в случае успеха) или же "вольную импровизацию" сети (в случае неудачи).



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

Бинарные системы


Здесь
Бинарные системы
и
Бинарные системы
— индексы, соответственно, предсинаптического и постсинаптического нейронов;
Бинарные системы
,
Бинарные системы
Бинарные системы
-й и
Бинарные системы
-й элементы вектора
Бинарные системы
-го образца.

Алгоритм функционирования сети следующий (
Бинарные системы
— номер итерации):



  1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

    Бинарные системы


    поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от
    Бинарные системы
    означает нулевую итерацию в цикле работы сети.



  2. Рассчитывается новое состояние нейронов:

    Бинарные системы


    и новые значения аксонов

    Бинарные системы


    где
    Бинарные системы
    — активационная функция в виде скачка.

  3. Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да — переход к пункту 2, иначе (если выходы стабилизировались) — конец процедуры. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.




Нейроны второго слоя связаны между собой ингибиторными (отрицательными обратными) синаптическими связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же аксоном.

Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образа до всех образцов. Расстоянием Хэмминга называется число отличающихся битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала, в результате чего будет активизирован только один выход сети, соответствующий именно этому образцу.

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

Бинарные системы


Здесь
Бинарные системы
-
Бинарные системы
-й элемент
Бинарные системы
-го образца.

Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине
Бинарные системы
. Синапс нейрона, связанный с его же аксоном, имеет вес +1.

Алгоритм функционирования сети Хэмминга следующий:



  1. На входы сети подается неизвестный вектор

    Бинарные системы
    ,

    исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя):

    Бинарные системы


    После этого полученными значениями инициализируются значения аксонов второго слоя:

    Бинарные системы




  2. Вычисляются новые состояния нейронов второго слоя:

    Бинарные системы


    и значения их аксонов:

    Бинарные системы


    Активационная функция
    Бинарные системы
    имеет вид порога, причем величина
    Бинарные системы


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

  3. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да — перейти к шагу 2. Иначе — конец процедуры.


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


Конфигурации сетей с обратными связями


Рассмотренный нами ранее персептрон относится к классу сетей с направленным потоком распространения информации и не содержит обратных связей. На этапе функционирования каждый нейрон выполняет свою функцию — передачу возбуждения другим нейронам — ровно один раз. Динамика состояний нейронов является неитерационной.
Несколько более сложной является динамика в сети Кохонена. Конкурентное соревнование нейронов достигается путем итераций, в процессе которых информация многократно передается между нейронами.
В общем случае может быть рассмотрена нейронная сеть, содержащая произвольные обратные связи, по которым переданное возбуждение возвращается к данному нейрону, и он повторно выполняет свою функцию. Наблюдения за биологическими локальными нейросетями указывают на наличие множественных обратных связей. Нейродинамика в таких системах становится итерационной. Это свойство существенно расширяет множество типов нейросетевых архитектур, но одновременно приводит к появлению новых проблем.
Неитерационная динамика состояний нейронов является, очевидно, всегда устойчивой. Обратные связи могут приводить к возникновению неустойчивостей, подобных тем, которые возникают в усилительных радиотехнических системах при положительной обратной связи. В нейронных сетях неустойчивость проявляется в блуждающей смене состояний нейронов, не приводящей к возникновению стационарных состояний. В общем случае, ответ на вопрос об устойчивости динамики произвольной системы с обратными связями крайне сложен и до настоящего времени является открытым.
Остановимся на важном частном случае нейросетевой архитектуры, для которой свойства устойчивости подробно исследованы. На рис. 8.1
показана сеть с обратными связями, состоящая из двух слоев. Способ представления несколько отличается от использованного в работе Хопфилда и других сходных, но эквивалентен им с функциональной точки зрения, а также хорошо связан с сетями, рассмотренными на предыдущих лекциях. Нулевой слой, как и на предыдущих рисунках, не выполняет вычислительной функции, а лишь распределяет выходы сети обратно на входы. Каждый нейрон первого слоя вычисляет взвешенную сумму своих входов, давая сигнал NET, который затем с помощью нелинейной функции F преобразуется в сигнал OUT. Эти операции сходны с нейронами других сетей.
Конфигурации сетей с обратными связями

Рис. 8.1. 


Устойчивость


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

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

где
Устойчивость
— искусственная энергия сети;
Устойчивость
— вес от выхода нейрона
Устойчивость
к входу нейрона
Устойчивость
;
Устойчивость
— выход нейрона
Устойчивость
;
Устойчивость
— внешний вход нейрона
Устойчивость
;
Устойчивость
— порог нейрона
Устойчивость
.
Изменение энергии
Устойчивость
, вызванное изменением состояния
Устойчивость
-нейрона, есть
Устойчивость

где
Устойчивость
— изменение выхода
Устойчивость
-го нейрона.
Допустим, что величина NET нейрона
Устойчивость
больше порога. Тогда выражение в скобках будет положительным, а из данных уравнений следует, что выход нейрона
Устойчивость
должен измениться в положительную сторону (или остаться без изменения). Это значит, что
Устойчивость
может быть только положительным или нулем и
Устойчивость
должно быть отрицательным. Следовательно, энергия сети должна либо уменьшиться, либо остаться без изменения.
Далее, допустим, что величина
Устойчивость
меньше порога. Тогда величина
Устойчивость
может быть только отрицательной или нулем. Следовательно, опять энергия должна уменьшиться или остаться без изменения.
И окончательно, если величина
Устойчивость
равна порогу,
Устойчивость
равна нулю и энергия остается без изменения.
Мы показали, что любое изменение состояния нейрона либо уменьшит энергию, либо оставит ее без изменения. Благодаря такому непрерывному стремлению к уменьшению энергия, в конце концов, должна достигнуть минимума и прекратить изменение. По определению такая сеть является устойчивой.
Симметрия сети является достаточным, но не необходимым условием для устойчивости системы. Имеется много устойчивых систем (например, все сети прямого действия), которые ему не удовлетворяют. Можно продемонстрировать примеры, в которых незначительное отклонение от симметрии будет приводить к непрерывным осцилляциям. Однако приближенной симметрии обычно достаточно для устойчивости систем.



Модификации правила Хэбба

Алгоритмы разобучения (забывания)


Возможность забывания ненужной, лишней информации является одним из замечательных свойств биологической памяти. Идея приложения этого свойства к искусственной нейросети Хопфилда
"удивительно" проста: при запоминании образов обучающей выборки вместе с ними запоминаются и ложные образы. Их-то и следует "забыть".
Соответствующие алгоритмы получили название алгоритмов разобучения. Суть их сводится к следующему.
На первой фазе происходит обучение сети по стандартному правилу Хебба. Память наполняется истинными образами и множеством ложной информации. На следующей фазе (фазе разобучения) сети предъявляется некоторый (случайный) образ
Алгоритмы разобучения (забывания)
. Сеть эволюционирует от состояния
Алгоритмы разобучения (забывания)
к некоторому состоянию
Алгоритмы разобучения (забывания)
, которое при большом объеме обучающей выборки чаще всего оказывается ложным. Теперь матрица связей может быть поправлена, с целью уменьшить глубину минимума энергии, отвечающего этому ложному состоянию:
Алгоритмы разобучения (забывания)

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


Аналого-цифровой преобразователь


Рассмотрим электрическую схему, которая основана на сети с обратной связью и реализует четырехбитовый аналого-цифровой преобразователь. На рис. 9.2 показана блок-схема этого устройства с усилителями, выполняющими роль искусственных нейронов. Сопротивления, выполняющие роль весов, соединяют выход каждого нейрона с входами всех остальных. Чтобы удовлетворить условию устойчивости, выход нейрона не соединялся сопротивлением с его собственным входом, а веса брались симметричными, т. е. сопротивление от выхода нейрона
Аналого-цифровой преобразователь
к входу нейрона
Аналого-цифровой преобразователь
имело ту же величину, что и сопротивление от выхода нейрона
Аналого-цифровой преобразователь
к входу нейрона
Аналого-цифровой преобразователь
.
Заметим, что усилители имеют прямой и инвертированный выходы. Это позволяет с помощью обычных положительных сопротивлений реализовывать и те случаи, когда веса должны быть отрицательными. На рис. 9.2 показаны все возможные сопротивления, при этом никогда не возникает необходимости присоединять как прямой, так и инвертированный выходы нейрона к входу другого нейрона.
Аналого-цифровой преобразователь

Рис. 9.2. 
В реальной системе каждый усилитель обладает конечным входным сопротивлением и входной емкостью, что должно учитываться при расчете динамических характеристик. Для устойчивости сети не требуется равенства этих параметров для всех усилителей и их симметричности. Так как эти параметры влияют лишь на затраченное для получения решения время, а не на само решение, для упрощения анализа они исключены.
Предполагается, что используется пороговая функция (предел сигмоидальной функции при
Аналого-цифровой преобразователь
, стремящемся к бесконечности). Далее, все выходы изменяются в начале дискретных интервалов времени, называемых эпохами. В начале каждой эпохи исследуется сумма входов каждого нейрона. Если она больше порога, выход принимает единичное значение, если меньше — нулевое. На протяжении эпохи выходы нейронов не изменяются.
Целью является такой выбор сопротивлений (весов), чтобы непрерывно растущее напряжение
Аналого-цифровой преобразователь
, приложенное к одновходовому терминалу, порождало множество из четырех выходов, представляющих двоичную запись числа, величина которого приближенно равна входному напряжению (см.



рис. 9.3). Определим сначала функцию энергии следующим образом:

Аналого-цифровой преобразователь


где
Аналого-цифровой преобразователь
— входное напряжение.

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

Если данное уравнение перегруппировать, то получим следующее выражение для весов:

Аналого-цифровой преобразователь


где
Аналого-цифровой преобразователь
— проводимость (величина, обратная сопротивлению) от выхода нейрона
Аналого-цифровой преобразователь
к входу нейрона
Аналого-цифровой преобразователь
(равная также проводимости от выхода нейрона
Аналого-цифровой преобразователь
к входу нейрона
Аналого-цифровой преобразователь
);
Аналого-цифровой преобразователь
— проводимость от входа
Аналого-цифровой преобразователь


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

Аналого-цифровой преобразователь

Рис. 9.3. 

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


Емкость сети


Актуальным предметом изучения остается максимальное количество запоминаемой информации, которое может храниться в сети Хопфилда. Так как сеть из
Емкость сети
двоичных нейронов может иметь
Емкость сети

состояний, то исследователи были удивлены, обнаружив, что максимальная емкость памяти оказалась значительно меньшей.
Если бы удалось закрепить в памяти большое количество информационных единиц, то сеть не стабилизировалась бы на некоторых из них. Более того, она могла бы помнить то, чему ее не учили, т. е. могла стабилизироваться на решении, не являющемся требуемым вектором. Эти свойства ставили в тупик первых исследователей, которые не имели математических методов для предварительной оценки емкости памяти сети.
Последние результаты пролили свет на эту проблему. Например, предполагалось, что максимальное количество запоминаемой информации, которое может храниться в сети из
Емкость сети
нейронов и безошибочно извлекаться, меньше чем
Емкость сети
, где
Емкость сети
— положительная константа, большая единицы. Хотя этот предел и достигается в некоторых случаях, в общем случае он оказался слишком оптимистическим. Было экспериментально показано, что предельное значение емкости обычно ближе к
Емкость сети
. Также, по новейшим данным, число таких состояний не может превышать
Емкость сети
, что согласуется с наблюдениями над реальными системами и является наилучшей на сегодняшний день оценкой.


Функция энергии


Определение функции энергии сети в зависимости от задачи не является тривиальным. Существующие решения были получены с помощью изобретательности, математического опыта и таланта, которые не родятся в изобилии.


Локальные минимумы


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


Матрица Хебба с ортогонализацией образов


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

где
Матрица Хебба с ортогонализацией образов
— матрица, обратная к матрице
Матрица Хебба с ортогонализацией образов
:
Матрица Хебба с ортогонализацией образов

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


Модификации правила Хэбба


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


Непрерывные системы


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

где
Непрерывные системы
— коэффициент, определяющий крутизну сигмоидальной функции. Если
Непрерывные системы
велико,
Непрерывные системы
приближается к описанной ранее пороговой функции. Небольшие значения
Непрерывные системы
дают более пологий наклон.
Как и для бинарных систем, устойчивость гарантируется, если веса симметричны, т.е.
Непрерывные системы
и
Непрерывные системы
при всех
Непрерывные системы
. Функция энергии, доказывающая устойчивость подобных систем, сконструирована, но она не рассматривается здесь из-за своего концептуального сходства с дискретным случаем.
Если
Непрерывные системы
велико, непрерывные системы функционируют подобно дискретным бинарным системам, окончательно стабилизируясь со всеми выходами, близкими нулю или единице, т. е. в вершине единичного гиперкуба. С уменьшением
Непрерывные системы
устойчивые точки удаляются от вершин, последовательно исчезая по мере приближения
Непрерывные системы
к нулю. На рис. 9.1 показаны линии энергетических уровней непрерывной системы с двумя нейронами.
Непрерывные системы

Рис. 9.1. 


Обобщенные сети


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

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

  2. Вычислить незакрепленные вероятности:
    а) предоставить сети возможность "свободного движения" без закрепления входов или выходов, начав со случайного состояния;
    б) повторить шаг 2а много раз, регистрируя значения всех нейронов;
    в) вычислить вероятность
    Обобщенные сети
    , т. е. вероятность того, что значения обоих нейронов равны единице.

  3. Скорректировать веса сети следующим образом:
    Обобщенные сети

    где
    Обобщенные сети
    — изменение веса
    Обобщенные сети
    ,
    Обобщенные сети
    — коэффициент скорости обучения.



Отказ от симметрии синапсов


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

Элементы матрицы
Отказ от симметрии синапсов
из множества
Отказ от симметрии синапсов

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


Сети Хопфилда и машина Больцмана


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


Скорость


Главное достоинство сети — ее способность быстро производить вычисления. Причина этого — высокая степень распараллеливания вычислительного процесса. Если сеть реализована на аналоговой электронике, то решение редко занимает промежуток времени, больший нескольких постоянных времени сети. Более того, время сходимости слабо зависит от размерности задачи. Для сравнения: при использовании обычных подходов время, необходимое для решения, возрастает более чем экспоненциально.


Статистические сети Хопфилда


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

где
Статистические сети Хопфилда
— выход NET нейрона
Статистические сети Хопфилда
;
Статистические сети Хопфилда
— порог нейрона
Статистические сети Хопфилда
, и
Статистические сети Хопфилда

(отметим вероятностную функцию Больцмана в знаменателе), где
Статистические сети Хопфилда

— искусственная температура.
В стадии функционирования искусственной температуре
Статистические сети Хопфилда

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

    значение единица, а с вероятностью
    Статистические сети Хопфилда
    — нуль.
  2. Постепенно уменьшать искусственную температуру и повторять шаг 1, пока не будет достигнуто равновесие.



Термодинамические системы


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

где
Термодинамические системы
— энергия системы;
Термодинамические системы
— постоянная Больцмана;
Термодинамические системы
— температура.
Отсюда очевидно: имеется конечная вероятность того, что система обладает высокой энергией даже при низких температурах. Сходным образом имеется небольшая, но вычисляемая вероятность, что чайник с водой на огне замерзнет, прежде чем закипит.
Статистическое распределение энергий позволяет системе выходить из локальных минимумов энергии. В то же время, вероятность высокоэнергетических состояний быстро уменьшается со снижением температуры. Следовательно, при низких температурах имеется сильная тенденция занять низкоэнергетическое состояние.


Задача коммивояжера


Задача коммивояжера является оптимизационной задачей, часто возникающей на практике. Она может быть сформулирована следующим образом: для некоторой группы городов с заданными расстояниями между ними требуется найти кратчайший маршрут с посещением каждого города один раз и с возвращением в исходную точку. Было доказано, что эта задача принадлежит большому множеству задач, называемых "NP-полными" (недетерминистски полиномиальными). Для NP-полных задач не известно лучшего метода решения, чем полный перебор всех возможных вариантов, и, по мнению большинства математиков, маловероятно, чтобы лучший метод был когда-либо найден. Так как такой полный поиск практически неосуществим для большого числа городов, то эвристические методы используются для нахождения приемлемых, хотя и неоптимальных решений.
Существует решение этой задачи, основанное на сетях с обратными связями. Допустим, что города, которые необходимо посетить, помечены буквами
Задача коммивояжера
,
Задача коммивояжера
,
Задача коммивояжера
и
Задача коммивояжера
, а расстояния между парами городов есть
Задача коммивояжера
,
Задача коммивояжера
и т.д.
Решением является упорядоченное множество из
Задача коммивояжера
городов. Задача состоит в отображении его в вычислительную сеть с использованием нейронов в режиме с большой крутизной характеристики (
Задача коммивояжера

приближается к бесконечности). Каждый город представлен строкой из
Задача коммивояжера

нейронов. Выход одного и только одного нейрона из них равен единице (все остальные равны нулю). Этот равный единице выход нейрона показывает порядковый номер, в котором данный город посещается при обходе. В табл. 23.1 приведен случай, когда город
Задача коммивояжера
посещается первым, город
Задача коммивояжера
— вторым, город
Задача коммивояжера
— третьим и город
Задача коммивояжера
— четвертым. Для такого представления требуется
Задача коммивояжера
нейронов — число, которое быстро растет с увеличением числа городов. Длина полученного маршрута была бы равна
Задача коммивояжера
. Так как каждый город посещается только один раз, и в каждый момент посещается лишь один город, то в каждой строке и в каждом столбце имеется по одной единице. Для задачи с
Задача коммивояжера

городами всего имеется
Задача коммивояжера
различных маршрутов обхода. Если
Задача коммивояжера
, то имеется
Задача коммивояжера
возможных маршрутов. Если принять во внимание, что в нашей галактике (Млечном Пути) имеется лишь
Задача коммивояжера




звезд, то станет ясным, что полный перебор всех возможных маршрутов для 1000 городов даже на самом быстром в мире компьютере займет время, сравнимое с геологической эпохой.
городПорядок следования
1234
A0100
B0001
C1000
D0010

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

где
Задача коммивояжера
,
Задача коммивояжера
и
Задача коммивояжера
— некоторые константы. Этим достигается выполнение следующих условий:
  1. Первая тройная сумма равна нулю в том и только в том случае, если каждая строка (город) содержит не более одной единицы.
  2. Вторая тройная сумма равна нулю в том и только в том случае, если каждый столбец (порядковый номер посещения) содержит не более одной единицы.

  3. Третья сумма равна нулю в том и только в том случае, если матрица содержит ровно
    Задача коммивояжера
    единиц. Второе требование — предпочтение коротких маршрутов — удовлетворяется с помощью добавления следующего члена к функции энергии:
    Задача коммивояжера

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

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


Задача коммивояжера
(член, отвечающий за длину цикла),
где
Задача коммивояжера
, если
Задача коммивояжера
, в противном случае
Задача коммивояжера
. Кроме того, каждый нейрон имеет смещающий вес
Задача коммивояжера
, соединенный с
Задача коммивояжера
и равный
Задача коммивояжера
.
Был проведен эксперимент, в котором задача коммивояжера была решена для 10 городов. В этом случае возбуждающая функция была равна
Задача коммивояжера

Как показали результаты, 16 из 20 прогонов сошлись к допустимому маршруту и около 50% решений оказались кратчайшими маршрутами, что было установлено с помощью полного перебора. Наш результат станет более впечатляющим, если осознать, что имеется 181440 допустимых маршрутов.

Структура ДАП

Адаптивная ДАП


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

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


Емкость памяти


Как и сети Хопфилда, ДАП имеет ограничения на максимальное количество ассоциаций, которые она может точно воспроизвести. Если этот лимит превышен, сеть может выработать неверный выходной сигнал, воспроизводя ассоциации, которым не обучена.
Б. Коско получил оценки, в соответствии с которыми количество запомненных ассоциаций не может превышать количества нейронов в меньшем слое. Для этого емкость памяти должна быть максимизирована посредством специального кодирования, при котором количество компонент со значениями
Емкость памяти
равно количеству компонент со значениями
Емкость памяти
в каждом биполярном векторе. Эта оценка оказалась слишком оптимистичной. Е.Г. Рознер показал, что оценка емкости сетей Хопфилда может быть легко обобщена для ДАП. Можно показать, что если
Емкость памяти
векторов выбраны случайно и представлены в указанной выше форме, и если
Емкость памяти
меньше чем
Емкость памяти
), где
Емкость памяти
— количество нейронов в наименьшем слое, тогда все запомненные образы, за исключением "малой части", могут быть восстановлены. Например, если
Емкость памяти
, тогда
Емкость памяти
должно быть меньше 51. Если должны восстанавливаться все образы, то
Емкость памяти
должно быть меньше
Емкость памяти
, то есть меньше 25. Эти несколько озадачивающие результаты показывают, что большие системы могут запоминать только умеренное количество ассоциаций.
Известно, что ДАП может иметь до
Емкость памяти
стабильных состояний, если пороговое значение
Емкость памяти
выбирается для каждого нейрона. Такая конфигурация, которую авторы назвали негомогенной ДАП, является расширением исходной гомогенной ДАП, где все пороги были нулевыми. Модифицированная передаточная функция нейрона принимает в этом случае следующий вид:
Емкость памяти

где
Емкость памяти
— выход нейрона i в момент времени
Емкость памяти
.
С помощью выбора соответствующего порога для каждого нейрона, количество стабильных состояний может быть сделано любым в диапазоне от 1 до
Емкость памяти
, где
Емкость памяти
— количество нейронов в меньшем слое. К сожалению, эти состояния не могут быть выбраны случайно; они определяются жесткой геометрической процедурой. Если пользователь выбирает
Емкость памяти
состояний случайным образом, причем
Емкость памяти
меньше
Емкость памяти
, и если каждый вектор имеет
Емкость памяти
компонент, равных +1, и остальные, равные
Емкость памяти
, то можно сконструировать негомогенную ДАП, имеющую 98% этих векторов в качестве стабильных состояний.



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

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

Несмотря на эти проблемы, ДАП остается объектом интенсивных исследований. Основная привлекательность ДАП заключается в ее простоте. Кроме того, она может быть реализована в виде СБИС (либо аналоговых, либо цифровых), что делает ее потенциально недорогой. Так как наши знания постоянно растут, ограничения ДАП могут быть сняты. В этом случае как в экспериментальных, так и в практических приложениях ДАП будет являться весьма перспективным и полезным классом искусственных нейронных сетей.


Кодировка ассоциаций


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

Предположим, что все запомненные образы представляют собой двоичные векторы. Это ограничение будет выглядеть менее строгим, если вспомнить, что все содержимое Библиотеки Университета может быть закодировано в один очень длинный двоичный вектор. Показано, что более высокая производительность достигается при использовании биполярных векторов. При этом векторная компонента, большая чем 0, становится
Кодировка ассоциаций
, а компонента, меньшая или равная 0, становится
Кодировка ассоциаций
.
Предположим, что требуется обучить сеть с целью запоминания трех пар двоичных векторов, причем векторы
Кодировка ассоциаций
имеют размерность такую же, как и векторы
Кодировка ассоциаций
. Надо отметить, что это не является необходимым условием для работы алгоритма; ассоциации могут быть сформированы и между векторами различной размерности.
Исходный векторАссоциированный векторБинарная версия
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций
Кодировка ассоциаций

Вычисляем весовую матрицу:
Кодировка ассоциаций

Кодировка ассоциаций

Далее, прикладывая входной вектор
Кодировка ассоциаций
, вычисляем выходной вектор
Кодировка ассоциаций
:
Кодировка ассоциаций

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

что является требуемой ассоциацией. Затем, подавая вектор
Кодировка ассоциаций

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

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

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



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

Существует взаимосвязь между ДАП и рассмотренными на предыдущих лекциях сетями Хопфилда. Если весовая матрица
Кодировка ассоциаций


является квадратной и симметричной, то
Кодировка ассоциаций
. В этом случае, если слои 1 и 2 являются одним и тем же набором нейронов, ДАП превращается в автоассоциативную сеть Хопфилда.


Конкурирующая ДАП


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


Непрерывная ДАП


В предшествующем обсуждении нейроны в слоях 1 и 2 рассматривались как синхронные; каждый нейрон обладает памятью, причем все нейроны изменяют состояния одновременно под воздействием импульса от центральных часов. В асинхронной системе любой нейрон свободен изменять состояние в любое время, когда его вход предписывает это сделать.
Кроме того, при определении функции активации нейрона использовался простой порог, образуя разрывность передаточной функции нейронов. Как синхронность функционирования, так и разрывность функций являются биологически неправдоподобными и совсем необязательными; непрерывные асинхронные ДАП отвергают синхронность и разрывность, но функционируют в основном аналогично дискретным версиям. Может показаться, что такие системы должны быть нестабильными. Показано, что непрерывные ДАП являются стабильными (однако для них справедливы ограничения емкости, указанные ранее). С. Гроссберг показал, что сигмоида является оптимальной функцией активации благодаря ее способности усиливать низкоуровневые сигналы и в то же время сжимать динамический диапазон нейронов. Непрерывная ДАП может иметь сигмоидальную функцию с величиной
Непрерывная ДАП
, близкой к единице, и создавать тем самым нейроны с плавной и непрерывной реакцией, во многом аналогичной реакции их биологических прототипов.


Структура ДАП


На рис. 10.1 приведена базовая конфигурация ДАП. Она выбрана таким образом, чтобы подчеркнуть сходство с сетями Хопфилда и предусмотреть увеличения количества слоев. На рис. 10.1 входной вектор
Структура ДАП
обрабатывается матрицей весов
Структура ДАП
сети, в результате чего вырабатывается вектор выходных сигналов нейронов
Структура ДАП
. Вектор
Структура ДАП
затем обрабатывается транспонированной матрицей
Структура ДАП
весов сети, которая вырабатывает новые выходные сигналы, представляющие собой новый входной вектор
Структура ДАП
. Процесс повторяется до тех пор, пока сеть не достигнет стабильного состояния, в котором ни вектор
Структура ДАП
, ни вектор
Структура ДАП
не изменяются. Заметим, что нейроны в слоях 1 и 2 функционируют, как и в других парадигмах, вычисляя сумму взвешенных входов и вычисляя по ней значение функции активации
Структура ДАП
. Этот процесс может быть выражен следующим образом:
Структура ДАП

или в векторной форме:
Структура ДАП

где
Структура ДАП
— вектор выходных сигналов нейронов слоя 2,
Структура ДАП
— вектор выходных сигналов нейронов слоя 1,
Структура ДАП
— матрица весов связей между слоями 1 и 2,
Структура ДАП
— функция активации.
Структура ДАП

Рис. 10.1. 
Аналогично,
Структура ДАП

где
Структура ДАП
является транспозицией матрицы
Структура ДАП
.
Как отмечено нами ранее, Гроссберг показал преимущества использования сигмоидальной (логистической) функции активации
Структура ДАП

где
Структура ДАП
— выход нейрона
Структура ДАП
,
Структура ДАП

— взвешенная сумма входных сигналов нейрона
Структура ДАП
,
Структура ДАП
— константа, определяющая степень кривизны.
В простейших версиях ДАП значение константы
Структура ДАП

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

где
Структура ДАП
представляет собой величину выходного сигнала нейрона
Структура ДАП

в момент времени
Структура ДАП
.
Заметим, что, как и в описанных ранее сетях, слой 0 не производит вычислений и не имеет памяти; он является только средством распределения выходных сигналов слоя 2 к элементам матрицы
Структура ДАП
.


Восстановление запомненных ассоциаций


Долговременная память (или ассоциации) реализуется в весовых массивах
Восстановление запомненных ассоциаций
и
Восстановление запомненных ассоциаций
. Каждый образ состоит из двух векторов: вектора
Восстановление запомненных ассоциаций
, являющегося выходом слоя 1, и вектора
Восстановление запомненных ассоциаций
, ассоциированного образа, являющегося выходом слоя 2. Для восстановления ассоциированного образа вектор
Восстановление запомненных ассоциаций
или его часть кратковременно устанавливаются на выходах слоя 1. Затем вектор
Восстановление запомненных ассоциаций
удаляется, и сеть приводится в стабильное состояние, вырабатывая ассоциированный вектор
Восстановление запомненных ассоциаций
на выходе слоя 2. Далее вектор
Восстановление запомненных ассоциаций
воздействует через транспонированную матрицу
Восстановление запомненных ассоциаций
, воспроизводя воздействие исходного входного вектора
Восстановление запомненных ассоциаций
на выходе слоя 1. Каждый такой цикл вызывает уточнение выходных векторов слоя 1 и 2 до тех пор, пока не будет достигнута точка стабильности в сети. Эта точка может быть определена как резонансная, поскольку вектор передается обратно и вперед между слоями сети, всегда обрабатывая текущие выходные сигналы, но больше не изменяя их. Состояние нейронов представляет собой кратковременную память (КП), так как оно может быстро изменяться при появлении другого входного вектора. Значения коэффициентов весовой матрицы образуют долговременную память и могут изменяться только на более длительном отрезке времени с помощью методов, представленных ниже в данной лекции.
Сеть функционирует в направлении минимизации функции энергии Ляпунова в основном таким же образом, как и сети Хопфилда в процессе сходимости. Следовательно, каждый цикл модифицирует систему в направлении энергетического минимума, расположение которого определяется значениями весов.
Этот процесс может быть визуально представлен в форме направленного движения мяча по резиновой ленте, вытянутой над столом, причем каждому запомненному образу соответствует точка, "вдавленная" в направлении поверхности стола. Рис. 10.2 иллюстрирует данную аналогию, на нем отмечен один запомненный образ. Данный процесс формирует минимум гравитационной энергии в каждой точке, соответствующей запомненному образу, с соответствующим искривлением поля притяжения в направлении к данной точке. Свободно движущийся мяч попадает в поле притяжения и в результате будет двигаться в направлении энергетического минимума, где и остановится.
Восстановление запомненных ассоциаций

Рис. 10.2. 


Принцип адаптивного резонанса

Архитектура АРТ


Адаптивная резонансная теория включает две парадигмы, каждая из которых определяется формой входных данных и способом их обработки. АРТ-1 создана для обработки двоичных входных векторов, в то время как АРТ-2, более позднее обобщение АРТ-1, может классифицировать как двоичные, так и непрерывные векторы. В данном курсе рассматривается только АРТ-1. Для краткости АРТ-1 в дальнейшем будем обозначать как APT.


Функционирование сети APT в процессе классификации


Процесс классификации в APT состоит из трех основных фаз: распознавание, сравнение и поиск.
Фаза распознавания. В начальный момент времени входной вектор отсутствует на входе сети; следовательно, все компоненты входного вектора
Функционирование сети APT в процессе классификации
можно рассматривать как нулевые. Тем самым сигнал
Функционирование сети APT в процессе классификации

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

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

равна единице. Таким образом, в течение данной фазы вектор
Функционирование сети APT в процессе классификации
в точности дублирует вектор
Функционирование сети APT в процессе классификации
.
Далее, для каждого нейрона в слое распознавания вычисляется свертка вектора его весов
Функционирование сети APT в процессе классификации
и вектора
Функционирование сети APT в процессе классификации
(см. рис. 11.5). Нейрон с максимальным значением свертки имеет веса, наилучшим образом соответствующие входному вектору. Он выигрывает конкуренцию и возбуждается, одновременно затормаживая все остальные нейроны этого слоя. Таким образом, единственная компонента
Функционирование сети APT в процессе классификации
вектора
Функционирование сети APT в процессе классификации
(см. рис. 11.3) становится равной единице, а все остальные компоненты становятся равными нулю.
Функционирование сети APT в процессе классификации

Рис. 11.5. 
В результате сеть APT запоминает образы в весах нейронов слоя распознавания — один нейрон для каждой категории классификации. Нейрон слоя распознавания, веса которого наилучшим образом соответствуют входному вектору, возбуждается, его выход устанавливается в единичное значение, а выходы остальных нейронов этого слоя устанавливаются в нуль.
Фаза сравнения. Единственный возбужденный нейрон в слое распознавания возвращает единицу обратно в слой сравнения в виде своего выходного сигнала
Функционирование сети APT в процессе классификации
.



Процесс классификации в APT состоит из трех основных фаз: распознавание, сравнение и поиск.
Фаза распознавания. В начальный момент времени входной вектор отсутствует на входе сети; следовательно, все компоненты входного вектора
Функционирование сети APT в процессе классификации
можно рассматривать как нулевые. Тем самым сигнал
Функционирование сети APT в процессе классификации

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

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

равна единице. Таким образом, в течение данной фазы вектор
Функционирование сети APT в процессе классификации
в точности дублирует вектор
Функционирование сети APT в процессе классификации
.
Далее, для каждого нейрона в слое распознавания вычисляется свертка вектора его весов
Функционирование сети APT в процессе классификации
и вектора
Функционирование сети APT в процессе классификации
(см. рис. 11.5). Нейрон с максимальным значением свертки имеет веса, наилучшим образом соответствующие входному вектору. Он выигрывает конкуренцию и возбуждается, одновременно затормаживая все остальные нейроны этого слоя. Таким образом, единственная компонента
Функционирование сети APT в процессе классификации
вектора
Функционирование сети APT в процессе классификации
(см. рис. 11.3) становится равной единице, а все остальные компоненты становятся равными нулю.
Функционирование сети APT в процессе классификации

Рис. 11.5. 
В результате сеть APT запоминает образы в весах нейронов слоя распознавания — один нейрон для каждой категории классификации. Нейрон слоя распознавания, веса которого наилучшим образом соответствуют входному вектору, возбуждается, его выход устанавливается в единичное значение, а выходы остальных нейронов этого слоя устанавливаются в нуль.
Фаза сравнения. Единственный возбужденный нейрон в слое распознавания возвращает единицу обратно в слой сравнения в виде своего выходного сигнала
Функционирование сети APT в процессе классификации
. Эта единственная единица может быть визуально представлена в виде "веерного" выхода, подающегося через отдельную связь с весом
Функционирование сети APT в процессе классификации
на каждый нейрон в слое сравнения, обеспечивая каждый нейрон сигналом
Функционирование сети APT в процессе классификации
, равным величине
Функционирование сети APT в процессе классификации
(нулю или единице) (см. рис. 11.6).
Функционирование сети APT в процессе классификации

Рис. 11.6. 
Алгоритмы инициализации и обучения построены таким образом, что каждый весовой вектор
Функционирование сети APT в процессе классификации
имеет двоичные значения весов; кроме того, каждый весовой вектор
Функционирование сети APT в процессе классификации
представляет собой масштабированную версию соответствующего вектора
Функционирование сети APT в процессе классификации
. Это означает, что все компоненты
Функционирование сети APT в процессе классификации

(вектора возбуждения слоя сравнения) также являются двоичными величинами.
Так как вектор
Функционирование сети APT в процессе классификации
не является больше нулевым, сигнал
Функционирование сети APT в процессе классификации

устанавливается в нуль. Таким образом, в соответствии с правилом двух третей, возбудиться могут только нейроны, получающие на входе одновременно единицы от входного вектора
Функционирование сети APT в процессе классификации
и вектора
Функционирование сети APT в процессе классификации
.
Другими словами, обратная связь от распознающего слоя действует так, чтобы установить компоненты
Функционирование сети APT в процессе классификации
в нуль в случае, если входной вектор не соответствует входному образу (т. е. если
Функционирование сети APT в процессе классификации
и
Функционирование сети APT в процессе классификации

не имеют совпадающих компонент).
Если имеются существенные различия между
Функционирование сети APT в процессе классификации
и
Функционирование сети APT в процессе классификации

(малое количество совпадающих компонент векторов), несколько нейронов на фазе сравнения будут возбуждаться и
Функционирование сети APT в процессе классификации
будет содержать много нулей, в то время как
Функционирование сети APT в процессе классификации
содержит единицы. Это означает, что возвращенный вектор
Функционирование сети APT в процессе классификации
не является искомым и возбужденные нейроны в слое распознавания должны быть заторможены. Такое торможение производится блоком сброса (см. рис. 11.2), который сравнивает входной вектор
Функционирование сети APT в процессе классификации
и вектор
Функционирование сети APT в процессе классификации
и вырабатывает сигнал сброса, если степень сходства этих векторов меньше некоторого уровня. Влияние сигнала сброса заключается в установке выхода возбужденного нейрона в нуль, отключая его на время текущей классификации.
Фаза поиска. Если не выработан сигнал сброса, сходство является адекватным и процесс классификации завершается. В противном случае, другие запомненные образы должны быть исследованы с целью поиска лучшего соответствия. При этом торможение возбужденного нейрона в распознающем слое приводит к установке всех компонент вектора
Функционирование сети APT в процессе классификации
в 0,
Функционирование сети APT в процессе классификации
устанавливается в 1 и входной вектор
Функционирование сети APT в процессе классификации
опять прикладывается в качестве
Функционирование сети APT в процессе классификации
. В результате другой нейрон выигрывает соревнование в слое распознавания и другой запомненный образ
Функционирование сети APT в процессе классификации
возвращается в слой сравнения. Если
Функционирование сети APT в процессе классификации
не соответствует
Функционирование сети APT в процессе классификации
, возбужденный нейрон в слое распознавания снова тормозится. Этот процесс повторяется до тех пор, пока не встретится одно из двух событий:
  1. Найден запомненный образ, сходство которого с вектором
    Функционирование сети APT в процессе классификации

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

    и
    Функционирование сети APT в процессе классификации
    устанавливаются соответствующими новому входному образу.

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


Функционирование сети APT в процессе классификации

<



Эта единственная единица может быть визуально представлена в виде "веерного" выхода, подающегося через отдельную связь с весом
Функционирование сети APT в процессе классификации
на каждый нейрон в слое сравнения, обеспечивая каждый нейрон сигналом
Функционирование сети APT в процессе классификации
, равным величине
Функционирование сети APT в процессе классификации
(нулю или единице) (см. рис. 11.6).

Функционирование сети APT в процессе классификации

Рис. 11.6. 

Алгоритмы инициализации и обучения построены таким образом, что каждый весовой вектор
Функционирование сети APT в процессе классификации
имеет двоичные значения весов; кроме того, каждый весовой вектор
Функционирование сети APT в процессе классификации
представляет собой масштабированную версию соответствующего вектора
Функционирование сети APT в процессе классификации
. Это означает, что все компоненты
Функционирование сети APT в процессе классификации


(вектора возбуждения слоя сравнения) также являются двоичными величинами.

Так как вектор
Функционирование сети APT в процессе классификации
не является больше нулевым, сигнал
Функционирование сети APT в процессе классификации


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

Другими словами, обратная связь от распознающего слоя действует так, чтобы установить компоненты
Функционирование сети APT в процессе классификации
в нуль в случае, если входной вектор не соответствует входному образу (т. е. если
Функционирование сети APT в процессе классификации
и
Функционирование сети APT в процессе классификации


не имеют совпадающих компонент).

Если имеются существенные различия между
Функционирование сети APT в процессе классификации
и
Функционирование сети APT в процессе классификации


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

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



В результате другой нейрон выигрывает соревнование в слое распознавания и другой запомненный образ
Функционирование сети APT в процессе классификации
возвращается в слой сравнения. Если
Функционирование сети APT в процессе классификации
не соответствует
Функционирование сети APT в процессе классификации
, возбужденный нейрон в слое распознавания снова тормозится. Этот процесс повторяется до тех пор, пока не встретится одно из двух событий:

  1. Найден запомненный образ, сходство которого с вектором
    Функционирование сети APT в процессе классификации


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


    и
    Функционирование сети APT в процессе классификации
    устанавливаются соответствующими новому входному образу.


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

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


Описание APT


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


Принцип адаптивного резонанса


Привлекательной особенностью нейронных сетей с адаптивным резонансом является то, что они сохраняют пластичность при запоминании новых образов, и, в то же время, предотвращают модификацию старой памяти. Нейросеть имеет внутренний детектор новизны - тест на сравнение предъявленного образа с содержимым памяти. При удачном поиске в памяти предъявленный образ классифицируется с одновременной уточняющей модификацией синаптических весов нейрона, выполнившего классификацию. Такую ситуацию называют возникновением адаптивного резонанса в сети в ответ на предъявление образа. Если резонанс не возникает в пределах некоторого заданного порогового уровня, то тест новизны считается успешным и образ воспринимается сетью как новый. Модификация весов нейронов, не испытавших резонанса, при этом не производится.
Важным понятием в теории адаптивного резонанса является так называемый шаблон критических черт (critical feature pattern) информации. Этот термин показывает, что не все черты (детали), представленные в некотором образе, являются существенными для системы восприятия. Результат распознавания определяется присутствием специфичных критических особенностей в образе. Рассмотрим это на примере.
Принцип адаптивного резонанса

Рис. 11.1. 
Обе пары картинок на рис. 11.1 имеют общее свойство: в каждой из пар черная точка в правом нижнем углу заменена на белую, а белая точка в левом нижнем углу — на черную. Такое изменение для правой пары картинок (на рисунке — пара (b)), очевидно, является не более чем шумом, и оба образа (b) есть искаженные версии одного и того же изображения. Тем самым, измененные точки не являются для этого образа критическими.
Совершенно иная ситуация изображена на левой паре картинок (a). Здесь такое же изменение точек оказывается слишком существенным для образа, так что правая и левая картинки являются различными образами. Следовательно, одна и та же черта образа может быть не существенной в одном случае и критической — в другом. Задачей нейронной сети будет формирование правильной реакции в обоих случаях: "пластичное" решение о появлении нового образа для пары (a) и "стабильное" решение о совпадении картинок (b).



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

Отметим, что, в общем случае, одного лишь перечисления черт (даже если его предварительно выполнит человек, предполагая определенные условия дальнейшей работы сети) может оказаться недостаточно для успешного функционирования искусственной нейронной системы: критическими могут оказаться специфические связи между несколькими отдельными чертами.

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

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

Эти и другие особенности теории адаптивного резонанса нашли свое отражение в нейросетевых архитектурах, которые получили такое же название — АРТ.


Упрощенная архитектура APT


На рис. 11.2 показана упрощенная конфигурация сети APT, представленная в виде пяти функциональных модулей. Она включает два слоя нейронов — так называемые "слой сравнения" и "слой распознавания". Приемник 1, Приемник 2 и Сброс обеспечивают управляющие функции, необходимые для обучения и классификации. Перед рассмотрением вопросов функционирования сети в целом необходимо рассмотреть отдельно назначения модулей; далее обсуждаются функции каждого из них.
Упрощенная архитектура APT

Рис. 11.2. 
Слой сравнения. Слой сравнения получает двоичный входной вектор
Упрощенная архитектура APT
и первоначально пропускает его неизмененным для формирования выходного вектора
Упрощенная архитектура APT
. На более поздней фазе в распознающем слое вырабатывается двоичный вектор
Упрощенная архитектура APT
, модифицирующий вектор
Упрощенная архитектура APT
, как описано ниже.
Каждый нейрон в слое сравнения (см. рис. 11.3) получает три двоичных входа (0 или 1): (1) компонента
Упрощенная архитектура APT
входного вектора
Упрощенная архитектура APT
; (2) сигнал обратной связи
Упрощенная архитектура APT
— взвешенная сумма выходов распознающего слоя; (3) вход от Приемника 1 (один и тот же сигнал подается на все нейроны этого слоя).
Упрощенная архитектура APT

Рис. 11.3. 
Чтобы получить на выходе нейрона единичное значение, как минимум два из трех его входов должны равняться единице; в противном случае его выход будет нулевым. Таким образом, реализуется правило двух третей. Первоначально выходной сигнал
Упрощенная архитектура APT
Приемника 1 установлен в единицу, обеспечивая один из входов, необходимых для возбуждения нейронов, а все компоненты вектора
Упрощенная архитектура APT
установлены в 0; следовательно, в этот момент вектор
Упрощенная архитектура APT
идентичен двоичному входному вектору
Упрощенная архитектура APT
.
Слой распознавания.
Слой распознавания осуществляет классификацию входных векторов. Каждый нейрон в слое распознавания имеет соответствующий вектор весов
Упрощенная архитектура APT
. Только один нейрон с весовым вектором, наиболее соответствующим входному вектору, возбуждается; все остальные заторможены.
Как показано на рис. 11.4, нейрон в распознающем слое имеет максимальную реакцию, если вектор
Упрощенная архитектура APT
, являющийся выходом слоя сравнения, соответствует набору его весов; следовательно, веса представляют запомненный образ или экземпляр для категории входных векторов.



Такие веса являются действительными числами, а не двоичными величинами. Двоичная версия этого образа также запоминается в соответствующем наборе весов слоя сравнения (рис. 11.3); этот набор состоит из весов связей, соединяющих определенные нейроны слоя распознавания, по одному весу на каждый нейрон слоя сравнения.

Упрощенная архитектура APT

Рис. 11.4. 

В процессе функционирования каждый нейрон слоя распознавания вычисляет свертку вектора собственных весов и входного вектора
Упрощенная архитектура APT
. Нейрон, веса которого наиболее близки вектору
Упрощенная архитектура APT
, будет иметь самый большой выход, тем самым выигрывая соревнование и одновременно затормаживая все остальные нейроны в слое. Как показано на рис. 11.5, нейроны внутри слоя распознавания взаимно соединены в латерально-тормозящую сеть. В простейшем случае (единственном, рассмотренном в данной работе) предусматривается, что только один нейрон в слое возбуждается в каждый момент времени (т. е. только нейрон с наивысшим уровнем активации будет иметь единичный выход; все остальные нейроны будут иметь нулевой выход). Эта конкуренция реализуется введением связей с отрицательными весами
Упрощенная архитектура APT


с выхода каждого нейрона
Упрощенная архитектура APT
на входы остальных нейронов. Таким образом, если нейрон имеет большой выход, он тормозит все остальные нейроны в слое. Кроме того, каждый нейрон имеет связь с положительным весом со своего выхода на свой вход. Если нейрон имеет единичный выходной уровень, эта обратная связь стремится усилить и поддержать его.

Приемник 2.
Упрощенная архитектура APT
, выход Приемника 2, равен единице, если входной вектор
Упрощенная архитектура APT
имеет хотя бы одну единичную компоненту. Более точно,
Упрощенная архитектура APT
является логическим ИЛИ от компонента вектора
Упрощенная архитектура APT
. Приемник 1. Как и сигнал
Упрощенная архитектура APT
, выходной сигнал
Упрощенная архитектура APT


Приемника 1 равен 1, если хотя бы одна компонента двоичного входного вектора
Упрощенная архитектура APT


равна единице; однако, если хотя бы одна компонента вектора
Упрощенная архитектура APT


равна единице,
Упрощенная архитектура APT
устанавливается в нуль. Таблица, определяющая эти соотношения:

ИЛИ от компонента вектора XИЛИ от компонента вектора RG1
000
101
110
010


Сброс. Модуль сброса измеряет сходство между векторами
Упрощенная архитектура APT
и
Упрощенная архитектура APT
. Если они отличаются сильнее, чем требует параметр сходства, вырабатывается сигнал сброса возбужденного нейрона в слое распознавания.

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


Функционирование сетей APT

Функционирование сетей APT


Рассмотрим более детально пять фаз процесса функционирования APT: инициализацию, распознавание, сравнение, поиск и обучение.
Инициализация. Перед началом процесса обучения сети все весовые векторы
Функционирование сетей APT
и
Функционирование сетей APT
, а также параметр сходства
Функционирование сетей APT
, должны быть установлены в начальные значения.
Веса векторов
Функционирование сетей APT
все инициализируются в одинаковые малые значения. Эти значения должны удовлетворять условию
Функционирование сетей APT

где
Функционирование сетей APT
— количество компонент входного вектора,
Функционирование сетей APT

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

Эти значения также являются критическими; показано, что слишком маленькие веса приводят к отсутствию соответствия в слое сравнения и отсутствию обучения.
Параметр сходства
Функционирование сетей APT
устанавливается в диапазоне от 0 до 1 в зависимости от требуемой степени сходства между запомненным образом и входным вектором. При высоких значениях
Функционирование сетей APT
сеть относит к одному классу только очень слабо отличающиеся образы. С другой стороны, малое значение
Функционирование сетей APT
заставляет сеть группировать образы, которые имеют слабое сходство между собой. Для выработки точной классификации полезна возможность изменять коэффициент сходства на протяжении процесса обучения, обеспечивая только грубую классификацию в начале процесса обучения и затем постепенно увеличивая коэффициент сходства. Распознавание. Появление на входе сети входного вектора
Функционирование сетей APT

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



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

Функционирование сетей APT


где
Функционирование сетей APT
— весовой вектор, соответствующий нейрону
Функционирование сетей APT
в слое распознавания,
Функционирование сетей APT
— выходной вектор нейронов слоя сравнения (в этот момент
Функционирование сетей APT
равно
Функционирование сетей APT
),
Функционирование сетей APT
— возбуждение нейрона
Функционирование сетей APT
в слое распознавания.

Функционирование сетей APT
является пороговой функцией, определяемой следующим образом:

Функционирование сетей APT


где
Функционирование сетей APT
представляет собой порог.



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

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


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

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


входному вектору
Функционирование сетей APT
, сходство
Функционирование сетей APT
примет значение единицы и критерий сходства будет удовлетворен.

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

Различают два вида обучения: медленное и быстрое. При медленном обучении входной вектор предъявляется настолько кратковременно, что веса сети не успевают достигнуть своих ассимптотических значений при единичном предъявлении. В этом случае значения весов будут определяться, скорее, статистическими характеристиками входных векторов, чем характеристиками какого-то одного входного вектора.



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

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

Рассмотренный далее обучающий алгоритм используется как в случае успешного, так и в случае неуспешного поиска.

Пусть вектор весов
Функционирование сетей APT
(связанный с возбужденным нейроном
Функционирование сетей APT


распознающего слоя) равен нормализованной величине вектора
Функционирование сетей APT
. Эти веса вычисляются следующим образом:

Функционирование сетей APT


где
Функционирование сетей APT
Функционирование сетей APT
-я компонента выходного вектора слоя сравнения,
Функционирование сетей APT
— номер выигравшего нейрона в слое распознавания,
Функционирование сетей APT
— вес связи, соединяющей нейрон
Функционирование сетей APT
в слое сравнения с нейроном
Функционирование сетей APT
в слое распознавания,
Функционирование сетей APT
— константа > 1 (обычно 2).

Компоненты вектора весов
Функционирование сетей APT
, связанного с новым запомненным вектором, изменяются таким образом, что становятся равны соответствующим двоичным величинам вектора
Функционирование сетей APT
:

Функционирование сетей APT


где
Функционирование сетей APT
является весом связи между выигравшим нейроном
Функционирование сетей APT
в слое распознавания и нейроном
Функционирование сетей APT
в слое сравнения.


Характеристики АРТ


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


Инициализация весов bij


Инициализация весов
Инициализация весов bij
малыми значениями является существенной для корректного функционирования систем APT. Если они слишком большие, входной вес вектора, который уже был запомнен, станет скорее активизировать несвязанный нейрон, чем ранее обученный.
Установка этих весов в малые величины гарантирует, что несвязанные нейроны не будут получать возбуждения большего, чем обученные нейроны в слое распознавания. Используя предыдущий пример с
Инициализация весов bij
,
Инициализация весов bij
и
Инициализация весов bij
, произвольно установим
Инициализация весов bij
. С такими весами предъявление вектора, которому сеть была ранее обучена, приведет к более высокому уровню активации для правильно обученного нейрона в слое распознавания, чем для несвязанного нейрона. Например, для несвязанного нейрона
Инициализация весов bij
будет производить возбуждение 1/6, в то время как
Инициализация весов bij
будет производить возбуждение 1/2; и то, и другое ниже возбуждения для обученных нейронов.
Поиск. Может показаться, что в описанных алгоритмах отсутствует необходимость фазы поиска, за исключением случая, когда для входного вектора должен быть распределен новый несвязанный нейрон. Это не совсем так: предъявление входного вектора, сходного, но не абсолютно идентичного одному из запомненных образов, может при первом испытании не обеспечить выбор нейрона слоя распознавания с уровнем сходства, большим р, хотя такой нейрон будет существовать; и, тем самым, без поиска не обойтись.
Как и в предыдущем примере, предположим, что сеть обучается следующим двум векторам:
Инициализация весов bij

с векторами весов
Инициализация весов bij
, обученными следующим образом:
Инициализация весов bij

Теперь приложим входной вектор
Инициализация весов bij
. В этом случае возбуждение нейрона 1 в слое распознавания будет 1,0, а нейрона 2 только 2/3. Нейрон 1 выйдет победителем (хотя он не лучшим образом соответствует входному вектору), вектор
Инициализация весов bij
получит значение 1 1 0 0 0,
Инициализация весов bij

будет равно 1/2. Если уровень сходства установлен в 3/4, нейрон 1 будет заторможен и нейрон 2 выиграет состязание.
Инициализация весов bij
станет равным 1 1 0 0 0,
Инициализация весов bij

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


Инициализация весовых векторов T


В ранее рассмотренном примере обучения сети можно было видеть, что правило двух третей приводит к вычислению вектора
Инициализация весовых векторов T
как функции И между входным вектором
Инициализация весовых векторов T
и выигравшим соревнование запомненным вектором
Инициализация весовых векторов T
. Следовательно, любая компонента вектора
Инициализация весовых векторов T
будет равна единице в том случае, если соответствующие компоненты обоих векторов равны единице. После обучения эти компоненты вектора
Инициализация весовых векторов T
остаются единичными; все остальные устанавливаются в нуль.
Это объясняет, почему веса
Инициализация весовых векторов T
должны инициализироваться единичными значениями. Если бы они были проинициализированы нулевыми значениями, все компоненты вектора
Инициализация весовых векторов T
были бы нулевыми независимо от значений компонент входного вектора, и обучающий алгоритм предохранял бы веса от изменения их нулевых значений.
Обучение может рассматриваться как процесс "сокращения" компонент запомненных векторов, которые не соответствуют входным векторам. Процесс необратим, если вес однажды установлен в нуль, — обучающий алгоритм никогда не восстановит его единичное значение.
Это свойство имеет важное отношение к процессу обучения. Предположим, что группа точно соответствующих векторов должна быть классифицирована как одна категория, определяемая возбуждением одного нейрона в слое распознавания. Если эти векторы последовательно предъявляются сети, то при предъявлении первого будет распределяться нейрон распознающего слоя и его веса будут обучены с целью соответствия входному вектору. Обучение при предъявлении остальных векторов будет приводить к обнулению весов в тех позициях, которые имеют нулевые значения в любом из входных векторов. Таким образом, запомненный вектор представляет собой логическое пересечение всех обучающих векторов и может включать существенные характеристики данной категории весов. Новый вектор, включающий только существенные характеристики, будет соответствовать этой категории. Таким образом, сеть корректно распознает образ, никогда не виденный ранее, т. е. реализуется возможность, напоминающая процесс восприятия в мозге человека.


Настройка весовых векторов Bj


Выражение, описывающее процесс настройки весов, является центральным для описания процесса функционирования сетей APT:
Настройка весовых векторов Bj

Сумма в знаменателе представляет собой количество единиц на выходе слоя сравнения. Заданная величина может быть рассмотрена как "размер" этого вектора. В такой интерпретации "большие" векторы
Настройка весовых векторов Bj
производят более маленькие величины весов
Настройка весовых векторов Bj
, чем "маленькие" вектора
Настройка весовых векторов Bj
. Это свойство самомасштабирования делает возможным разделение двух векторов в случае, когда один вектор является поднабором другого, т. е. когда набор единичных компонент одного вектора составляет подмножество единичных компонент другого.
Чтобы проиллюстрировать проблему, которая возникает при отсутствии масштабирования, используемого в данном выражении, предположим, что сеть обучена двум приведенным ниже входным векторам, при этом каждому распределен нейрон в слое распознавания.
Заметим, что
Настройка весовых векторов Bj
является поднабором
Настройка весовых векторов Bj
. В отсутствие свойства масштабирования веса
Настройка весовых векторов Bj
и
Настройка весовых векторов Bj
получат значения, идентичные значениям входных векторов. Если начальные значения выбраны равными 1,0, веса образов будут иметь следующие значения: если
Настройка весовых векторов Bj

прикладывается повторно, оба нейрона в слое распознавания получают одинаковые активации; следовательно, нейрон 2 — ошибочный нейрон — выиграет конкуренцию.
Кроме выполнения некорректной классификации, может быть нарушен процесс обучения. Так как
Настройка весовых векторов Bj
равно 1 1 1 0 0, только первая единица соответствует единице входного вектора, и
Настройка весовых векторов Bj
устанавливается в 1 0 0 0 0; критерий сходства удовлетворяется и алгоритм обучения устанавливает вторую и третью единицы векторов
Настройка весовых векторов Bj
и
Настройка весовых векторов Bj
в нуль, разрушая запомненный образ.
Масштабирование весов
Настройка весовых векторов Bj
позволяет избежать такого нежелательного течения событий. Предположим, что используется значение
Настройка весовых векторов Bj
, тем самым определяя следующую формулу:
Настройка весовых векторов Bj

Подавая на вход сети вектор
Настройка весовых векторов Bj
, получим возбуждающее воздействие 1,0 для нейрона 1 в слое распознавания и
Настройка весовых векторов Bj
для нейрона 2; таким образом, нейрон 1 (правильный) выиграет соревнование. Аналогично, предъявление вектора
Настройка весовых векторов Bj
вызовет уровень возбуждения 1,0 для нейрона 1 и 3/2 для нейрона 2, тем самым снова правильно выбирая победителя.


Нерешенные проблемы и недостатки АРТ-1


Нейронные сети АРТ, при всех их замечательных свойствах, имеют ряд недостатков. Один из них — большое количество синаптических связей в сети, в расчете на единицу запоминаемой информации. При этом многие из весов этих связей (например, вектора
Нерешенные проблемы и недостатки АРТ-1
) оказываются после обучения нулевыми. Эту особенность следует учитывать при аппаратных реализациях.

Сеть АРТ-1 приспособлена к работе только с битовыми векторами. Это неудобство преодолевается в сетях АРТ-2 и АРТ-3. Однако в этих архитектурах, равно как и в АРТ-1, сохраняется главный недостаток АРТ — локализованность памяти. Память нейросети АРТ не является распределенной, и некоторой заданной категории отвечает вполне конкретный нейрон слоя распознавания. При его разрушении теряется память обо всей категории. Эта особенность, увы, не позволяет говорить о сетях адаптивной резонансной теории как о прямых моделях биологических нейронных сетей. Память последних является распределенной.


Пример обучения сети АРТ


В общих чертах сеть обучается при помощи изменения весов таким образом, что предъявление входного вектора заставляет сеть активизировать нейроны в слое распознавания, связанные со сходным запомненным вектором. Кроме этого, обучение проводится в форме, не разрушающей запомненные ранее образы, и предотвращает тем самым временную нестабильность. Эта задача управляется на уровне выбора критерия сходства. Новый входной образ (который сеть раньше не видела) не будет соответствовать запомненным образам с точки зрения параметра сходства, тем самым формируя новый запоминаемый образ. Входной образ, в достаточной степени соответствующий одному из запомненных образов, не будет формировать нового экземпляра, он просто будет модифицировать тот, на который он похож. В результате при соответствующем выборе критерия сходства предотвращается запоминание ранее изученных образов и временная нестабильность.
На рис. 12.1 показан типичный сеанс обучения сети APT. Буквы изображены состоящими из маленьких квадратов, каждая буква размерностью
Пример обучения сети АРТ
. Каждый квадрат в левой части представляет компоненту вектора
Пример обучения сети АРТ
с единичным значением, не показанные квадраты являются компонентами с нулевыми значениями. Буквы справа представляют запомненные образы, каждый является набором величин компонент вектора
Пример обучения сети АРТ
.
Пример обучения сети АРТ

увеличить изображение
Рис. 12.1. 
Вначале на вход заново проинициированной системы подается буква "С". Так как отсутствуют запомненные образы, фаза поиска заканчивается неуспешно; новый нейрон выделяется в слое распознавания, и веса
Пример обучения сети АРТ

устанавливаются равными соответствующим компонентам входного вектора, при этом веса
Пример обучения сети АРТ
представляют масштабированную версию входного вектора.
Далее предъявляется буква "В". Она также вызывает неуспешное окончание фазы поиска и выделение нового нейрона. Аналогичный процесс повторяется для буквы "Е". Затем слабо искаженная версия буквы "Е" подается на вход сети. Она достаточно точно соответствует запомненной букве "Е", чтобы выдержать проверку на сходство, поэтому используется для обучения сети.



Отсутствующий пиксель в нижней ножке буквы "Е" устанавливает в 0 соответствующую компоненту вектора
Пример обучения сети АРТ
, заставляя обучающий алгоритм установить этот вес запомненного образа в нуль, тем самым воспроизводя искажения в запомненном образе. Дополнительный изолированный квадрат не изменяет запомненного образа, так как не соответствует единице в запомненном образе.
Четвертым символом является буква "Е" с двумя различными искажениями. Она не соответствует ранее запомненному образу (
Пример обучения сети АРТ

меньше чем
Пример обучения сети АРТ
), поэтому для ее запоминания выделяется новый нейрон.
Этот пример иллюстрирует важность выбора корректного значения критерия сходства. Если значение критерия слишком велико, большинство образов не будут подтверждать сходство с ранее запомненными и сеть будет выделять новый нейрон для каждого из них. Такой процесс приводит к плохому обобщению в сети, в результате даже незначительные изменения одного образа будут создавать отдельные новые категории; далее количество категорий увеличивается, все доступные нейроны распределяются, и способность системы к восприятию новых данных теряется. Наоборот, если критерий сходства слишком мал, сильно различающиеся образы будут группироваться вместе, искажая запомненный образ, до тех пор, пока в результате не получится очень малое сходство с одним из них.
К сожалению, отсутствует теоретическое обоснование выбора критерия сходства, и в каждом конкретном случае необходимо решить "волевым усилием", какая степень сходства должна быть принята для отнесения образов к одной категории. Границы между категориями часто неясны, и решение задачи для большого набора входных векторов может быть чрезмерно трудным.
Гроссберг предложил процедуру с использованием обратной связи для настройки коэффициента сходства, вносящую, однако, некоторые искажения в результаты классификации как "наказание" за внешнее вмешательство с целью увеличения коэффициента сходства. Такие системы требуют правил оценки корректности для производимой ими классификации.

Теоремы APT


Гроссберг доказал некоторые теоремы, которые описывают характеристики сетей APT. Четыре результата, приведенные ниже, являются одними из наиболее важных:
  1. После стабилизации процесса обучения предъявление одного из обучающих векторов (или вектора с существенными характеристиками категории) будет активизировать требуемый нейрон слоя распознавания без поиска. Такая характеристика "прямого доступа" обеспечивает быстрый доступ к предварительно изученным образам.
  2. Процесс поиска является устойчивым. После определения выигравшего нейрона в сети не будет возбуждений других нейронов из-за изменения векторов выхода слоя сравнения
    Теоремы APT
    ; только сигнал сброса может вызвать такие изменения.
  3. Процесс обучения является устойчивым. Обучение не будет вызывать переключения с одного возбужденного нейрона слоя распознавания на другой.
  4. Процесс обучения конечен. Любая последовательность произвольных входных векторов будет производить стабильный набор весов после конечного количества обучающих серий. Повторяющиеся последовательности обучающих векторов не будут приводить к циклическому изменению весов.



Структура сети

Когнитрон как модель зрительной коры мозга


Анализ, проводимый до этого момента, был упрощен рассмотрением только одномерных слоев. В действительности когнитрон конструировался как каскад двумерных слоев, причем в любом слое каждый нейрон получает входы от набора нейронов на части двумерного плана, составляющей его область связи в предыдущем слое.
С этой точки зрения когнитрон организован подобно зрительной коре человеческого мозга, которая представляет собой трехмерную структуру, состоящую из нескольких различных слоев. Оказывается, что каждый слой коры головного мозга реализует различные уровни обобщения; входной слой чувствителен к простым образам, таким как линии и их ориентации в определенных областях "поля зрения", в то время как реакция других слоев является более сложной, абстрактной и независимой от позиции образа.
Аналогичные функции реализованы в когнитроне путем моделирования организации зрительной коры. На рис. 13.5 показано, что нейроны когнитрона в слое 2 реагируют на определенную небольшую область входного слоя 1. Нейрон в слое 3 связан с набором нейронов слоя 2, тем самым реагируя косвенно на более широкий набор нейронов слоя 1. Далее, нейроны в последующих слоях чувствительны к более широким областям входного образа до тех пор, пока в выходном слое каждый нейрон не станет реагировать на все входное поле.
Когнитрон как модель зрительной коры мозга

Рис. 13.5. 
Если область связи нейронов имеет постоянный размер во всех слоях, требуется большое количество слоев для перекрытия всего входного поля выходными нейронами. Количество слоев может быть уменьшено, если расширить область связи в последующих слоях. К сожалению, в результате может произойти настолько большое перекрытие областей связи, что нейроны выходного слоя будут иметь одинаковую реакцию. Для решения этой проблемы может быть использовано расширение области конкуренции. Так как в данной области конкуренции может возбудиться только один узел, влияние малой разницы в реакциях нейронов выходного слоя усиливается.
В альтернативном варианте связи с предыдущим слоем могут быть распределены вероятностно с большинством синаптических связей в ограниченной области и с более длинными соединениями, встречающимися намного реже. Здесь смоделировано вероятностное распределение нейронов, обнаруженное в мозге. В когнитроне это позволяет каждому нейрону выходного слоя реагировать на полное входное поле при наличии ограниченного количества слоев.


Обучение когнитрона


Так как когнитрон реализован в виде многослойной сети, возникают сложные проблемы обучения, связанные с выбранной структурой. Получая обучающий набор входных образов, сеть самоорганизуется посредством изменения силы синаптических связей. При этом отсутствуют предварительно определенные выходные образы, представляющие требуемую реакцию сети, однако сеть самонастраивается с целью распознавания входных образов с замечательной точностью.
Алгоритм обучения когнитрона является концептуально привлекательным. В заданной области слоя обучается только наиболее сильно возбужденный нейрон. Автор сравнивает это с "элитным обучением", при котором обучаются только "умные" элементы. Те нейроны, которые уже хорошо обучены, что выражается силой их возбуждения, получат приращение силы своих синапсов с целью дальнейшего усиления своего возбуждения.
На рис. 13.2 показано, что области связи соседних узлов значительно перекрываются. Такое расточительное дублирование функций оправдывается взаимной конкуренцией между ближайшими узлами. Даже если узлы в начальный момент имеют абсолютно идентичный выход, небольшие отклонения всегда случаются; один из узлов всегда будет иметь более сильную реакцию на входной образ, чем соседние. Его сильное возбуждение будет оказывать сдерживающее воздействие на возбуждение соседних узлов, и усиливаться будут только его синапсы — синапсы соседних узлов останутся неизменными.
Обучение когнитрона

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

где
Обучение когнитрона
— вес
Обучение когнитрона
-го возбуждающего синапса,
Обучение когнитрона
— выход
Обучение когнитрона
-го возбуждающего нейрона,
Обучение когнитрона
— вес
Обучение когнитрона
-го торозящего синапса,
Обучение когнитрона
— выход
Обучение когнитрона
-го торозящего нейрона.



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

Обучение когнитрона


Предполагая, что NET имеет положительное значение, можно записать:

Обучение когнитрона


Когда тормозящий вход мал (
Обучение когнитрона
), OUT может быть аппроксимировано как

Обучение когнитрона


что соответствует выражению для обычного линейного порогового элемента (с нулевым порогом).



Таким образом,

Обучение когнитрона


где
Обучение когнитрона
,
Обучение когнитрона
— возбуждающий вес
Обучение когнитрона
.

Процедура обучения.

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

Обучение когнитрона


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

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

Обучение когнитрона


Когда возбужденных нейронов в области конкуренции нет, для изменения весов используются другие выражения. Это необходимо, поскольку процесс обучения начинается с нулевыми значениями весов; поэтому первоначально нет возбужденных нейронов ни в одной области конкуренции, и обучение производиться не может. Во всех случаях, когда победителя в области конкуренции нейронов нет, изменение весов нейронов вычисляется следующим образом:

Обучение когнитрона


где
Обучение когнитрона
— положительный обучающий коэффициент, меньший, чем
Обучение когнитрона
.

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


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

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



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

Латеральное торможение. На рис. 13.3 показано, что каждый нейрон слоя 2 получает латеральное торможение от нейронов, расположенных в его области конкуренции. Тормозящий нейрон суммирует входы от всех нейронов в области конкуренции и вырабатывает сигнал, стремящийся к торможению целевого нейрона. Этот метод является эффектным, но с вычислительной точки зрения медленным. Он охватывает большую систему с обратной связью, включающую каждый нейрон в слое; для его стабилизации может потребоваться большое количество вычислительных итераций.

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

Обучение когнитрона


где
Обучение когнитрона
— выход
Обучение когнитрона
-го нейрона в области конкуренции,
Обучение когнитрона
— вес связи от этого нейрона к латерально-тормозящему нейрону;
Обучение когнитрона


выбраны таким образом, что
Обучение когнитрона
.

Обучение когнитрона

Рис. 13.4. 

Выход тормозящего нейрона
Обучение когнитрона
затем вычисляется следующим образом:

Обучение когнитрона


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

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


Результаты моделирования


В качестве примера рассмотрим компьютерное моделирование четырехслойного когнитрона, предназначенного для целей распознавания образов. Каждый слой состоит из массива
Результаты моделирования
возбуждающих нейронов и такого же количества тормозящих нейронов. Область связи представляет собой квадрат, включающий
Результаты моделирования
нейронов. Область конкуренции имеет форму ромба высотой и шириной в 5 нейронов. Латеральное торможение охватывает область
Результаты моделирования
нейронов. Нормирующие параметры обучения установлены таким образом, что
Результаты моделирования
и
Результаты моделирования
. Веса синапсов проинициализированы в 0.
Сеть обучалась путем предъявления на входном слое пяти стимулирующих образов, представляющих собой изображения арабских цифр от 0 до 4. Веса сети настраивались после предъявления каждой цифры, входной набор подавался на вход сети циклически до тех пор, пока каждый образ не был предъявлен суммарно 20 раз.
Результаты моделирования

Рис. 13.6. 
Эффективность процесса обучения оценивалась путем запуска сети в реверсивном режиме; выходные образы, являющиеся реакцией сети, подавались на выходные нейроны и распространялись обратно к входному слою. Образы, полученные во входном слое, затем сравнивались с исходным входным образом. Чтобы сделать это, обычные однонаправленные связи принимались проводящими в обратном направлении и латеральное торможение отключалось. На рис. 13.6 приведены типичные результаты тестирования. В столбце 2 показаны образы, произведенные каждой цифрой на выходе сети; они возвращались обратно, вырабатывая на входе сети образ, близкий к точной копии исходного входного образа. Для столбца 4 на выход сети подавался только выход нейрона, имеющего максимальное возбуждение. Результирующие образы в точности те же, что и в случае подачи полного выходного образа, за исключением цифры 0, для которой узел с максимальным выходом располагался на периферии и не покрывал полностью входного поля.
Результаты моделирования

Рис. 13.7. 


Структура сети


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

Рис. 13.1. 
Вход возбуждающего постсинаптического нейрона (на рис. 13.1 — нейрон
Структура сети
) определяется отношением суммы
Структура сети
его возбуждающих входов (
Структура сети
,
Структура сети
и
Структура сети
) к сумме
Структура сети

тормозящих входов (
Структура сети
и вход от нейрона
Структура сети
):
Структура сети

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



Обобщение

Обобщение


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


Обучение


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

Рис. 14.4. 
На рис. 14.4 показана полная структура синаптических связей между простым узлом и комплексными узлами в предшествующем слое. Каждый простой узел реагирует только на набор комплексных узлов внутри своей рецептивной области. Кроме того, существует тормозящий узел, реагирующий на те же самые комплексные узлы. Веса синапсов тормозящего узла не обучаются — они выбираются таким образом, чтобы узел реагировал на среднюю величину выходов всех узлов, к которым он подключен. Единственный тормозящий синапс от тормозящего узла к простому узлу обучается, как и другие синапсы.
Обучение без учителя. Для обучения неокогнитрона на вход сети подается образ, который необходимо распознать, и веса синапсов настраиваются слой за слоем, начиная с набора простых узлов, ближайших ко входу. Величина синаптической связи от каждого комплексного узла к данному простому узлу увеличивается тогда и только тогда, если удовлетворяются следующие два условия:
  1. комплексный узел реагирует;
  2. простой узел реагирует более сильно, чем любой из его соседних (внутри его области конкуренции).

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



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

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

Обучение с учителем.

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

Реализация обучения.

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

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


Структура


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

Рис. 14.1. 
Структура неокогнитрона трудна для представления в виде диаграммы, но концептуально проста. Чтобы подчеркнуть его многоуровневость (с целью упрощения графического представления), используется анализ верхнего уровня. Неокогнитрон показан состоящим из слоев, слои состоят из набора плоскостей и плоскости состоят из узлов.
Слои. Каждый слой неокогнитрона состоит из двух массивов плоскостей (см. рис. 14.2). Массив плоскостей, содержащих простые узлы, получает выходы предыдущего слоя, выделяет определенные образы и затем передает их в массив плоскостей, содержащих комплексные узлы, где образы обрабатываются так, чтобы их позиционная зависимость была уменьшена.
Структура

Рис. 14.2. 



д. Если должны быть выделены иные буквы (и их искаженные версии), дополнительные плоскости требуются для каждой из них.

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

Комплексные узлы.

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

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


Вычисления


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

где
Вычисления
— выход тормозящего узла,
Вычисления
— область над всеми комплексными узлами, с которыми связан тормозящий узел,
Вычисления
— вес
Вычисления
-й синаптической связи от комплексного узла к тормозящему узлу,
Вычисления

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


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


Как когнитрон, так и неокогнитрон производят большое впечатление той точностью, с которой они моделируют биологическую нервную систему. Тот факт, что эти системы показывают результаты, имитирующие некоторые аспекты способностей человека к обучению и познанию, наводит на мысль, что наше понимание функций мозга приближается к уровню, способному принести практическую пользу.
Неокогнитрон является сложной системой и требует существенных вычислительных ресурсов. По этим причинам кажется маловероятным, что такие системы реализуют оптимальное инженерное решение сегодняшних проблем распознавания образов. Однако с 1960 г. стоимость вычислений уменьшалась в два раза каждые два-три года - тенденция, которая, по всей вероятности, сохранится в течение как минимум ближайших десяти лет. Несмотря на то, что многие подходы, казавшиеся нереализуемыми несколько лет назад, являются общепринятыми сегодня и могут оказаться тривиальными через несколько лет, реализация моделей неокогнитрона на универсальных компьютерах является бесперспективной. Необходимо достигнуть тысячекратных улучшений стоимости и производительности компьютеров за счет специализации архитектуры и внедрения технологии СБИС, чтобы сделать неокогнитрон практической системой для решения сложных проблем распознавания образов; однако, ни эта, ни какая-либо другая модель искусственных нейронных сетей не должны отвергаться только на основании их высоких вычислительных требований.

Обучение с учителем и без учителя

Алгоритм обучения Хэбба


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

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


Метод дифференциального обучения Хэбба


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

где
Метод дифференциального обучения Хэбба
— сила синапса от нейрона
Метод дифференциального обучения Хэбба
к нейрону
Метод дифференциального обучения Хэбба
в момент времени
Метод дифференциального обучения Хэбба
,
Метод дифференциального обучения Хэбба
— выходной уровень пресинаптического нейрона в момент времени
Метод дифференциального обучения Хэбба
,
Метод дифференциального обучения Хэбба
— выходной уровень постсинаптического нейрона в момент времени
Метод дифференциального обучения Хэбба
.


Метод обучения Хэбба


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


Метод обучения Уидроу—Хоффа


Как мы видели, персептрон ограничивается бинарными выходами. Б.Уидроу вместе со студентом университета М.Хоффом расширили алгоритм обучения персептрона для случая непрерывных выходов, используя сигмоидальную функцию. Второй их впечатляющий результат — разработка математического доказательства, что сеть при определенных условиях будет сходиться к любой функции, которую она может представить. Их первая модель — Адалин — имеет один выходной нейрон, более поздняя модель — Мадалин — расширяет ее для случая с многими выходными нейронами.
Выражения, описывающие процесс обучения Адалина, очень схожи с персептронными. Существенные отличия имеются в четвертом шаге, где используются непрерывные сигналы NET вместо бинарных OUT. Модифицированный шаг 4 в этом случае реализуется следующим образом:
4. Вычисляется ошибка для каждого нейрона посредством вычитания полученного выхода из требуемого выхода:
Метод обучения Уидроу—Хоффа



Метод сигнального обучения Хэбба


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

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

где
Метод сигнального обучения Хэбба
— сила синапса от нейрона
Метод сигнального обучения Хэбба
к нейрону
Метод сигнального обучения Хэбба
в момент времени
Метод сигнального обучения Хэбба
,
Метод сигнального обучения Хэбба
— выходной уровень пресинаптического нейрона равный
Метод сигнального обучения Хэбба
,
Метод сигнального обучения Хэбба
— выходной уровень постсинаптического нейрона, равный
Метод сигнального обучения Хэбба
.


Метод статистического обучения


Однослойные сети несколько ограниченны с точки зрения задач, которые они могут решать; однако, в течение многих лет отсутствовали методы обучения многослойных сетей. Статистическое обучение является как раз таким методом и обеспечивает путь решения этих проблем.
По аналогии, обучение сети статистическими способами подобно процессу отжига металла. В процессе отжига температура металла вначале повышается, пока атомы не начнут перемещаться почти свободно. Затем температура постепенно уменьшается и атомы непрерывно стремятся к минимальной энергетической конфигурации. При некоторой низкой температуре атомы переходят на низший энергетический уровень.
В искусственных нейронных сетях полная величина энергии сети определяется как функция определенного множества сетевых переменных. Искусственная переменная температуры инициируется в большую величину, тем самым позволяя сетевым переменным претерпевать большие случайные изменения. Изменения, приводящие к уменьшению полной энергии сети, сохраняются; изменения, приводящие к увеличению энергии, сохраняются в соответствии с вероятностной функцией. Искусственная температура постепенно уменьшается с течением времени, и сеть конвергирует в состояние минимума полной энергии.
Существует много вариаций на тему статистического обучения. Например, глобальная энергия может быть определена как средняя квадратичная ошибка между полученным и желаемым выходным вектором из обучаемого множества, а переменными могут быть веса сети. В этом случае сеть может быть обучена, начиная с высокой искусственной температуры, путем выполнения следующих шагов:
  1. Подать обучающий вектор на вход сети и вычислить выход согласно соответствующим сетевым правилам.
  2. Вычислить значение средней квадратичной ошибки между желаемым и полученным выходными векторами.
  3. Изменить сетевые веса случайным образом, затем вычислить новый выход и результирующую ошибку. Если ошибка уменьшилась, оставить измененный вес; если ошибка увеличилась, оставить измененный вес с вероятностью, определяемой распределением Больцмана. Если изменения весов не производится, то вернуть вес к его предыдущему значению.
  4. Повторить шаги с 1 по 3, постепенно уменьшая искусственную температуру.

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



В 1957 г. Р.Розенблатт разработал модель, которая вызвала большой интерес у исследователей. Несмотря на некоторые ограничения ее исходной формы, она стала основой для многих современных, наиболее сложных алгоритмов обучения с учителем.
Персептрон является двухуровневой нерекуррентной сетью, вид которой показан на рис. 15.3. Она использует алгоритм обучения с учителем; другими словами, обучающая выборка состоит из множества входных векторов, для каждого из которых указан свой требуемый вектор цели. Компоненты входного вектора представлены непрерывным диапазоном значений; компоненты вектора цели являются двоичными величинами (0 или 1). После обучения сеть получает на входе набор непрерывных входов и вырабатывает требуемый выход в виде вектора с бинарными компонентами.
<title>(.*)</title>

Рис. 15.3. 
Обучение осуществляется следующим образом:
  1. Рандомизируются все веса сети в малые величины.

  2. На вход сети подается входной обучающий вектор
    <title>(.*)</title>
    и вычисляется сигнал NET от каждого нейрона, используя стандартное выражение
    <title>(.*)</title>


  3. Вычисляется значение пороговой функции активации для сигнала NET от каждого нейрона следующим образом:
    <title>(.*)</title>

    Здесь
    <title>(.*)</title>
    представляет собой порог, соответствующий нейрону
    <title>(.*)</title>
    (в простейшем случае все нейроны имеют один и тот же порог).

  4. Вычисляется ошибка для каждого нейрона посредством вычитания полученного выхода из требуемого выхода:
    <title>(.*)</title>


  5. Каждый вес модифицируется следующим образом:
    <title>(.*)</title>

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



Обучение с учителем и без учителя


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


Обучение входной звезды


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

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


Обучение выходной звезды


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

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


Самоорганизация


Самоорганизующихся структуры классифицируют образы, представленные векторными величинами, в которых каждая компонента вектора соответствует элементу образа. Алгоритмы Кохонена основываются на технике обучения без учителя. После обучения подача входного вектора из данного класса будет приводить к выработке возбуждающего уровня в каждом выходном нейроне; нейрон с максимальным возбуждением представляет классификацию. Так как обучение проводится без указания целевого вектора, то нет возможности определять заранее, какой нейрон будет соответствовать данному классу входных векторов. Тем не менее, это планирование легко проводится путем тестирования сети после обучения.
Алгоритм трактует набор из
Самоорганизация
входных весов нейрона как вектор в
Самоорганизация
-мерном пространстве. Перед обучением каждый компонент этого вектора весов инициализируется в случайную величину. Затем каждый вектор нормализуется в вектор с единичной длиной в пространстве весов - для этого выполняется деление каждого случайного веса на квадратный корень из суммы квадратов компонент этого весового вектора.
Все входные векторы обучающего набора также нормализуются и сеть обучается согласно следующему алгоритму:
  1. Вектор
    Самоорганизация
    подается на вход сети.

  2. Определяются расстояния
    Самоорганизация
    Самоорганизация
    -мерном пространстве) между
    Самоорганизация

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

    где
    Самоорганизация
    — компонента
    Самоорганизация
    входного вектора
    Самоорганизация
    ,
    Самоорганизация
    — вес входа
    Самоорганизация

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

  4. Группа весовых векторов настраивается в соответствии со следующим выражением:
    Самоорганизация

    для всех весовых векторов в пределах расстояния
    Самоорганизация
    от
    Самоорганизация
    .
  5. Повторяются шаги с 1 по 4 для каждого входного вектора.

В процессе обучения нейронной сети значения
Самоорганизация
и
Самоорганизация

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



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

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

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


Входные и выходные звезды


Много общих идей, используемых в искусственных нейронных сетях, прослеживаются в работах С. Гроссберга; в качестве примера можно указать конфигурации входных и выходных звезд, используемые во многих сетевых парадигмах. Входная звезда, как показано на рис. 15.1, состоит из нейрона, на который подается группа входов через синапсические веса. Выходная звезда, показанная на рис. 15.2, является нейроном, управляющим группой весов. Входные и выходные звезды могут быть взаимно соединены в сети любой сложности; Гроссберг рассматривает их как модель определенных биологических функций. Вид звезды определяет ее название, однако, звезды обычно изображаются в сети несколько иначе.
Входные и выходные звезды

Рис. 15.1. 
Входные и выходные звезды

Рис. 15.2. 




    Нейросети: Нейролингвистика - Логика