Как стать автором
Обновить

Комментарии 7

Круто. А с таким справится?
image

На фармацевта идёшь?

С таким и не каждый человек справится...

Добрый день, Дмитрий.
Мы обновили блокнот и добавили два дополнительных теста. К сожалению, возникли трудности с бинаризацией текста с вашего примера. Возникли они по двум причинам:

  1. Центр изображения в фокусе камеры, а края – нет.

  2. Присутствует клетка. Мы подготовили схожий пример на листе белой бумаги и отсканировали его. Как мы видим, модель находит схожие паттерны у букв «Л» и «М» и из-за этого ошибается на них.

Круто, что вы этим занимаетесь. Я понимаю, что если пытаться распознавать отдельные буквы вне контекста, то вы никогда не различите на письме сочетания "ши" и "иш", например. Но ведь LSTM работает со всей строкой целиком. Я правильно понимаю? Т.е. эта модель знает слова, а не только буквы?

LSTM работает не со строкой и ее элементами, она работает с последовательностью векторов признаков для каждого из кусочков изображения вдоль слова, полученных из сверточной части сети. Соответственно, одному символу в выходной последовательности может соответствовать один или несколько таких векторов. Каждый вектор классифицируется как символ (позже на этапе декодирования избавляемся от дублей), при классификации i-го вектора блок внутри LSTM получает информацию с предыдущих блоков, то, как эту информацию использовать, решает сама сеть с помощью т.н. "forget gate", соответственно, то насколько далеко LSTM "смотрит назад" определяет она сама, в том и прелесть нейронных сетей.
Итого: сеть может думать, как буквами и их сочетаниями, так и словами. Возможно, получится залезть в веса, отвечающие за "степень забывания" предыдущих элементов последовательности и выяснить, насколько далеко "в прошлое" сеть учитывает предыдущие элементы входной последовательности.
Вот хорошая статья, о том, как работает LSTM, механизм забывания там достойно описан: https://habr.com/ru/companies/wunderfund/articles/331310/

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации