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


УДК 004.932.75

Распознавание графических образов при наличии искажений с помощью неокогнитронных нейросетей

Федяев О.И., к.т.н., доцент, Махно Ю.C., магистрант,

Донецкий национальный технический университет, г. Донецк

 fedyaev@r5.dgtu.donetsk.ua

 

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

Введение

В настоящее время предложено большое количество нейросетевых парадигм для решения задачи распознавания образов. Значительные затруднения при распознавании вызывают образы, подверженные какому-либо искажению (зашумление, смещение, поворот, изменение образа в размерах). Эту проблему решают путём выбора соответствующей архитектуры и способа обучения. Анализ работ показывает, что пока не существует такой модели, которая была бы не чувствительна ко всем четырём видам искажений.

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

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

 

Модель неокогнитрона

 

Неокогнитрон является иерархической нейронной сетью,  состоящей из достаточно большого числа идущих друг за другом слоёв и имеющей неполные (можно сказать достаточно редкие) связи между слоями [1]. Модель неокогнитрона была разработана после того, как в зрительной системе были обнаружены узлы, реагирующие на такие элементы, как линии и углы определенной ориентации. На более высоких уровнях узлы реагируют на более сложные и абстрактные образы такие, как окружности, треугольники и прямоугольники. На ещё более высоких уровнях степень абстракции возрастает до тех пор, пока не определятся узлы, реагирующие, например, на лица или другие сложные формы. В общем случае узлы на более высоких уровнях получают вход от группы низкоуровневых узлов и, следовательно, реагируют на более широкую область визуального поля. Реакции узлов более высокого уровня менее зависят от позиции и более устойчивы к искажениям [2]. Схематический принцип процесса распознавания неокогнитроном представлен на рис. 1.

 

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

 

Каждый слой неокогнитрона состоит из матриц определенной размерности. Размерность матриц от слоя к слою уменьшается либо остается прежней [1,3]. Элементами матриц являются отдельные нейроны.  Все нейроны в каждой матрице реагируют на один и тот же образ (рис. 2). То есть, каждый из них настраивается на один специфический входной образ. Каждый нейрон чувствителен к ограниченной области входного образа, называемой его рецептивной областью.

Рис. 2. Связи между нейронами S-слоя и нейронами области видимости C-слоя

 

В неокогнитроне выделяют два типа слоёв: «простые» (S-слои, от слова simpl) и «комплексные» (C-слои, от слова complex), которые состоят соответственно из «простых матриц» (распознают входную информацию) и «комплексных матриц» (обобщают распознанную информацию). Нейроны простых матриц связаны только с некоторыми нейронами комплексных матриц. В свою очередь нейроны комплексных матриц связаны с нейронами простых матриц следующего слоя.

Входной слой обычно представляется как нулевой комплексный слой [1]. Концептуально, комплексные матрицы созданы для того, чтобы объединить однотипные результаты распознавания простых матриц. Например, если нейроны первой простой матрицы распознают символ «g», а второй матрицы символ «g», то эти результаты в комплексной матрице следует объединить, т.к. это одна и та же английская буква.

Каждый нейрон как простого, так и комплексного слоя получает сигналы не от всех нейронов, а лишь от некоторых, с которыми он связан. Такие нейроны образуют «область видимости» [1, 3, 4]. В отличие от термина «рецептивное поле», термин «область видимости» определяет нейроны предыдущего слоя, с которыми связан рассматриваемый нейрон, а рецептивное поле определяет ту часть входного слоя, которую распознает данный нейрон. Для центрального нейрона каждой матрицы, центральный элемент области видимости располагается в центре матрицы предыдущего слоя (рис. 2).

Различают слои, которые могут осуществлять и не выполнять сжатие графической информации. Для слоев со сжатием характерно то, что размерность его матриц меньше, чем размерность матриц предыдущего слоя. Для сжатия могут использоваться различные методы. В созданной модели для слоёв со сжатием используется следующий метод: центр области видимости нейрона, смещенного на 1 позицию от центрального нейрона, смещается на 2 позиции относительно центра матрицы предыдущего слоя [1].

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

Для расчёта выходного сигнала подавляющего нейрона используется следующая формула:

,                                                 (1)

где сi  –выходные сигналы нейронов комплексных слоев;

ti –весовые коэффициенты от нейронов С-слоя к подавляющему  нейрону.

Сигнал, подаваемый на вход простого нейрона, вычисляется по формуле:

,                                                     (2)

где wi – настраиваемые коэффициенты;

   v  – выходной сигнал подавляющего  нейрона (1).

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

                                                     (3)

Входной сигнал для нейронов комплексного слоя вычисляется по формуле:

,                                                         (4)

где si –выходной сигнал простых нейронов;

   ui–весовые коэффициенты от простых нейронов к комплексному [1].

Для нейронов комплексных слоёв использовались различные функции активации.

 

 

2 Обучение неокогнитрона

 

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

При настройке весовых коэффициентов использовалась простая формула расчета Δ, которая зависит от величины  входных сигналов [1,3,4,5]:

.                   (5)

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

