Смекни!
smekni.com

Перечень сокращений, символов и специальных терминов 8 (стр. 8 из 15)

Веса увеличиваются на

,

(21)

где

- увеличение веса нейрона в позиции
матрицы весов
от
-й C-плоскости предыдущего слоя к
-й S-плоскости слоя
,
- коэффициент скорости обучения,
- значение матрицы
в позиции
,
- выходной сигнал нейрона в позиции
(
- центр,
- смещение относительно центра)
-й C-плоскости слоя
.

Матрица

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

Вес тормозящей связи от V-плоскости к S-плоскости вычисляется как

,

(22)

где

- вес тормозящей связи от
-й V-плоскости слоя
к
-й S-плоскости слоя
,
- номер плоскости в предыдущем C-слое (всего
плоскостей),
- смещение внутри области суммирования,
- радиус области суммирования (рецептивной области).

Центр рецептивной области

вычисляется как проекция обучаемого нейрона-представителя на C-плоскость (проекция вычисляется с учётом смещения и разряжения нейронов между слоями).

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

Связи от слоя

к слою
и от слоя
к слою
обучаются методом обучения без поощрения: каждая плоскость обучается в той мере, в которой она реагирует на поступающие сигналы. Для каждой плоскости выбирается не более одного нейрона-представителя. Соответственно, если плоскость не реагирует на сигналы определённого типа, то нейрон-представитель для неё не выбирается, она не участвует в обучении и продолжает игнорировать сигналы этого типа. Это отличает неокогнитрон от многослойного перцептрона, в котором обучаются все нейроны.

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

Связи от слоя

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

В обученной сети выходной сигнал самого активного нейрона во всём слое

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

В процессе обучения и в процессе распознавания было предложено[3] использовать разные значения θl. Высокое значение — при обучении (чтобы сеть была более разборчива) и низкое значение — при распознавании (чтобы сеть реагировала на максимально возможное число стимулов).

2.3 Выводы

Проходя через несколько стадий обработки, на каждой из которых точка происхождения сигнала может смещаться благодаря наличию рецептивных областей и тому факту, что S-плоскости воспринимают «свои» сигналы из любой точки предыдущих C-плоскостей, а также потому, что сигналы подвергаются размытию в C-плоскостях. Это смещение позволяет неокогнитрону в определённой степени игнорировать деформацию символов.

3 Модульная система распознавания текста

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

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

Поток информации не обязательно должен быть линейным. Например, можно использовать альтернативные методы распознавания символов, если набор знаков, извлекаемый из документа, содержит большое число очень схожих символов (такая ситуация возникает при распознавании печатного текста). Часть такой нелинейной системы показана на рис. 8.

Определение угла наклона текста, анализ разметки, разделение текста на знаки и распознавание символов были описаны в предыдущих главах.

Группировка символов — процесс соединения двух или более символов в один. Эта процедура требуется для символов, состоящих из нескольких знаков, каждый из которых является символом сам по себе. Например, буква «Ы» может быть воспринята системой как два символа - «Ь» и «I». То же касается всех букв с надстрочными модификаторами («й», «ё», «ê» и другие).

Коррекция — использование словаря и фонетического анализатора для исправления неправильных сочетаний букв и несуществующих слов, которые возникают из-за ошибок распознавания на предыдущих этапах.

3.1 Выводы

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

4 Программная реализация

В качестве примера была создана программная реализация предложенной системы — СиРТ (Система Распознавания Текста). СиРТ представляет из себя несколько библиотек (по одной библиотеке на каждый модуль) и исполняемый файл, управляющий потоком информации между модулями. Международная версия СиРТ распространяется под названием «TRecS» (Text Recognition System), это же название используется в качестве внутреннего идентификатора. Всего было реализовано три модуля: разделение текста на знаки (библиотека TRecS_t2s), группировка знаков в строки и слова (библиотека TRecS_s2l) и распознавания символов (библиотека TRecS_net). Также была создана утилита TRecS_PatternGen, предназначенная для генерации обучающих последовательностей для нейронной сети. Модуль распознавания символов основан на неокогнитроне. Исходный текст программ находится в Приложении 1.