Назад в библиотеку


 

Неокогнитрон: новый алгоритм для распознания шаблона, допускающий деформации и перемещения

 

К. Фукусима, С. Мияки

NHK Broadcasting Science Research Laboratories, 1-10-11, Кинута, Токио, Япония, Токио, 157.

 

Аннотация

В соответствии зрительной нервной системы был предложен новый алгоритм для распознания шаблонов изображений. Этот алгоритм может быть реализован с помощью многослойной сети, состоящая из нейронов-клеток. Сеть, далее называемая «Неокогнитрон», является самоорганизовываемой самообучаемой сетью, и обладает способностью распознавать образы, опираясь на разницу их формы. Любой шаблон, оцененный как принадлежащий к некоторой категории точно также будет определен неокогнитроном в ту же самую категорию. Неокогнитрон распознает образ несмотря на сдвиги, и даже на значительные искажения формы.

Визуальное распознавание образов, неконтролируемое обучение, модель нейронной сети, самоорганизация, зрительная нервная система, многослойная сеть, моделирование.

Введение

Большинство методов распознавания образов, особенно методы проверок по шаблону, слишком чувствительны к изменениям положения и искажений в форме распознаваемых образов, и поэтому необходимо нормализовать их положение и форму заранее. Но до сих пор не был разработан хороший метод для нормализации. Таким образом, нахождение алгоритма распознавания образов, который сможет справиться с изменениями в положении и искажениями формы образа уже давно стало основной идеей.

В данной работе мы предлагаем новый алгоритм, который дает решение этой проблемы. Новый предлагаемый алгоритм может быть реализован с помощью многослойной сети, состоящая из нейроноподобных клеток.

Сеть называется "неокогнитрон". Такая сеть будет самоорганизовываться за счет неконтролируемого обучения и приобретать способность к правильному распознаванию образов.

Исторически сложилось, что трехслойный персептрон, предложенный Розенблаттом, является известным примером сетей с нейроноподобными клетками, способными распознавать образы. после появления персептрона возлагались большие надежды не его возможности в распознавания образов, и потому было сделано много исследований в этом направлении. Однако вскоре выяснилось, что способность персептрона были не так велики, как ожидалось.

Персептрон состоит всего из трех слоев клеток, но хорошо известно, что способности многослойных сетей растут с ростом количества слоев. Алгоритм самоорганизации, используемый в персептроне, тем не менее, не может быть успешно применен для самоорганизации многопрофильных слоистых сетей. Трехслойный персептрон тренируется за счет контролируемого обучения, так называемого «обучения с учителем». Только на самом глубоком уровне клеточные взаимосвязи могут быть усилены за счет инструкций от учителя. Учитель знает категории, к которым должен быть определен каждый тренируемый шаблон, и учит клетки самого глубокого уровня до тех пор, пока их выходные сигналы не будут удовлетворять установленным требованиям. Если же мы хотим обучать многослойные сети, в которых не только клетки наиболее глубоких слоев, но также и промежуточных слоев требуют усиления взаимосвязей, то обычный метод обучения, используемый в персептроне, не подходит. Это связано с тем, что мы не знаем, как "Учитель" должен давать указания промежуточному слою клеток, чьи выходные сигналы не могут просто определяется только по информации о категории, в которую классифицирован образ.

Один из авторов, Фукусима, ренее предложил алгоритм самоорганизации, который может эффективно применяться даже для многослойной сети. Алгоритм основан на принципе, что только клетки с максимальным выходом имеют усиленные взаимосвязи и не нужны никакие инструкций от учителя. "Когнитрон" это многоуровневая сеть, в которой внедрен этот алгоритм. Самоорганизация в когнитроне осуществляется за счет неконтролируемого обучения, называемого «обучением без учителя». Компьютерное моделирование показало, что способности в распознавании шаблонов у когнитрона значительно выше, чем у трехслойного персептрона.

Однако, когнитрон, как и трехслойный перцептрон, не имеют правильно распознавать смещение в позиции и искажения структуры – один и тот же шаблон в разных позициях обычным когнитроном распознается как другой шаблон.

"Неокогнитрон", который будет обсуждаться этой статье, является улучшенной версией обычного когнитрона, и умеет правильно распознавать образ, даже если есть искажения формы или смещения в позиции.

