РАЗРАБОТКА СИСТЕМЫ РАСПОЗНАВАНИЯ РУКОПИСНОГО ТЕКСТА ПРИ ПОМОЩИ НЕЙРОСЕТИ
кафедра искусственного интеллекта и системного анализа
E-mail: gregpozdnykov@gmail.com, ojk1407@gmail.com Источник: Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ-2021) /
Материалы XII Международной научно-технической конференции в рамках VII Международного Научного форума
Донецкой Народной Республики к 100-летию ДонНТУ. — Донецк, ДонНТУ — 2021, с. 584-586.
Аннотация:
Поздняков Г.А., Орлов Ю.К. Разработка системы распознавания рукописного текста при помощи нейросети. В работе рассматриваются возможные способы обучения искусственных нейросетей. Описан способ обучения разрабатываемой нейросети, а также представлена база данных, используемая для обучения.
Annotation:
Pozdnykov G.A., Orlov J.K. Development of a handwriting recognition system using a neural network. The paper discusses possible ways of teaching artificial neural networks. The method of training the developed neural network is described, as well as the database used for training.
Введение
Около 90 % информации наш мозг воспринимает при помощи образов. Еще с древности люди изображали на стенах пещер разные образы, для хранения и передачи информации. С течением времени передача информации посредством живописи постепенно начала заменяться более универсальным методом, при помощи письменности.
Рукописный текст содержит алфавит букв и знаки препинания. Основополагающее свойство текста, делающее возможным общение, состоит в том, что различия между разными символами более значительны, чем различия между разными изображениями одного и того же символа.
У каждого символа есть статические и динамические свойства. Статистические свойства заключаются в размер и форме символов, а динамические заключаются в количестве и порядке штрихов. В русском языке больше вариантов в отсутствии или присутствии повторных штрихов. Повторный штрих – это штрих в том же месте, где уже что-то написано, зачастую он делается, чтобы избежать отрывания ручки от бумаги.
Существует большое количество задач распознавания образов для рукописного текста. Они включают в себя отличия языковых символов, формул например таких, которые используются при редактировании. Проблемы распознавания символов включают в себя, например, огромные алфавиты китайских иероглифов, японские хирагану и катакану, арабские рукописные алфавиты и различные шрифты в западных языках. Но наибольшей проблемой в распознавании рукописного текста являются сложности, которые вызывают у людей трудности прочитать даже свой собственный почерк.
Цель работы:Разработка системы распознавания рукописного текста при помощи нейросети. Написание нейросети и обучение при помощи базы данных почерков.
Методы обучения нейросетей
Обучить нейросеть возможно используя различные методы: с учителем, без учителя, с подкреплением. При обучении с учителем нейросеть обучается при помощи размеченного набора данных и пытается предсказать верные ответы, которые используются для оценки точности алгоритма на обучающих данных. При обучении без учителя нейросеть использует неразмеченные данные, из которых алгоритм сам пытается извлечь признаки и зависимости.
Обучение с частичным привлечением учителя является чем-то средним. Данный метод использует небольшое количество размеченных данных и большой набор неразмеченных. В свою очередь обучение с подкреплением тренирует алгоритм при помощи системы поощрений. Агент получает обратную связь в виде наград за правильные действия. Этот процесс схож с дрeссировкой животных.
Обучение с учителем (supеrvised lеаrning) предполагает наличие большого количества размеченных данных для тренировки модели на всех этапах ее построения. Наличие полностью размеченного датасета означает, что каждому примеру в обучающем наборе соответствует ответ, который алгоритм и должен получить. Так размеченный датасет из фотографий цветов обучит нейронную сеть, где изображены пионы, лилии или другие цветы. Когда сеть получит новое изображение, она сравнит его с шаблонами из обучающего набора, чтобы предугадать ответ. Обучение с учителем больше всего подходит для задач, когда имеется много достоверных данных для обучения алгоритма. Но так бывает далеко не всегда. Недостаток данных — очень часто встречающаяся проблема в машинном обучении.
Обучение без учителя. Идеально размеченные и четкие данные достать не всегда возможно. Поэтому иногда алгоритму ставится задача найти заранее не известные ответы. Вот где нужно обучение без учителя. В обучении без учителя (unsupеrvisеd lеаrning) у модели есть некий набор данных, но отсутствуют четкие указания, что с ним следует делать. Нейронная сеть пробует самостоятельно найти корреляции в данных, извлекая полезные признаки и анализируя их. В обучении без учителя сложно узнать точность алгоритма, так как в данных нет никаких эталонных данных или метки. Но размеченные данные часто могут быть не очень надежные или их слишком сложно получить. В таких случаях, предоставляя модели свободу действий для поиска зависимостей, можно получить хорошие результаты.
Обучение с частичным привлечением учителя (sеmi-supеrvisеd learning) – это золотая середина, характеризуется своим названием: обучающий датасет содержит как размеченные, так и неразмеченные данные. Этот метод часто применяется, когда трудно извлечь из данных нужные признаки или разметить все объекты – трудоемкая задача. Этот метод машинного обучения используется в медицинских целях, таких как анализ сканов компьютерной томографии или МРТ.
Обучение с подкреплением. Видеоигры основаны на системе стимулов. Завершите уровень и получите награду. Победите всех монстров и заработаете бонус. Попали в ловушку – конец игры, не попадайте. Эти стимулы помогают игрокам понять, как лучше действовать в следующем раунде игры. Без всякой обратной связи люди бы просто принимали случайные решения и надеялись перейти на следующий игровой уровень. Обучение с подкреплением (reinforcement learning) действует по тому же принципу. Видеоигры – популярная тестовая среда для исследований.
Агенты ИИ пытаются отыскать идеальный метод достижения цели или улучшения производительности для определенной среды. Когда агент совершает действия, ведущие к достижению поставленной цели, он получает награду. Главная цель – предугадывать дальнейшие действия, чтобы в конце получить максимальную награду. Во время принятия решения агент изучает обратную связь, новые тактики и решения, которые должны привести к наибольшему выигрышу. Этот подход использует долгосрочную стратегию – как в шахматах: следующий лучший ход может не помочь выиграть в конце концов. Чем больше есть уровней с обратной связью, тем лучше становится стратегия агента.
Обучение разрабатываемой нейросети
Для обучения разрабатываемой нейросети было решено выбрать метод обучения с учителем, так как в свободном доступе имеется огромное количество размеченных данных для тренировки модели на всех этапах ее построения. Распознавание каких-либо текстов является довольно популярным применением для искусственных нейронных сетей, поэтому не составляет никакого труда найти готовые базы данных почерков для дальнейшего обучения нейросети.
Решено было использовать базу данных EMNIST. База данных EMNIST (сокращение от «Extended Modified National Institute of Standards and Technology») – обширная база данных образцов рукописного написания букв и цифр. База данных является стандартом, предложенным Национальным институтом стандартов и технологий США с целью калибрации и сравнения методов распознавания изображений с помощью машинного обучения в первую очередь с помощью нейросетей. Данные этой базы содержат в себе заранее подготовленные и размеченные примеры изображений, при помощи которых производится обучение и тестирование систем искусственного интеллекта. База данных создана после переработки оригинального набора чёрно-белых образцов размером 20x20 пикселей NIST. При создании базы данных NIST использовались образцы из Бюро переписи населения США, а также тестовые образцы, специально написанные студентами американских университетов для последующего включения в базу данных. Данные образцы прошли сглаживание, были нормализированы и приведены к серому полутоновому изображению размером 28x28 пикселей.
База данных MNIST содержит 60000 образцов для обучения и 10000 образцов для тестирования. Половина изображений для обучения и тестирования были взяты из набора NIST для обучения, а другая половина – из набора NIST для тестирования.
Производились многочисленные попытки достичь наименьшей ошибки при обучении по базе данных ЕMNIST, которые обговаривались в научной литературе. Лучшие результаты были достигнуты при использовании свёрточных нейросетей, уровень ошибки был снижен до 0,23 %. Создатели базы данных предусмотрели несколько способов тестирования. В оригинальной работе указывается, что использование метода опорных векторов позволяет достичь уровня ошибки 0,8 %
Выводы
По итогам данной работы были рассмотрены возможные методы обучения нейронных сетей. Для обучения разрабатываемый нейросети был выбран метод обучения с учителем, как самый точный и простой, учитывая наличие данных для обучения. Так же была выбрана база данных почерков для последующего обучения нейросети.
Литература
1. Гудфеллоу, Я. Deep Learning / Я. Гудфеллоу, И. Бенджио, А. Курвилль. – М.: TheMIT Press, 2017. – 652 c.
2. Википедия [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://ru.wikipedia.org/wiki/EMNIST– Загл. с экрана.
3. Neurohive [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://neurohive.io/ru/osnovy-data-science/obuchenie-s-uchitelem-bez-uchitelja-s-podkrepleniem/ – Загл. с экрана
4. Хабр [Electronic resourse] / Интернет-ресурс. – Режим доступа: https://habr.com/ru/post/466566/– Загл. с экрана.