Алгоритм распознавания графических образов

УДК 004.852

АЛГОРИТМ РАСПОЗНАВАНИЯ ГРАФИЧЕСКИХ ОБРАЗОВ

В.А. Мищенко

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

Ключевые слова: искусственная нейронная сеть, алгоритм обучения, персептрон

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

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

Одной из важнейших особенностей ИНС является способность сетей к обучению. Процесс обучения сети представляет собой подбор значений весов связей для получения корректных решений. Выделяют три метода обучения искусственной нейронной сети: с учителем, без учителя и

смешанный.

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

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

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

В смешанном же обучении, часть нейронов обучается с учителем, а часть без учителя. Рассмотрим один из алгоритмов обучения ИНС с учителем.

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

Мищенко Вадим Анатольевич - ВГУ, аспирант, тел. 8-905-053-22-36

Рис. 1. Схема организации персептронного нейрона

Процесс обучения такой нейронной сети состоит в подстройке весовых коэффициентов где 1= о, п , последовательно уменьшающей

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

входных образов Хк = (хк1, хк2,...,хкп), где к=1,р , для которых заранее известно к какому из классов принадлежит образ. Персептрон будем считать обученным , если для каждого вектора Хк на выходе получается соответствующее значение уке {0,1}.

В алгоритме обучения можно выделить пять последовательных шагов:

1. Проинициализировать весовые коэффициенты w1 1= о, п небольшими случайными

значениями из диапазона [-0.3;0.3].

2. Подать на вход один из обучающих векторов и вычислить для него выход сети.

3. Если полученный выход верный- перейти к пункту 5, в противном случае необходимо вычислить ошибку допущенную сетью по формуле:

5 = ук - у.

4. Изменить весовые коэффициенты по следующему правилу:

w1t+1=w1t+V*5* х1к .

Здесь t и t+1- номера соответственно текущей и следующей итераций; V - коэффициент скорости обучения сети. Данная формула изменяет лишь весовые коэффициенты, соответствующие

к

ненулевым значениям Х1 , т.к. влияет только на

п

величину 5 = ^ х^^

г=0

5. Шаги 2-4 повторяются для всех обучающих векторов до тех пор, пока сеть не перестает ошибаться.

Стоит отметить, что коэффициент скорости обучения как правило выбирают из диапазона [0,5;0,7],однако, в некоторых случаях, например, при достаточно большой обучающей выборке возможно постепенное уменьшение данного коэффициента начиная с 1.

Таким образом, если объединить несколько персептронов в однослойную нейронную сеть, то полученная сеть сможет вести разделение входных образов на произвольное число групп (рис. 2).

Пусть пары векторов (Хк,Ук) к= 1, р -

обучающая выборка для ИНС, т.е. обученная нейронная сеть при подаче на вход вектора Хк на

Воронежский государственный университет

выход будет выдавать вектор Ук. Алгоритм обучения представляет собой подстройку весовой матрицы W (где w1j - вес синапсической связи между 1-м входом и j-м нейроном), с постепенным уменьшением ошибки в выходных векторах и состоит из следующих шагов.

Рис. 2. Однослойная нейронная сеть, состоящая из п персептронных нейронов

1. Необходимо проинициализировать весовую матрицу W.

2. Вычислить выход сети для входного вектора Хк.

3. В случае получения верного выходного вектора (У=Ук) подается следующий вектор обучающей выборки Хк+1. В противном случае, вычисляется величина ошибки по формуле (1).

4. Модифицируем матрицу W по формуле

Wljt+1=Wljt+V*5* Х1к .

5. Для все обучающей выборки повторяются пункты 2-4 до тех пор пока сеть не перестает ошибаться.

Данный алгоритм имеет широкий спектр применения, в том числе при написании программ для распознавания рукописного текста, почтовых индексов и пр.

Литература

1. Яхнева Г.Э. Нечеткие множества и нейронные

сети / Г.Э. Яхнева. - М.: Интернет-Университет

Информационных Технологий; БИНОМ. Лаборатория знаний, 2006. - 316 с. - (Серия «Основы информационных технологий»).

2. Чулюков В.А. Основы искусственного интеллекта / В.А. Чулюков, И.Ф. Астахова, А.С.Потапов. - Воронеж: ВГПУ, 2006. - 304 с.

ALGORITHM OF RECOGNITION OF GRAPHIC IMAGES

V.A. Mishchenko

In given clause the algorithm of training of the single-layered artificial neural network, used for recognition of graphic images, including the hand-written text is considered

Key words: an artificial neural network, algorithm of training