Первый способ основывался на формуле  [1]. В этом случае настраиваемый коэффициент зависит только от центрально элемента предыдущего слоя. Это накладывает некоторые ограничения на расположение обучающего образа, то есть образ должен быть расположен так, чтобы нейроном предыдущего слоя с максимальным возбуждением был нейрон, который находится в центре области видимости (, i,j – координаты центрального элемента). Такое ограничение накладывается в силу того, что в противном случае в процессе обучения числитель дроби, используемой при расчёте входа на S-нейрон, будет расти быстрее знаменателя, что приведёт к невозможности обучения.

Второй способ основывался на формуле  [3,4,5]. В этом случае дельта зависит от выхода тормозящего нейрона, а сам выход тормозящего нейрона зависит от всех нейронов предыдущего слоя, с которыми связан обучаемый нейрон. В программной модели применялся второй способ из-за его универсальности.

Обучение неокогнитрона происходит слой за слоем. При обучении нейронов использовался метод, при котором в каждой матрице обучается только один нейрон (обычно используется центральный нейрон). После завершения обучения весовые коэффициенты этого нейрона переносятся на все остальные нейроны в этой матрице [1]. Таким образом, процесс обучения производится достаточно быстро, так как на каждом слое необходимо обучить лишь столько нейронов, сколько матриц в данном слое, а их количество обычно не превосходит 100 [1, 2, 3].

Для обучения нейронов первого слоя шаблон обучения записывается на входном слое и после этого начинается обучение центральных нейронов каждой матрицы. После того, как первый слой обучен, переходят к обучению второго слоя. Для этого необходимый образ записывают на входном слое, вычисляют выходы всех нейронов первого простого слоя, первого комплексного слоя и на основе полученных результатов (выходов нейронов первого комплексного слоя) обучают нейроны второго простого слоя. Для третьего и последующих слоёв всё аналогично (вычисление выходов нейронов на втором, третьем и других слоях происходит лишь после записи шаблона обучения ) [1,3].

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

 

3 Анализ процесса распознавания

 

Для анализа процесса распознавания была разработана программа-эмулятор  нейронной сети неокогнитрон, которая была обучена на распознавание рукописных арабских цифр. Для обучения неокогнитрона использовались шаблоны обучения из открытой базы данных ETL1. Главная форма программы-эмулятор представлена на рис. 3.

 

 

Рис. 3. Окно программного эмулятора неокогнитрона

 

Анализ процесса распознавания был проведен на классах образов, обеспечивающих проверку чувствительности неокогнитрона к:

·         изменению масштаба;

·         изменению местоположения;

·         присутствию хаотических шумов;

·         наложению образов.

 

Трансформации подвергались лишь те образы, которые были правильно распознаны неокогнитроном в оригинальном виде.

При изменении масштаба (рис. 4) неокогнитрон показал 92% распознаваемости. Ошибки в распознавании происходили в основном при сильном уменьшении масштаба.

 

Рис. 4. Распознавание при изменении масштаба

 

Неокогнитрон является нейронной сетью нечувствительной к местоположению образов (рис. 5). Это было подтверждено результатами моделирования. Неокогнитрон показал 100% распознаваемости на предложенных образах.

 

Рис. 5. Распознавание при изменении местоположения

 

Отличные характеристики неокогнитрон показал и при добавлении хаотических шумов (рис. 6). Были распознаны правильно 94% образов. Ошибки возникали лишь в случаях заполнения хаотическими шумами более 20% всей рабочей области.

 

Рис. 6. Распознавание при добавлении хаотических шумов


Одним из недостатков неокогнитрона является то, что он неправильно реагирует на образы, которые были получены путем наложения одного образа на другой. Как показано на рис. 7, при подаче образа, который был получен из образов цифр 2 и 5, нейронная сеть выдала ответ, обозначающий цифру 8.

 

Рис. 7. Сложность распознавания при наложении образов

 

Заключение

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

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

·         малая чувствительность к основным искажениям, которым подвергаются графические изображения (масштабирование, перенос, хаотические шумы);

·         обучение неокогнитрона происходит за приемлемое время; при обучении каждый образ из входного набора необходимо подавать минимальное число раз;

·         способность решать задачу распознавания графических образов за короткое время;

·         неокогнитронные нейросети самоорганизующиеся;

·         наличие в некогнитроне достаточного количества параметров для его настройки на различные типы образов;

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

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

 

Литература

1.       Fausett L. Fundamentals of Neural Networks: Architectures, Algorithms and Applications. //New Jersey: Prentice Hall. – 2000. –  P. 398-417.

2.       Уоссермен Ф. Нейрокомпьютерная техника. Теория и практика. – М.: Мир, 1992. – 260 с.

3.       Freeman J., Skapura D. Neural Networks. Algorithms, Applications and Programming Techniques. // Addison-Wesley. – 1991. – P. 373-392

4.       Satoh S., Kuroiwa J., Aso H. and Miyake S. Recognition of Hand-written Patterns by Rotation-invariant Neocognitron //Proc. of ICONIP'98, 1. – 1998. –  P. 295-299.

5.       Satoh S., Kuroiwa J., Aso H. and Miyake S. Pattern Recognition System with Top-Down Process of Mental Rotation //Proc. of IWANN'99, 1. – 1999. –  P. 816-825.