Самоорганизация в неокогнитроне также реализует неконтролируемое обучение – для самоорганизации неокогнитрона нужны только наборы повторяющиеся шаблонов распознаваемого образа и не нужна информация о категориях, к которым принадлежат шаблоны. Неокогнитрон приобретает способность классифицировать и правильно распознавать эти структуры самостоятельно, основываясь на различиях в формах. Любые образы, которые мы, люди, посчитали бы подобными также будут признаны подобными и отнесены к той же категории неоогнитроном. Неокогнитрон правильно распознает образы без влияния сдвигов и даже при серьезных искажениях формы объекта.

Неокогнитрон имеет иерархическую структуру. Информация о распознаваемом образе, попадающая во входной слой неокогнитрона, обрабатывается шаг за шагом на каждом этапе многослойной сети. Клетка на более глубоком этапе, как правило, имеет тенденцию реагировать выборочно на более сложную особенность образа и в тоже время имеет больше рецептивное поле и менее чувствительна к изменениям в положении образа. Таким образом, каждая ячейка на более глубоком этапе реагирует только на определенный шаблон, не учитывая его положение и размер.

Выбор числа слоев неокогнитрона зависит от сложности решаемой задачи и сеть с большим числом слоев способна распознавать более сложные изображения. Такое чередование слоев, при котором в слое S выделяются основные признаки изображения, а в слое С происходит коррекция искажений изображений, оказалось наиболее эффективным при синтезе систем распознавания образов, инвариантных к деформациям изображений [3].

Клетки, используемые в неокогнитроне

Прежде чем обсуждать структуру неокогнитрона, давайте обсудим характеристики клеток, используемых в нем. Все клетки, используемые в неокогнитроне имеют аналоговый тип 1е, входные и выходные сигналы клетки принимают неотрицательные аналоговые значения. Каждая ячейка имеет характеристики, аналогичные биологическому нейрону, если учитывать, что выходной сигнал из клеток соответствует мгновенной скорости реакции реального биологического нейрона. В неокогнитроне мы используем четыре различных типа клетки, такие как, S-клетки, C-клетки, VS-клетки и VC-клетки. Как типичный пример этих клеток мы рассмотрим характеристики S-клетки. Как показано на рис 1, S-клетка имеет много входных элементов, каждый из которых может быть возбуждающим или тормозящим.

 


Рисунок 1 – Типичный пример клеток, используемых в неокогнитроне

 

Если ячейка принимает сигналы от возбуждающих входных элементов, то результирующий сигнал будет увеличиваться. С другой стороны, результирующий сигнал от тормозящего входного элемента будет слабее. Каждый входной элемент имеет свой собственный коэффициент соединения, значение которого положительно. Хотя клетка имеет только один выходной элемент, она может посылать сигналы нескольким входным элементам других клеток. S-клетка обладает тормозящим входом, который вызывает маневровый эффект. Пусть u(1), u(2), … ,u(n) будут возбуждающими входами и V будет тормозящим входом. Тогда выход w этой S-клетки определяется как

 

(1)

 

 

где a(v) и b представляют возбуждающие и тормозящие коэффициенты соединения соответственно. функция ф[] определяется по следующей формуле

 

(2)

 

 

Давайте более подробно обсудим характеристики этой ячейки. Пусть е – сумма всех возбуждающих входов, взвешенных с соединяющими коэффициентами и h - это тормозящий входа, умноженный на соединительный коэффициент, т.е.

 

(4)

(3)

 

 

Уравнение (1) теперь можно записать в виде

 

(5)

 

 

Когда тормозящее вход мал (h << 1), у нас есть W = ф[е – h], что совпадает с характеристиками обычного аналогового порогового элемента (элементов). Для такой системы как неокогнитрон, где соединительные коэффициенты A (V) и b увеличиваются неограниченно во время процесса обучения, использование элементов, таких как аналого-пороговые-элементы не подходит, потому что их выходы могут неограниченно возрастать. В клетке, используемой здесь, однако, если коэффициент соединения увеличить, то е >> 1 и h >> 1, и уравнение (5) сводится к w=ф[е / h - 1], где выход W определяется отношение Е / Н, а не разницей е – h. Таким образом, даже если и дальше увеличить соединительные коэффициенты с ходом обучением, выход из клетки будет определенным значением, пока возбуждающий соединительный коэффициент A (V) и тормозящий соединительный коэффициент b находятся на одном уровне. Заметим, соотношение вход/выход клетки в случае использования возбуждающих и тормозящих входов меняется пропорционально. Если мы пишем

 

 

 

