Конфигурации сетей с обратными связями
На рис. 6.1 показана сеть с обратными связями, состоящая из двух слоев. Способ представления несколько отличается от использованного в работе Хопфилда и других, но эквивалентен им с функциональной точки зрения, а также хорошо связан с сетями, рассмотренными в предыдущих главах. Нулевой слой, как и на предыдущих рисунках, не выполняет вычислительной функции, а лишь распределяет выходы сети обратно на входы. Каждый нейрон первого слоя вычисляет взвешенную сумму своих входов, давая сигнал NET, который затем с помощью нелинейной функции F преобразуется в сигнал OUT. Эти операции сходны с нейронами других сетей (см. гл. 2).
Бинарные системы
В первой работе Хопфилда [6] функция F была просто пороговой функцией. Выход такого нейрона равен единице, если взвешенная сумма выходов с других нейронов больше порога Tj, в противном случае она равна нулю. Он вычисляется следующим образом:
, (6.1)
OUT, = 1, если NETj>Тj,
OUT. = 0, если NETj<Тj,
OUT не изменяется, если NETj = Тj,
Рис. 6.1. Однослойная сеть с обратными связями.
Пунктирные линии обозначают нулевые веса
Состояние сети – это просто множество текущих значений сигналов OUT от всех нейронов. В первоначальной сети Хопфилда состояние каждого нейрона менялось в дискретные случайные моменты времени, в последующей работе состояния нейронов могли меняться одновременно. Так как выходом бинарного нейрона может быть только ноль или единица (промежуточных уровней нет), то текущее состояние сети является двоичным числом, каждый бит которого является сигналом OUT некоторого нейрона.
Функционирование сети легко визуализируется геометрически. На рис. 6.2а показан случай двух нейронов в выходном слое, причем каждой вершине квадрата соответствует одно из четырех состояний системы (00, 01, 10, 11). На рис. 6.2б показана трехнейронная система, представленная кубом (в трехмерном пространстве), имеющим восемь вершин, каждая из которых помечена трехбитовым бинарным числом. В общем случае система с n нейронами имеет 2nразличных состояний и представляется n-мерным гиперкубом.
Рис. 6.2а. Два нейрона порождают систему с четырьмя состояними
Рис. 6.2б. Три нейрона порождают систему с восемью состояниями
Когда подается новый входной вектор, сеть переходит из вершины в вершину, пока не стабилизируется. Устойчивая вершина определяется сетевыми весами, текущими входами и величиной порога. Если входной вектор частично неправилен или неполон, то сеть стабилизируется в вершине, ближайшей к желаемой.
Устойчивость
Как и в других сетях, веса между слоями в этой сети могут рассматриваться в виде матрицы W. В работе [2] показано, что сеть с обратными связями является устойчивой, если ее матрица симметрична и имеет нули на главной диагонали, т. е. если wij = wji и wii = 0 для всех i.
Устойчивость такой сети может быть доказана с помощью элегантного математического метода. Допустим, что найдена функция, которая всегда убывает при изменении состояния сети. В конце концов эта функция должна достичь минимума и прекратить изменение, гарантируя тем самым устойчивость сети. Такая функция, называемая функцией Ляпунова, для рассматриваемых сетей с обратными связями может быть введена следующим образом:
(6.2)
где Е – искусственная энергия сети; wij – вес от выхода нейрона i к входу нейрона j; OUTj – выход нейрона j; Ij – внешний вход нейрона j; Тj – порог нейрона j.
Изменение энергии Е, вызванное изменением состояния j-нейрона, есть
(6.3)
где δOUTj – изменение выхода j-го нейрона.
Допустим, что величина NET нейрона j больше порога. Тогда выражение в скобках будет положительным, а из Уравнения (6.1) следует, что выход нейрона j должен измениться в положительную сторону (или остаться без изменения). Это значит, что δOUT. может быть только положительным или нулем и δЕ должно быть отрицательным. Следовательно, энергия сети должна либо уменьшиться, либо остаться без изменения.
Далее, допустим, что величина NET меньше порога. Тогда величина δOUTj может быть только отрицательной или нулем. Следовательно, опять энергия должна уменьшиться или остаться без изменения.
И окончательно, если величина NET равна порогу, δj равна нулю и энергия остается без изменения.
Это показывает, что любое изменение состояния нейрона либо уменьшит энергию, либо оставит ее без изменения. Благодаря такому непрерывному стремлению к уменьшению энергия в конце концов должна достигнуть минимума и прекратить изменение. По определению такая сеть является устойчивой.
Симметрия сети является достаточным, но не необходимым условием для устойчивости системы. Имеется много устойчивых систем (например, все сети прямого действия!), которые ему не удовлетворяют. Можно продемонстрировать примеры, в которых незначительное отклонение от симметрии может приводить к непрерывным осцилляциям. Однако приближенной симметрии обычно достаточно для устойчивости систем.
Ассоциативная память
Человеческая память ассоциативна, т. е. некоторое воспоминание может порождать большую связанную с ним область. Например, несколько музыкальных тактов могут вызвать целую гамму чувственных воспоминаний, включая пейзажи, звуки и запахи. Напротив, обычная компьютерная память является локально адресуемой, предъявляется адрес и извлекается информация по этому адресу.
Сеть с обратной связью формирует ассоциативную память. Подобно человеческой памяти по заданной части нужной информации вся информация извлекается из «памяти». Чтобы организовать ассоциативную память с помощью сети с обратными связями, веса должны выбираться так, чтобы образовывать энергетические минимумы в нужных вершинах единичного гиперкуба.
Хопфилд разработал ассоциативную память с непрерывными выходами, изменяющимися в пределах от +1 до –1, соответствующих двоичным значениям 0 и 1, Запоминаемая информация кодируется двоичными векторами и хранится в весах согласно следующей формуле:
(6.4)
где т – число запоминаемых выходных векторов; d – номер запоминаемого выходного вектора; OUTi,j – i-компонента запоминаемого выходного вектора.
Это выражение может стать более ясным, если заметить, что весовой массив W может быть найден вычислением внешнего произведения каждого запоминаемого вектора с самим собой (если требуемый вектор имеет n компонент, то эта операция образует матрицу размером п х п) и суммированием матриц, полученных таким образом. Это может быть записано в виде
, (6.5)
где Di – i-й запоминаемый вектор-строка.
Как только веса заданы, сеть может быть использована для получения запомненного выходного вектора по данному входному вектору, который может быть частично неправильным или неполным. Для этого выходам сети сначала придают значения этого входного вектора. Затем входной вектор убирается и сети предоставляется возможность «расслабиться», опустившись в ближайший глубокий минимум. Сеть идущая по локальному наклону функции энергии, может быть захвачена локальным минимумом, не достигнув наилучшего в глобальном смысле решения.
Непрерывные системы
В работе [7] рассмотрены модели с непрерывной активационной функцией F, точнее моделирующей биологический нейрон. В общем случае это S-образная или логистическая функция
, (6.6)
где l – коэффициент, определяющий крутизну сигмоидальной функции. Если l велико, F приближается к описанной ранее пороговой функции. Небольшие значения l дают более пологий наклон.
Как и для бинарных систем, устойчивость гарантируется, если веса симметричны, т. е. wij = wji и wii = 0 при всех i. Функция энергии, доказывающая устойчивость подобных систем, была сконструирована, но она не рассматривается здесь из-за своего концептуального сходства с дискретным случаем. Интересующиеся читатели могут обратиться к работе [2] для более полного рассмотрения этого важного предмета.
Если l велико, непрерывные системы функционируют подобно дискретным бинарным системам, окончательно стабилизируясь со всеми выходами, близкими нулю или единице, т. е. в вершине единичного гиперкуба. С уменьшением l устойчивые точки удаляются от вершин, последовательно исчезая по мере приближения l к нулю. На рис. 6.3 показаны линии энергетических уровней непрерывной системы с двумя нейронами.