[новости]
[коммерческие продукты]
Download
FAQ
[поддержка]
[отзывы пользователей]

ИСПОЛЬЗОВАНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ РАСПОЗНАВАНИЯ РУКОПЕЧАТНЫХ СИМВОЛОВ (Мисюрев А. В.) (продолжение)
АЛГОРИТМ РАСПОЗНАВАНИЯ. Разработанный алгоритм распознавания основан на выделении из растра с изображением буквы первичных признаков и последующем использовании искусственной нейронной сети для оценки близости входного изображения с символами из заданного набора букв. Результатом работы является набор оценок, отражающих степень близости распознаваемого символа с символами из заданного набора символов. Набор распознаваемых символов может включать заглавные буквы и цифры. Поступающие на распознавание изображения символов преобразуются к единому размеру 16х16 пикселов.

Отличительной чертой реализованного алгоритма является использование нейронной сети с достаточно большим числом входных признаков. Из исходного изображения выделяются 2312 первичных признака, характеризующих перепады яркости в узлах растра. Кроме того, используются признаки, вычисляемые по всему растру и характеризующие форму распознаваемого символа. В набор распознаваемых символов входят буквы русского алфавита и цифры (всего 43 символа). Нейронная сеть имеет один внутренний уровень, содержащий 100 узлов и является полносвязанной, т.е. каждый узел внутреннего уровня соединен со всеми входными узлами, а каждый узел верхнего уровня соединен со всеми узлами внутреннего уровня. Таким образом, нейронная сеть имеет более 200 тысяч весов. Для уменьшения объема вычислений при распознавании для каждого распознаваемого изображения символа используются не все входные признаки, а только часть, т.е. вектор входных параметров нейронной сети является сильно разреженным.

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

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

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

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

  • Параметры базы с обучающими растрами. Размер, способ отбора растров, порядок растров в базе, наличие грязных символов и ошибок в разметке.
  • Выбор критерия, оптимизируемого при обучении нейронной сети. На разных этапах обучения возможно использование различных критериев.
  • Шаг изменения коэффициентов сети.
  • Использование регуляризации сети.
  • История обучения сети.
  • Использование дополнительного шума и искажений символов.
  • Момент остановки обучения. Желательно избегать как недастаточного обучения сети, так и переобучения.
  • Размер кэша плохих растров и относительная частота выбора растров из обучающей базы данных и из кэша плохих символов.
Предыдущая страница Следующая страница