и если выполнено e > n, уравнение (5) можно преобразовать в

 

(6)

 

 

Это соотношение входных/выходных сигналов совпадает с логарифмической уравнения выражается законом Вебера-Фехнера. Такое же выражение часто используется в качестве эмпирической формулы в нейрофизиологии и психологии для приближения нелинейных соотношений ввода/вывода сенсорных систем животных. Другие типы клеток также имеют характеристики аналогичные тем, что есть у S-клеток. Входные/выходе характеристики C-клетки получаются из уравнения (5), если мы заменим ф[] на Ψ[], где Ψ[] - является функцией насыщения, которая определяется следующим образом:

 

(7)

 

 

Параметр a - это положительная постоянная, которая определяет степень насыщения выхода. В компьютерном моделировании, мы выбрали a = 0.5. S-клетки и C-клетки - это возбуждающиеся клетки, т. е. выходы этих клеток связаны только с возбуждающимися входными элементами других клеток. С другой стороны, VS-клетки и VC-клетки - это тормозящие клетки, чьи выходные элементы подключены только к тормозящим элементам других клеток. Vs-клетка имеет только возбуждающие входные элементы и выход клетки пропорционален сумме всех входов взвешенный с соединяющими коэффициентами. То есть, Vs-клеток дает сигнал, пропорциональный среднему арифметическому ее входов. Vс-клетка также имеет только возбуждающие входные элементы, но его выход пропорционален (взвешенный) квадратному корню ее ввода. Пусть u(l), u(2),…,u(N) – это входы Vс-клеток и c(1), c(2),…,c(N) – это соединительные коэффициенты входных элементов. Выход w этой Vс-клетки определяется так:

 

(8)

 

 

Структура сети

Как показано на рис.2, неокогнитрон состоит из каскадного соединения нескольких модульных конструкций, предшествующих входному слою U0. Каждый из структурных модулей состоит из двух слоев клеток, а именно слой Us, состоящий из S-клеток, и слой Uc, состоящий из С-клеток. В неокогнитроне, только входные соединения с S-клеток являются переменными и модифицируемыми, а входные взаимосвязи с другими клетками являются фиксированными и неизменяемыми.

 


Рисунок 2 – Иерархическая структура неокогнитрона

 

Входной слой U0 состоит из фоторецептора. Массив выходов фотоприемника обозначается uo(n), где n - двумерные координаты расположения клетки. S-клетки или C-клетки в любом одном слое сортируются в подгруппы в соответствии с оптимальными функциями стимулирования их рецептивных полей. Поскольку клетки в каждой подгруппе устанавливаются в двумерный массив, мы называем подгруппу А "плоскости из клеток". Мы также будем использовать терминологию S-плоскость и C-плоскость, представляющие плоскости из клеток, состоящие из S-клеток и C-клеток, соответственно. Установлено, что все клетки в одной плоскости из клеток имеют входные взаимосвязи одного и того же пространственного распределения и только позиция предыдущих клеток, из которых их входные взаимосвязи смещаются параллельно. Эта ситуация проиллюстрирована на рис.3. Даже в процессе обучения, в котором значения из входных взаимосвязей из S-клеток меняется, переменные взаимосвязей всегда изменяются с учетом этого ограничения. Мы будем использовать обозначение Us,(kz, n) для представления выхода из S-ячейки в ki-ом, S-плоскости в l-ом модуле и Uc(k, z, n) для представления выходных данных C-клетки в ki-ой C-плоскости в этом модуле, где n - двумерные координаты, представляющие позицию в рецептивном поле этих клеток на входном слое.

 


Рисунок 3 – иллюстрация, показывающая входные взаимосвязи с клетками любой клеточной плоскости

 

