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


Неокогнитрон с двойным С-клеточным слоем

Автор: Kunihiko Fukushima

Перевод с английского: Тимофей Труханов

Источник: Journal Neural Networks Volume 7 Issue 1, 1994 Pages 41-47 Elsevier Science Ltd. Oxford, UK, http://lrn.no-ip.info/other/books/neural/Neocognitron ...

 

Реферат

 

Неокогнитрон является иерархиесткой моделью нейросети способной к распознаванию искаженных образов. В иерархической нейросети неокогнитрона, извлекающие признаки S-клетки и производящие операцию размывания C-клетки, чередуются. Способность каждой S-клетки надёжно извлекать искажённые признаки обуславливается операцией размывания C-клеток, размещённых перед S-клеткой.

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

Для того, чтобы произвести такое размывание экономично, мы предлагаем неокогнитрон с двойным С-клеточным слоем. Слой С-клеток в промежуточном уровне нейросети расделяется на два подслоя: один с меньшим размыванием, а второй с большим. Каждая S-клетка в следующем слое получает входные соединения от слабо размывающего С-клеточного слоя в цетре своей области соединений и также получает соединения от сильно размывающего С-клеточного слоя на периферии. Компьютерное моделирование показало, что новый неокогнитрон распознаёт символы надёжнее чем обычный неокогнитрон.

 

Ключевые слова: Неокогнитрон, Нейросеть, Распознавание образов, Распознавание символов, Двойной С-клеточный слой, Неоднородное размывание.

 

1. Введение

 

Неокогнитрон является моделью иерархической нейросети устойчивой к деформации распознавания образов (Fukushima, 1980, 1988). Он может приобретать надежную способность распознавания образов посредством обучения. Из-за большой способности к обобщению неокогнитрон требует относительно мало времени для тренировки в сравнее с другими искусственными нейросетями, тренируемыми через обратное распространение (например, LeCun, Boser, Denker, и др., 1989). В иерархической нейросети неокогнитрона, выделение признаков S-клетками и размывание C-клетками чередуются. Способность каждой S-клетки надежно извлекать деформированные признаки обуславливается операцией размывания C-клеток перед S-клеткой (Fukushima, 1989). Это связано с тем, что позиционные ошибки локальных признаков извлечённые S-клетками в предыдущем слое могут переносится как результат операции размывания C-клеток.

Рассмотрим S-клетку, которая была натренирована извлекать определенный признак, такой как угол или пересечение двух линий. Если подаётся деформированная версия тренировочного образа на входной слой, различия между признаком в тренировочном образе и тем что в стимулах обычно становятся больше на периферии чем в центре рецептивного поля S-клетки. В обычном неокогнитроне, однако, степень размывания, производимого C-клеткой постоянно по всему рецептивному поля S-клетки. Можно ожидать, что S-клетка может принимать намного большие деформации признака, если непостоянное размывание может быть произведено таким образом, что большее размытие создается на периферии рецептивного поля.

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

Для того, чтобы получить похожий эффект намного экономнее, мы предлагаем неокогнитрон с двойными слоями C-клеток (Hiroshige, okada, & Fukushima, 1992). Каждый слой C-клеток разделен на два подслоя: один с большим размыванием, второй с меньшим размыванием. Каждая S-клетка в следующем слое создается чтобы получать сигналы от слабо размывающего C-клеточного слоя в центре её области соединений, и также получать сигналы от сильно размывающего C-клеточного слоя в периферии её обалсти соединений.

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

 

2. Обычный неокогнитрон

 

Из-за того, что нейросеть, предлагаемая в этой работе является модифицированной версией обычного неокогнитрона, архитектура нейросети обычного неокогнитрона (Fukushima, 1988) будет кратко описана в этом разделе. Читатели, кто уже знаком с обычным неокогнитроном и обозначениями в его формулах могут пропустить этот раздел.

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

Каждый слой S-клеток и С-клеток разделён на подгруппы, называемые клеточными плоскостями, соответствующие признакам, за которые они отвечают. Каждый прямоугольник выделенный жирными линиями на рисунке 1 представляет клеточную плоскость. Соединения сходящиеся к клеткам в клеточной плоскости являются гомогенными и топографически отсортированы. Другими словами соединения имеют трансляционную симметрию. (Мы также можем сказать, что все клетки клеточной плоскости разделяют общее множество входных соединений.) Каждая клетка получает свои входные соединения только ограниченного числа клеток, расположенных в маленькой области предыдущего слоя.


