Адаптивная резонансная теория. Архитектура
Функционирование сети APT в процессе классификации
Процесс классификации в APT состоит из трех основных фаз: распознавание, сравнение и поиск.
Фаза распознавания. В начальный момент времени входной вектор отсутствует на входе сети; следовательно, все компоненты входного вектора можно рассматривать как нулевые. Тем самым сигнал устанавливается в и, следовательно, в нуль устанавливаются выходы всех нейронов слоя распознавания. Поскольку все нейроны слоя распознавания начинают работу в одинаковом состоянии, они имеют равные шансы выиграть в последующей конкуренции. Затем на вход сети подается входной вектор , который должен быть классифицирован. Этот вектор должен иметь одну или более компонент, отличных от нуля, в результате чего и , и становятся равными единице. Это "подкачивает" нейроны слоя сравнения, обеспечивая один из двух единичных входов, необходимых для возбуждения нейронов в соответствии с правилом двух третей, и тем самым позволяя нейрону возбуждаться, если соответствующая компонента входного вектора равна единице. Таким образом, в течение данной фазы вектор в точности дублирует вектор .
Далее, для каждого нейрона в слое распознавания вычисляется свертка вектора его весов и вектора (см. рис. 11.5). Нейрон с максимальным значением свертки имеет веса, наилучшим образом соответствующие входному вектору. Он выигрывает конкуренцию и возбуждается, одновременно затормаживая все остальные нейроны этого слоя. Таким образом, единственная компонента вектора (см. рис. 11.3) становится равной единице, а все остальные компоненты становятся равными нулю.
В результате сеть APT запоминает образы в весах нейронов слоя распознавания — один нейрон для каждой категории классификации. Нейрон слоя распознавания, веса которого наилучшим образом соответствуют входному вектору, возбуждается, его выход устанавливается в единичное значение, а выходы остальных нейронов этого слоя устанавливаются в нуль.
Фаза сравнения. Единственный возбужденный нейрон в слое распознавания возвращает единицу обратно в слой сравнения в виде своего выходного сигнала . Эта единственная единица может быть визуально представлена в виде "веерного" выхода, подающегося через отдельную связь с весом на каждый нейрон в слое сравнения, обеспечивая каждый нейрон сигналом , равным величине (нулю или единице) (см. рис. 11.6).
Алгоритмы инициализации и обучения построены таким образом, что каждый весовой вектор имеет двоичные значения весов; кроме того, каждый весовой вектор представляет собой масштабированную версию соответствующего вектора . Это означает, что все компоненты (вектора возбуждения слоя сравнения) также являются двоичными величинами.
Так как вектор не является больше нулевым, сигнал устанавливается в нуль. Таким образом, в соответствии с правилом двух третей, возбудиться могут только нейроны, получающие на входе одновременно единицы от входного вектора и вектора .
Другими словами, обратная связь от распознающего слоя действует так, чтобы установить компоненты в нуль в случае, если входной вектор не соответствует входному образу (т. е. если и не имеют совпадающих компонент).
Если имеются существенные различия между и (малое количество совпадающих компонент векторов), несколько нейронов на фазе сравнения будут возбуждаться и будет содержать много нулей, в то время как содержит единицы. Это означает, что возвращенный вектор не является искомым и возбужденные нейроны в слое распознавания должны быть заторможены. Такое торможение производится блоком сброса (см. рис. 11.2), который сравнивает входной вектор и вектор и вырабатывает сигнал сброса, если степень сходства этих векторов меньше некоторого уровня. Влияние сигнала сброса заключается в установке выхода возбужденного нейрона в нуль, отключая его на время текущей классификации.
Фаза поиска. Если не выработан сигнал сброса, сходство является адекватным и процесс классификации завершается. В противном случае, другие запомненные образы должны быть исследованы с целью поиска лучшего соответствия. При этом торможение возбужденного нейрона в распознающем слое приводит к установке всех компонент вектора в 0, устанавливается в 1 и входной вектор опять прикладывается в качестве . В результате другой нейрон выигрывает соревнование в слое распознавания и другой запомненный образ возвращается в слой сравнения. Если не соответствует , возбужденный нейрон в слое распознавания снова тормозится. Этот процесс повторяется до тех пор, пока не встретится одно из двух событий:
- Найден запомненный образ, сходство которого с вектором выше уровня параметра сходства, т. е. . Если это происходит, проводится обучающий цикл, в процессе которого модифицируются веса векторов и , связанных с возбужденным нейроном в слое распознавания.
- Все запомненные образы проверены, определено, что они не соответствуют входному вектору, и все нейроны слоя распознавания заторможены. В этом случае предварительно не распределенный нейрон в распознающем слое выделяется этому образу и его весовые векторы и устанавливаются соответствующими новому входному образу.
Проблема производительности. Описанная сеть должна производить последовательный поиск среди всех запомненных образов. В аналоговых реализациях это будет происходить очень быстро; однако, при моделировании на обычных цифровых компьютерах процесс может оказаться очень длительным. Если же сеть APT реализуется на параллельных процессорах, все свертки на распознающем уровне могут вычисляться одновременно. В этом случае поиск может стать очень быстрым.
Время, необходимое для стабилизации сети с латеральным торможением, может быть длительным при моделировании на последовательных цифровых компьютерах. Чтобы выбрать победителя в процессе латерального торможения, все нейроны в слое должны быть вовлечены в одновременные вычисления и передачу. Этот процесс может потребовать проведения большого объема вычислений перед достижением сходимости.