Каждый четырехугольник обращается с толстыми линиями представляет собой S-плоскость или C-плоскость и каждый вертикальный четырехугольник обращается с тонкими линиями, которые связаны с S-плоскостями или C-плоскостями, представляет собой S-слой или C-слой на рис.4, для простоты только одна ячейка показана на каждой клеточной плоскости Каждая из этих клеток получает входные взаимосвязи из клеток в зоне эллипса его предыдущего слоя. Все другие клетки в одной плоскости имеют входные взаимосвязи одного и того же пространственного распределения и только положения предыдущих клеток, к которым подключены их входные элементы, сдвигаются параллельно из клетки в клетку. Следовательно, все клетки в одной плоскости из клеток - это рецептивные поля той же функции, но на разных позициях. Поскольку клетки в сети соединены друг с другом в каскад, как показано на фиг.4, потому чем глубже слой, тем более становится восприимчивым поле каждой клетки, и плотность слоя клеток в каждой клеточной плоскости определяется как уменьшение значения в соответствии с увеличением размера рецептивных полей. Следовательно, общее количество клеток в каждой плоскости из клеток уменьшается с глубиной клеточной плоскости в сети. На более глубоком модуле, рецептивное поле каждого С-элемента становится настолько большим, что охватывает весь входной слой и каждую C-плоскость так, как достаточно иметь только одну C-клетку. Как уже упоминалось, S-клетки и C-клетки – это возбуждающие клетки. Хотя это и не показано на фиг.4, мы также используем тормозящие клетки, а именно, Vs-клетки в S-слоях и Vс-клетки в С-слоях. Здесь мы опишем выходы клеток в сети в числовых выражениях. Как обсуждалось в разделе 2, S-клетки имеют тормозящие входы с механизмом мгновенной реакции. Выходы S-клеток k-го S-слоя в l-ого модуля получается с помощью следующей формулы:

 

(8)

 

 

где ф[] есть функция, определенная уравнением (2), В случае если L = 1 в уравнении (9), Uc-1 (Kl-1, п) обозначает U0 (n) и имеем Кl-1 = 1

Здесь, at(kl-1,v,k1) and b1(k1) представляют собой значения возбуждающих и тормозящих переменные соединительные коэффициенты, соответственно, как описано выше, все S-клетки в S-слое имеют идентичный набор входных взаимосвязей. Следовательно, при (kl-1, V, kl) и bl (k1) клетки не содержат ни одного аргумента, представляющие положение n рецептивного поля клетки Usl(kl,n). Параметр rl в уравнении (9) контролирует интенсивность торможения. Чем больше величина rl, тем больше выборочной становится реакция клетки на особенности образа. Взаимосвязи S-клеток и С-клеток являются фиксированными и неизменяемыми. Как показано на рис.4, каждая C-ячейка имеет входные взаимосвязи, ведущие из группы S-клеток в S-плоскости предыдущих. Это означает, что все S-клетки подключаются в С-клетки таким образом, чтобы результат работы клетки был тот же, но с учетом позиции образа. Значения соединений определяются таким образом, чтобы C-клетки были активированы, когда по крайней мере одна из S-клеток будет активирована. Таким образом, даже если шаблон, вызвавший возбуждение будет смещен, С-клетка будет по-прежнему фиксировать возбуждение.

 


Рисунок 4 – Принципиальная схема, иллюстрирующая соединения между слоями в неокогнитроне

 

Выводы

Предложенная структура самоорганизации соответствует зрительной нервной системе. Алгоритм, основанный на этой структуре, реализован в виде многослойной сети, называемой «Неокогнитрон». Самоорганизация за счет неконтролируемого обучения с использованием повторяющихся шаблонов являются необходимыми элементами данной сети и позволяют обойтись без информации о классах, к которым принадлежит образ. Также необходимо отметить, что неокогнитрон правильно распознает образы при смещениях и искажениях формы.

 

Литература:

 

1.      K. Fukushlma, Neural network model for a mechanism of pattern recognision unaffected by shift in position-neocognitron, Trans Inst electronics commun Enors Japan 62-A - 1979. - P. 658-665.

2.      Ф. K. Fukushlma, Neocogmtron a self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position, Bwl Cybernet 36 - 1980. - P. 193-202.

3.      K. Fukushima: Neocognitron for handwritten digit recognition. Tokyo University of Technology, Tokyo, Japan – 2002. – Р. 161-170.

4.      K. Fukushlma, S. Myake, Neocognitron self-organizing network capable of position-invarlant recognition of patterns, Proc 5th Int Conf Pattern Recognition, Vol 1, 1980, pp. 459-461.

5.      F. Rosenblatt, Principles of Neurodynamics Spartan Books, Washington, DC - 1962

6.      K. Fukushima, Cogmtron a self-organizing multi-layered neural network, Btol Cybernet 20 - 1975. - P. 121-136.

7.      K. Fukushlma, Cogmtron a self-organizing multi-layered neural network model, NHK Techmcal Monograph No 30 - 1981.