Рисунок 1. Иерархическая структура нейросети обычного неокогнитрона

 

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

Оптимальный масштаб нейросети изменяется в зависимости от множества образов для распознавания (Fukushima & Wake, 1991). Если сложность образов высокая, общее множество уровней нейросети должно быть большим.

В математическом описании ниже, обозначение , например, используется для обозначения выходов S-клетки слоя , где n является двумерным множеством координат, обозначающих позицию центра рецептивного поля клетки во входном слое , и k – это номер клеточной плоскости ().

S-клетки выделяют признаки из образа. Каждый слой , содержит вспомогательные V-клетки, так же как и S-клетки. V-клетки посылают тормозящие сигналы S-клеткам. S-клетки с помощью V-клеток выделяют признаки из входного образа. Математически, выходы S-клетки и вспомогательной V-клетки вычисляются по следующим формулам:

(1)

(2)

где - это функция, определенная как . В случае в уравнении (1), упрощается до т.е. Выход нецепторной клетки входного слоя и мы имеем .

Параметр - это сила переменного возбуждающего соединения от C-клетки , предыдущего уровня. Обозначает суммарный диаразон , т.е. Размер пространственного распространения входных соединений к одной S-клетке. Параметр - это сила переменного тормозящего соединения от V-клетки. Так как все S-клетки в клеточной плоскости имеют идентичные множества входных соединений, и не содержат аргумент n представляющий позицию рецептивного поля клетки . Положительная константа определяет эффективность тормозящего входа S-клетки. Параметр определяет силу фиксированных возбуждающих соединений к V-клетке, и является монотонно убывающей функцией .

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

(3)

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

В нейросети, тренированной с помощью обучения с учителем, выполняется операция, называемая „объединение” (Fukushima, 1988; Fukushima & Wake, 1991). Если деформация признака сильно большая чтобы извлечь его с помощью одной S-клеточной плоскости, создаётся дополнительная S-клеточная плоскость для извлечения дформированной версии того же признака. Выход второй S-клеточной плоскости объединяется с выходом первой и посылается на вход одной C-клеточной плоскости. Параметр определяет как S-клеточный плоскости объединяются. Он принимает значение 1 если κ-ой клеточная плоскость должна быть объединена с k-ой клеточной плоскостью, и принимает значение 0 иначе. В нейросети тренированной с помощью обучения без учителя, в которой нет объединяющих операций мы имеем: для и для .

В процессе обучения, переменные соединения и усиливаются в зависимости от интенсивности входных сигналов к исходной клетке. Исходная клетка назначается учителем в случае обучения с учителем (Fukushima, 1988; Fukushima & Wake, 1991), или определяется в процессе соревновательного процесса в случае обучения без учителя (Fukushima & Miyake, 1982). Если клетка выбрана исходной в определённый момент времени, переменные соединения и к этой клетке, и следовательно ко всем S-клеткам одной клеточной плоскости, усиливаются на следующее значение:

, (4)

, (5)

где - это положительная константа определяющая скорость усиления.

 

3. Эффект от неоднородного размывания

 

Рассмотрим случай в котором неокогнитрон уже завершил изучение символов определённого стиля письма, например, образ, показанный на рисунке 2(а). Вообще в промежуточном уровне нейросети, S-клетка была создана для извлечения, например, признака, обведённого кругом на рисунке 2(а). Желательно, если та же S-клетка может также реагировать на соответствующий признак в деформированной версии этого же символа, что показано в круге на рисунке 2(b).

 


Рисунок 2. Изученный символ и деформированная версия этого же символа

 


Рисунок 3. Эффект от однородного и неоднородного размывания на примере распознавания деформированного признака

 

 

 

S-клетка обычно судит о схожести изученного и входного образа по уровню перекрытия размытых версий двух образов (Fukushima, 1989). Если размытие однородное в рецептивном поле S-клетки, не возникает достаточного перекрытия двух образов, как показано на рисунке 3(а), и S-клетка не распознает деформированный признак. Это происходит из-за увеличения различий между образами на периферии рецептивного поля. Если мы можем создать большее размытие в периферийной области рецептивного поля, однако, мы может получить достаточное перекрытие даже для деформированного признака, как показано на рисунке 3(b).

