Веса увеличиваются на
| (21) |
где
Матрица
Вес тормозящей связи от V-плоскости к S-плоскости вычисляется как
| (22) |
где
Центр рецептивной области
Нейрон-представитель выбирается либо тот, который был указан учителем (для слоя выделения краёв), либо тот, который реагирует на поступающие сигналы наиболее сильно.
Связи от слоя
Если ни одна из плоскостей не реагирует на поступающие сигналы, генерируются новые плоскости. При генерации они сразу обучаются реагировать на сигналы, вызвавшие их генерацию. Также новые плоскости генерируются в случаях, когда уже существующие плоскости игнорируют часть сигналов.
Связи от слоя
В обученной сети выходной сигнал самого активного нейрона во всём слое
В процессе обучения и в процессе распознавания было предложено[3] использовать разные значения θl. Высокое значение — при обучении (чтобы сеть была более разборчива) и низкое значение — при распознавании (чтобы сеть реагировала на максимально возможное число стимулов).
Проходя через несколько стадий обработки, на каждой из которых точка происхождения сигнала может смещаться благодаря наличию рецептивных областей и тому факту, что S-плоскости воспринимают «свои» сигналы из любой точки предыдущих C-плоскостей, а также потому, что сигналы подвергаются размытию в C-плоскостях. Это смещение позволяет неокогнитрону в определённой степени игнорировать деформацию символов.
Из изложенного выше становится ясно, что процесс распознавания текста включает в себя несколько слабо связанных стадий, на каждой из которых изображение подвергается разным преобразованиям и анализируется с помощью разных алгоритмов. Поэтому система распознавания текста естественным образом разбивается на отдельные модули. На рис. 7 представлена схема такой системы.
При условии, что интерфейсы между модулями определены достаточно гибко, можно менять реализации отдельных модулей, не затрагивая системы в целом.
Поток информации не обязательно должен быть линейным. Например, можно использовать альтернативные методы распознавания символов, если набор знаков, извлекаемый из документа, содержит большое число очень схожих символов (такая ситуация возникает при распознавании печатного текста). Часть такой нелинейной системы показана на рис. 8.
Определение угла наклона текста, анализ разметки, разделение текста на знаки и распознавание символов были описаны в предыдущих главах.
Группировка символов — процесс соединения двух или более символов в один. Эта процедура требуется для символов, состоящих из нескольких знаков, каждый из которых является символом сам по себе. Например, буква «Ы» может быть воспринята системой как два символа - «Ь» и «I». То же касается всех букв с надстрочными модификаторами («й», «ё», «ê» и другие).
Коррекция — использование словаря и фонетического анализатора для исправления неправильных сочетаний букв и несуществующих слов, которые возникают из-за ошибок распознавания на предыдущих этапах.
Можно создать набор модулей, каждый из которых производит определённое преобразование данных, и собрать из них ту или иную систему распознавания текста, которая будет отвечать потребностям конкретного пользователя. При условии наличия хорошо продуманных интерфейсов между модулями, можно менять их реализации, меняя функциональность системы, не затрагивая при этом остальные её части.
В качестве примера была создана программная реализация предложенной системы — СиРТ (Система Распознавания Текста). СиРТ представляет из себя несколько библиотек (по одной библиотеке на каждый модуль) и исполняемый файл, управляющий потоком информации между модулями. Международная версия СиРТ распространяется под названием «TRecS» (Text Recognition System), это же название используется в качестве внутреннего идентификатора. Всего было реализовано три модуля: разделение текста на знаки (библиотека TRecS_t2s), группировка знаков в строки и слова (библиотека TRecS_s2l) и распознавания символов (библиотека TRecS_net). Также была создана утилита TRecS_PatternGen, предназначенная для генерации обучающих последовательностей для нейронной сети. Модуль распознавания символов основан на неокогнитроне. Исходный текст программ находится в Приложении 1.