НЕОКОГНИТРОН (ПЕРЕВОД ДЕСЯТОЙ ГЛАВЫ)

Freeman J., Skapura D


Оригинал статьи: Студенческий сайт ТНУ. Учебный раздел. Материалы для скачивания.
http://www.tnu.in.ua/study/downloads.php?do=file&id=4050


Функциональное oписание
Свою структуру неокогнитрон получили из более ранней модели – когнетрона, и есть несколько версий структуры неокогнитрона. Ту, что мы будем описывать, имеет девять слоев нейронов, включая слой сетчатки. Система была разработана, чтобы распознавать цифры от 0 до 9, независимо от того, где они размещены в области представления сетчатки. Кроме того, у сети есть высокая степень помехоустойчивости к искажению изображения и довольно нечувствительна к размеру изображения. Эта первая архитектура содержит только прямые связи.
Нейроны неокогнитрона организованы в модули, которые мы называем уровнями. Каждый уровень состоит из двух слоев: слой простых клеток, или S-клеток, сопровождаемых слоем сложных клеток, или C-клетки. Каждый слой, в свою очередь, разделен на многие плоскости, каждая из которых состоит из прямоугольного множества нейронов. На данном уровне, S-слой и C-слой имеют или не имеют одинаковое число плоскостей. Каждая плоскость на данном слое будет иметь то же самое число слоев; однако, число нейронов на S-слоях может отличаться от числа нейронов на C-слоях на том же самом уровне. Кроме того, число нейронов на плоскости может изменяться от уровня к уровню. Есть также нейроны, названные Vs – клетки и Vc – клетки, которые не показаны в числе. Эти элементы играют важную роль в обработке, но мы можем описать функциональность системы без ссылки на них. Мы строим полную сеть, комбинируя входной слой, который мы назовем сетчаткой, со многими уровнями иерархическим способом. Обращаем внимание, что нет ничего, в принципе, что диктует предел размеру сети с точки зрения числа уровней.
Стратегия взаимосвязи непохожа на стратегию сетей, которые полностью взаимосвязаны между слоями, такими как сеть обратной связи, описанная в Главе 3. Рисунок 10.5 показывает схематическую иллюстрацию способа, которым части связаны в неокогнитроне. Каждый слой простых клеток действует как система извлечения, которая использует слой, предшествующий этому как его входной слой. На первом S-слое, клетки в каждой плоскости чувствительны к простым особенностям на сетчатке - в этом случае, линейные сегменты под различными углами ориентации. Каждая S-клетка в единственной плоскости чувствительна к той же самой особенности, но в различном положении на входном слое. S-клетки в различных плоскостях отвечают за различные образы.

Cхематическая иллюстрация способа, которым части связаны в неокогнитроне

Рисунок 10.5 – Cхематическая иллюстрация способа, которым части связаны в неокогнитроне


Отметем незначительные различия между первым S - слоем и последующими S – слоями на рисунке 10.5. Каждая клетка в плоскости на первых S-слоях получает входы из единственного входного слоя - а именно, сетчатки. На последующих слоях, каждая S-клетка плоскости получает входы от каждой из C-клетки плоскости, немедленно представляя это. Ситуация немного отличается для плоскости C-клетки. Как правило, каждая клетка в плоскости C-клетки исследует небольшую область S-клеток на единственной S-клетке плоскости. Например, у первой плоскости C-клетки на слое 2 были бы связи только с областью S-клеток в первой плоскости S-клеток предыдущего слоя. Видно, что не обязательно непосредственная корреспонденция между плоскостями c-клетки и плоскостями S-клетки в каждом слое в системе. Это несоответствие происходит, потому что системные проектировщики сочли это преимуществом, чтобы объединить входы от некоторых S-плоскостей до единственной C-плоскости, если особенности, которые обнаруживали электронные плоскости, были подобны. Этот настраивающий процесс очевиден в нескольких областях архитектуры сети.
Веса на связях с S-клетками определены учебным процессом, который мы опишем в Разделе 10.2.2. В отличие от многих других архитектур сети (такой как обратная связь), где у каждой единицы есть различный вектор веса, все S-клетки в единственной плоскости разделяют тот же самый вектор веса. Разделение весов в этих средствах означают, что все S-клетки в данной плоскости отвечают идентичное особенности в их восприимчивых областях, поскольку мы указали. Кроме того, мы должны обучать только одну S-клетку в каждой плоскости. Чтобы распределить получающиеся веса на другие клетки.
Веса на связях с C-клетками не являются поддающимися изменению в том смысле, что они не определены учебным процессом. Все веса C-клетки обычно определенный, будучи привязаны к определенной архитектуре сети. Как с S- плоскости, все клетки в единственной C-плоскости разделяют те же самые веса. Кроме того, все C-плоскости на данном слое разделяют те же самые веса.


