Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Хотя эта функция востребована немногими пользователями, всё же модуль Google Handwriting Input для клавиатуры Gboard позволяет набирать текст на мобильных устройствах с помощью рукописного ввода. Это полезно, например, при использовании цифрового пера. К моменту запуска в 2015 году функция работала с 82 языками, а за прошлый год их количество превысило сотню. Продолжая совершенствовать распознавание рукописного текста, наиболее заметного результата Google добилась с помощью машинного обучения.
В первоначальном подходе Google строка разбивалась на отдельные письменные символы, каждый из которых ассоциировался с несколькими вариантами подходящих букв, а затем подбирались наиболее вероятные слова. Теперь же происходит анализ последовательности ключевых точек с учётом временных меток и штрихов между ними, которая затем нормализируется и преобразуется в кубические кривые Безье. Этот процесс декодирования символов предоставляет вводные данные для многослойной рекуррентной нейронной сети (RNN). Экспериментируя с различными типами RNN, разработчики Google остановились на квазирекуррентных нейронных сетях (QRNN). Они обеспечивают лучшие результаты прогнозирования, что становится возможным благодаря чередованию свёрточных и рекуррентных слоёв.
Рекуррентная нейронная сеть создает матрицу, в которой каждый столбец соответствует одной входной кривой, а каждая строка соответствует букве в алфавите. Столбец для конкретной кривой можно рассматривать как распределение вероятностей по всем буквам алфавита (яркость ячейки соответствует степени вероятности). Однако каждая буква может состоять из нескольких кривых. Например, g и o на приведённом изображении состоят из четырёх и трёх кривых соответственно. Распознаватель на основе QRNN преобразует последовательность кривых в последовательность вероятностей символов. В матрице декодера встречаются в основном пробелы и яркие точки для символов «g» и «o», в результате чего выводится текст «go».
Новый подход позволил существенно, на 20–40 %, уменьшить количество ошибок при распознавании рукописного текста. Но для обеспечения удобного пользовательского окружения недостаточно добиться точной работы, её нужно сделать ещё и быстрой. Поэтому разработчики сконвертировали обученные в TensorFlow модели в модели TensorFlow Lite, вчетверо сократив нагрузку, и достигли минимальных задержек в клавиатуре Gboard при исполнении всех задач на самом мобильном устройстве.
Источник: