Введение.
Задачу генерации рукописных текстов можно считать обратной задаче перевода рукописного текста в печатный. Здесь на вход программе предоставляется печатный текст, который в ходе обработки трансформируется в рукописный текст на выходе. Однако эффективность полученного результата жестко связана с методами решения данной задачи. Особенно с выбором представления исходных данных.
- Представление рукописного текста.
Существует два наиболее используемых метода представления рукописного текста для последующей работы с ним: в виде изображения и в виде набора координат.
1.1. Представление ввиде изображения.
В этом случае отдельные символы или предложения считываются с графического планшета или другого устройства ввода и записываются в виде изображений любого формата. Создается Handwriting Database (см. рис. 1).
Рис. 1. Представление символа в виде изображения
1.2. Представление ввиде последовательности координат.
В этом случае каждый символ записывается с помощью графического планшета или другого устройства ввода, к которому подключена специальная программа-трекер. Она позволяет отслеживать положение пера в данный момент времени, записывая координаты точки относительно габаритов устройства ввода и время, когда эта точка была пройдена. Данный способ позволяет по времени определять пробелы — отрывы от поля написания. Создается Online Handwriting Database (см. рис. 2).
Рис. 2. Представление символа в виде последовательности точек
-
Способы генерации рукописных текстов взависимости от представления.
- Представление ввиде изображения.
В случае представления исходных данных в виде изображения используют сверточные нейронные сети. Их особенность заключается в наличии «ядра свертки», которое одинаково для различных нейронов входного слоя. Это матрица весов, которая «двигается» по обрабатываемому слою, формируя после каждого сдвига сигнал активации для нейрона следующего слоя с аналогичной позицией (см. рис. 3). Данные особенности архитектуры делают сеть устойчивой к поворотам и другим искажением изображения, что гарантирует высокое качество работы с задачами анализа и распознавания изображений [1].
Рис. 3. Архитектура сверточной нейронной сети
2.2. Представление ввиде последовательности координат.
Рассматриваемый тип представление можно считать последовательностью (по сути это и есть последовательность координат). Для работы с таким видом данных целесообразно применять рекуррентные нейронные сети. Они подходят для работ не только с текстовыми, но и с аудио последовательностями и видео рядом. Рекуррентные нейронные сети — это сети, обладающие обратными связями. Если развернуть рекуррентную нейронную сеть, то можно представить ее как последовательность сетей, каждая из которых передает информацию последующей. Таким, образом данная архитектура является естественной для работы с последовательностями и списками.
Рис. 4. Архитектура LSTM-модуля
Однако у обычных рекуррентных нейронных сетей существует проблема: они плохо обучаются долговременным зависимостям. Чем больше расстояние между актуальной информацией и местом ее использования, тем меньше шансов, что сеть сможет обучиться [2]. Для решения проблемы иногда добавляют сторонние шумы, чтобы сделать сеть более устойчивой. Более того, можно использовать такую разновидность рекуррентных нейронных сетей как долгая краткосрочная память (LSTM).
LSTM — рекуррентная нейронная сеть, способная обучаться долговременным зависимостям. Она содержит LSTM-модули, которые позволяют запоминать информацию как на короткие, так и на длинные промежутки времени. Данный процесс внутри модуля регулируется фильтрами (gates), состоящими из сигмоидального слоя и операции поточечного умножения. Фильтр выдает число от 1 до 0, где «0» — информацию нужно забыть, а «1» — информацию обязательно нужно запомнить (см. рис 4).
-
Результаты работы.
- Handwriting Database + Сверточная нейронная сеть.
На рис. 5 представлены результаты работы программы «Handwriter» [3], использующей архитектуру сверточной нейронной сети. Исходное изображение показывает нам несовершенства выбора и инструмента генерации, и выбора базы данных. В этом случае текст далек от естественности человеческого почерка, соединения между символами проработаны плохо. Скорее всего они были добавлены в виде шумов, т. к. Handwriting Database плохо запоминает особенности соединений, а иногда и вовсе их игнорирует.
Рис. 5. Результат работы программы “Handwriter”
3.2. Online Handwriting Database + Рекуррентнаянейроннаясеть.
Использование Online Handwriting Database (например, IAM Online Database [4]) является более естественным для воспроизведения человеческого почерка. Благодаря способу запоминания каждой точки как координаты в текучий момент времени, сеть становится проще обучить не только написанию символов, но и проработке соединений между ними (см. рис. 6).
Рис. 6. Результат работы LSTM
- Заключение.
Таким образом, предпочтительным для генерации рукописных текстов является использование Online Handwriting Database и подходящего для работы с ней инструмента — рекуррентной нейронной сети (в частности, LSTM).
Литература:
- A beginner’s guide to understanging convolutional neural networks [Электронный ресурс]: URL:https://adeshpande3.github.io/A-Beginner’s-Guide-To-Understanding-Convolutional-Neural-Networks/ (дата обращения: 08.02.2019).
- Graves A. Generating sequences with recurrent neural networks [Электронный ресурс] // arXiv: an e-print service in the fields of physics, mathematics, computer science, etc. Owned by Cornell University. 2014. arXiv:1308.0850v. URL:https://arxiv.org/pdf/1308.0850.pdf\ %20(https://arxiv.org/abs/1308.0850) (дата обращения: 12.02.2019).
- DMT Software [Электронный ресурс] //Программа HandWriter — из печатного текста в «рукописный». URL: http://dmtsoft.ru/un/hw_help_1 (дата обращения: 03.05.2018).
- E. Indermühle, M. Liwicki, H. Bunke. IAMonDo-database: an Online Handwritten Document Database with Non-uniform Contents [Электронный ресурс]: http://www.fki.inf.unibe.ch/databases/iam-onlinedocument-database/das10db.pdf (дата обращения: 21.02.2019).