Обработка S-клетки
Мы сначала сконцентрируемся на клетках в единичной плоскости US1, как обозначено на Рисунке 10.6. Предположим, что сетчатка, слой Uo, является множеством 19 на 19 пикселей. Поэтому, у каждой US1 плоскости будет множество 19 на 19 клеток. Каждая плоскость просматривает всю сетчатку для особой особенности. Как обозначено в образе, каждая клетка на плоскости ищет идентичную особенность, но в различном местоположении на сетчатке. Каждая S-клетка получает входные связи от множества 3 на 3 пикселя на сетчатке. Восприимчивая область каждой S-клетки сообщает множеству 3 на 3, сосредоточенному на пикселе, который соответствует местоположению клетки на плоскости.
Создавая или моделируя эту сеть, мы должны делать скидку на эффекты края. Если мы окружаем активную сетчатку бездействующими пикселями, (выходной набор обозначается нолем), тогда мы можем автоматически считать клетки, чьи области представления сосредоточены на пикселях края. Соседствующие S-клетки просматривают площадь сетчатки на расстоянии одного пикселя друг от друга. В этой манере, входной образ просматривается слева направо и с верху вниз клетками в каждой S-плоскости.
Единственная плоскость Vc-клеток связанная с S-слоем, как обозначено на Рисунке 10.6. Vc-плоскость содержит то же самое число клеток, как каждая S-плоскость. Vc-клетки имеют те же самые восприимчивые области как S-клетки в соответствующем месте на плоскости. Выход Vc-клетки идет к единственной S-клетке на каждой плоскости в слое. S-клетки, которые получают входную информацию от особой Vc-клетки те, которые занимают положение на плоскости, соответствующее положению Vc-клетки. Выход Vc-клетки имеет запрещающий эффект на S-клетки.
До сих пор мы обсуждали первый S-слой, в котором клетки получают входные связи от единственной плоскости (в этом случае сетчатка) на предыдущем слое. Для каждого следующего, мы обобщим наше обсуждение, чтобы включать случай из слоев глубже в сети, где S-клетка получит входные связи от всех плоскостей на предыдущем C-слое.

Структура S-клетки

Рисунок 10.6 – Структура S-клетки


Позвольте индексу k1 относиться к k-ой плоскости на уровне 1. Мы можем маркировать каждую клетку на плоскости двумерным вектором, с n указанием на его положение на плоскости; тогда, мы позволяем вектору v обращаться к относительному положению клетки в предыдущем слое, лежащем в восприимчивой области блока n. С этими определениями, мы может написать следующее уравнение для выхода любой S-клетки:

Уравнение для выхода S-клетки (10.1)


Функция определяется следующим уравнением:


Функция для выхода S-клетки (10.2)


Мы должны теперь определить продукцию запрещающих узлов. Vc-клетка в положении n имеет выходное значение

Уравнение для запрещающих узлов Vc-клетки (10.3)


где bi является весом на связи от клетки а в положении v восприимчивой области Vc-клетки. Эти веса не подвергаются обучению. Они могут взять форму любой нормализованной функции.
Особая форма (10.3) из взвешенных, среднеквадратичных входов к Vc-клетке. Возвращаясь назад к (10.1), мы можем видеть, что в S-клетках, чистый возбудительный вход к клетке сравнивается с мерой среднего входного сигнала. Если отношение сети возбудительного входа к сети запрещающего вход больше чем 1, у клетки будет положительный выход.


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


Обработка C-клетки
Функции, описывающие обработку C-клетки, подобны в форме для S-клеток. Также как S-слой, каждый C-слой связал с ним единственную плоскость запрещающих частей, которые функционируют в манере, подобной Vc-клеткам на S-слое. Мы маркируем выход этих блоков Vs.
Вообще, блоки в данной C-плоскости получают входные связи от одного, или небольшое количество, S-плоскости на предыдущем слое. Vs-клетки получают входные связи от всех S-плоскостей на предыдущем слое.
Выход C-клетки:


Уравнение для выхода С-клетки (10.4)


где si –выходной сигнал простых нейронов;
ui–весовые коэффициенты от простых нейронов к комплексным.
Для нейронов комплексных слоёв использовались различные функции активации.
В резюме, только определенный процент от S-клеток и C-клеток на каждом уровне выходят с положительным выходным значением. Это клетки, чей уровень возбуждения превышает значение средних клеток.