Конечно же мы можем получить лучшее перекрытие двух образов если мы сделаем сильное размытие по всему рецептивному полю. Однако в таком случае S-клетка потеряет способность различать разные но похожие признаки, как показано на рисунке 4. Поэтому важно иметь слабое размытие в центре рецептивного поля.

 

4. Двойные слои C-клеток

 

Простой способ реализации этого неоднородного размывания заключается в том, чтобы дать каждой S-клетке своё множество C-клеток, и сделать C-клетки в центре менее размывающими чем на периферии. Однако это непрактично, потому что для этого потребуется слишком большое число C-клеток.

Для того, чтобы получить такой же эффект намного экономичнее, мы предлагаем неокогнитрон с двойными C-клеточными слоями. Каждый слой C-клеток разделен на два подслоя: один с большим размыванием, второй с меньшим размыванием. Каждая S-клетка в следующем слое создается чтобы получать сигналы от слабо размывающего C-клеточного слоя в центре её области соединений, и также получать сигналы от сильно размывающего C-клеточного слоя в периферии её области соединений.

 

Рисунок 4. Нарушение способности различать разные признаки похожей формы когда размывание слишком сильное по всему рецептивному полю

Мы сначала применили операци только к слою , как описано в следующей главе. Рисунок 5 показывает архитектуру нейросети для реализации этой операции. Слой разделён на два подслоя, и .

Рисунок 6 показывает одномерное сечение соединений от и к слоям и ( в этом случае). Каждая C-клетка подслоя получает входные соединения от меньшего числа S-клеток и имеет меньшее размывание чем С-клетки . Пространственное распределение входных соединений этих двух множеств С-клеток представлены и , и размер пространственного распределения этих соединений и . Как видно из рисунка, мы имеем .

Математически, ответ С-клеток и вычисляются следующим образом:

, (6)

, (7)

Каждая S-клетка следующего слоя получает соединения от C-клеток слоя и . В центре этой области соединений, она получает соединений сильнее от слоя чем от . Для того, чтобы реализовать это условие, взвешенные функции и , которые определяют уровень эффекта от отдельной точки в области соединений, определены так, чтобы иметь пространственное распределение, показанное на рисунке 6.

Математически, выходы S-клетки и вспомогательной V-клетки, которая посылает тормозящие сигналы к этой S-клетке, вычисляются по следующей формуле:

, (8)

 

где

(9)

и

(10)

В процессе тренировки, переменные соединения , и усиливаются в зависимости от интенсивности входных сигналов к исходной клетке. Если клетка выбрана как исходная клетка в некоторый момент времени, то переменные соединения , и к исходной клетке, и следовательно ко всем S-клеткам в этой клеточной плоскости, усиливаются на следующее значение:

, (11)

, (12)

. (13)

 


Рисунок 5. Архитектура нейросети, содержащая двойной C-клеточный слой. Числа внизу показывают общее количество S- или C-клеток (не включая V-клетки) в каждом слое нейросети. Количество V-клеток в каждом слое совпадает с количеством S-клеток в одной клеточной плоскости этого слоя. Например, имеет V -клеток.

 

Рисунок 6. Одномерное сечение соединений к и от слоёв и

 

5. Компьютерное моделирование

 

5.1 Дуализация слоя

 

Для того, чтобы протестировать эффект от двойных С-клеточных слоёв, мы сначала попытались дуализировать С-клеточный слой только на первом уровне, как показано на рисунке 5.

Фигура функций и , и размер их пространственных распределений и в уравнениях (6) и (7), которые определяют входные соединения С-клеток, были определены следующими уравнениями:

, , (14)

, , (15)

где и - положительные константы . Между прочим в обычном неокогнитроне (Fukushima, 1988), мы имеем:

, . (16)

Фигура взвешенных функций и в уравнениях (10), (11), и (12), которые определяют входные соединения S-клеток, была определена следующими уравнениями:

, (17)

, (18)

где это взвешенная функция, используемая в уравнениях (2) и (4) в обычном неокогнитроне (Fukushima, 1988), и определяется как:

