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