RBF-сети не страдают от проблем локального минимума, в отличие от многослойных перцептронов, благодаря тому, что в процессе обучения меняется лишь линейное отображение сигналов скрытого слоя на выходной слой. Однако RBF-сетям требуется хорошее покрытие пространства входных образов радиальными базисными функциями. Центры RBF определяются с учётом распределения входных данных, но без учёта предполагаемого результата. Поэтому может произойти напрасная трата ресурсов на тех областях пространства входных сигналов, которые не релевантны для обучения.
RBF-сети менее эффективны чем метод опорных векторов в задачах классификации, а в регрессионных задачах они конкурентноспособны лишь в случае малой размерности пространства входных данных.
Большинство топологий нейронных сетей не походят для решения задачи оптического распознавания символов вообще, либо подходят только для решения половины задачи (классификации символов по характерным чертам).
Для преодоления проблемы как распознавания, так и выделения характерных черт в изображениях, К. Фукушима (Kunihiko Fukushima) создал нейронную сеть «когнитрон», а затем развил заложенные в ней идеи в нейронной сети «неокогнитрон». Архитектура неокогнитрона схожа со строением зрительной коры головного мозга. Благодаря этому неоконитрон способен не только классифицировать образы (в частности — символы), но и выделять их характерные черты.
Сеть состоит из первого (входного) этапа, ряда промежуточных этапов (около трёх) и конечного (выходного) этапа. На рис. 4 схематично изображён l-й этап.
На рис.4 приняты обозначения:
Названия C-, S- и V- нейронов — от «Complex», «Simple» и «Virtual». Каждая плоскость представляет собой квадратную двумерную матрицу из нейронов соответственно C-, S- или V-типа.
Из каждой C-плоскости предыдущего этапа сигналы поступают в каждые V- и S-плоскости следующего этапа. Один V- или S-нейрон получает сигналы от всех C-плоскостей предыдущего этапа, но не от каждого нейрона в этих плоскостях. Сигналы приходят лишь от нейронов, попавших в рецептивную область V- или S-нейрона.
На рис. 6 можно видеть рецептивные области и передачу сигналов между плоскостями.
Матрица
Выходной сигнал
| (17) |
где
V-нейрон получает выходные сигналы C-нейронов предыдущего этапа - это его возбуждающий вход. Выходной сигнал S-нейрона n в k-й плоскости слоя l определяется так:
| (18) |
где bSl(k) — вес тормозящей связи, а число θl — коэффициент скорости обучения. Вес тормозящей связи один на всю плоскость. Скорость обучения одинакова для всего этапа. Преобразованные в V-нейроне сигналы подаются на соответствующий S-нейрон, являясь его тормозящим входом (как уже говорилось, число V- и S‑нейронов точно совпадает и соответствие устанавливается 1:1).
Согласно (18) разница суммы взвешенных возбуждающих входов (от C-нейронов) и тормозящего входа взвешивается скоростью обучения ещё раз и подаётся на выход S-нейрона. Выходы S-нейронов в соответствующей рецептивной области подаются на вход соответствующего C-нейрона, чей выход определяется выражением
| (19) |
где
Первый этап отличается от рассмотренных выше промежуточных этапов тем, что вместо C-, V- и S-слоёв он содержит два слоя — I-слой и G-слой. Значения нейронов единственной плоскости I-слоя задаются извне, так как это входной слой. Выходной сигнал G-нейрона n в k-й G-плоскости
| (20) |
где
Нейроны G-плоскостей функционируют аналогично C-нейронам — G‑нейрон получают сигналы от попадающих в его рецептивную область I‑нейронов и суммирует, подавая эту сумму на свой выход. Матрица
Выходные сигналы G-нейронов подаются на V- и S- нейроны следующего этапа. Из каждой плоскости S-слоя последнего этапа выбирается нейрон с наибольшим выходом, его сигнал является выходным сигналом сети и подаётся на соответствующую C-плоскость последнего слоя. Соответствие определяется классом, присвоенным плоскости в процессе обучения. У S-плоскостей классы могут повторяться (в общем случае в процессе обучения генерируется более одной S-плоскости для каждого класса образов), у C-плоскостей классы не повторяются (число C-плоскостей равно числу классов).
В процессе обучения меняются только весовые коэффициенты связей от C- к S-плоскостям нейронов. Само обучение происходит различным образом для различных слоёв[2].
Связи от G-слоя к слою