, (19)

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

Для того, чтобы определить оптимальные значения параметров, мы измерили производительность нейросети для различных значений , и . Нейросеть была натренирована на распознавание цифр от 0 до 9 с помощью обучения с учителем используя такое же множество тренировочных образов как и обычный неокогнитрон (Fukushima, 1988). После завершения обучающего процесса были измеряны ошибки распознавания.

Для того, чтобы измерить уровень распознавания, мы собрали 1000 образцов рукописных цифр разных стилей. Этот набор образов был случайным образом разделён на две группы: одна была использована для нахождения оптимальных значений параметров, а вторая для тестирования оптимальности выбранных параметров даже для неизученных образов.

После завершения обучающего процесса для каждой комбинации различных значений параметров, ошибки распознавания были измеряны используя множество из 400 тестовых образов, выбранных случайным образом, которые содержали 40 искаженных образов для каждого символа от 0 до 9. Было выяснено что ошибки распознавания были минимимальны для таких значений: , , . Уровень ошибок в распознавании 400 тестовых образов с этим набором параметров был 8.3%, в то время как уровень ошибок для обычного неокогнитрона, который был получен с использованием параметров и , был 17.8%. (Для того, чтобы подтвердить что параметры в обычном неокогнитроне, с которым сравнивается наша новая нейросеть, были выбраны оптимально, мы также тестировали производительность обычного неокогнитрона с разными занчениями при и было обнаружено, что даёт оптимальную производительность.)

Для того, чтобы подтвердить что выбранные параметры были реально оптимальными даже для неизвестных образов, мы измерили производительность нейросети используя 600 тестовых образов, которые не были использованы в предыдущем процессе выбора оптимальных значений параметров. Уровень ошибок нейросети с использованием оптимальных параметров был 9.2%, в то время как уровень ошибок для обычного неокогнитрона был 16.3%. Эти данные показываню, что параметры были выбраны оптимально даже для неизученных образов.

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

Рисунок 7 показывает некоторые примеры деформированных символов, которые нейросеть с оптимальными значениями , и были распознаны корректно. Эти образы были выбраны из множества 600 неизученных образов. Среди этиз образов, образы показанные на (а) были распознаны корректно и новой неросетью и обычным неокогнитроном, в тов ремя как образы на (b) были распознаны корректно только новой нейросетью.

 


Рисунок 7. Примеры искажённых цифр, которые нейросеть распознаёт корректно. (а) Образы, распознанные и новой неросетью и обычным неокогнитроном. (b) Образы, распознанные корректно только новой неросетью

 

5.2 Дуализация других С-клеточных слоёв

 

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

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

 

6. Обсуждение

 

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

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

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

Хотя мы заключили, что дуализация С-клеточных слоёв высших уровней не производит заметных улучшений, может быть эффективно если привнести нецентральное размывание. В нецентральном размывании позиция наименьшего размывания не обязательно располагается в центре рецептивного поля S-клетки, а расположена в позиции одного из локальных признаков, составляющих глобальный признак, который нужно извлечь S-клетке. Создание такого нецентрального размывания является другой проблемой в будущем, которую нужно протестировать.

 

Перечень ссылок

 

Fukushima, K (1980) Neocognitron A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biological Cybernetics, 36(4), 193-202.

Fukushima, K. (1988). Neocognitron: A hierarchical neural network capable of visual pattern recognition Neural Networks, 1 (2), 119- 130.

Fukushima, K. (1989). Analysts of the process of visual pattern recognition by the neocognitron Neural Networks, 2(6), 413-420.

Fukushima, K., & Miyake, S. (1982). Neocognitron: A new algorithm for pattern recognition tolerant of deformations and shifts in position. Pattern Recognition, 15(6), 455-469

Fukushima, K., & Wake, N. (1991). Handwritten alphanumeric character recognition by the neocognitron IEEE Transactions on Neural Networks, 2 (3), 355-365.

Hiroshige, K., Okada, M., & Fukushima, K. (1992) Neocognitron with a dual C-cell layer (in Japanese) Technical Report, IEICE, No. NC91-160.

LeCun, Y., Boser, B., Denker, J. S, et al. (1989). Backpropagation applied to handwritten zip code recognition. Neural Computation, 1, 541-551.