Содержание статьи
- 1Как ИИ распознаёт рукописный текст
- 1.1Получается, одна нейросеть может работать сразу снесколькими языками? Или накаждый язык своя нейронка? Получается, одна нейросеть может работать сразу с несколькими языками? Или на каждый язык — своя нейронка?
- 1.2Накакие этапы можно разделить твою работу сискусственным интеллектом? На какие этапы можно разделить твою работу с искусственным интеллектом?
- 1.3Икак часто нужно этим заниматься? И как часто нужно этим заниматься?
Как ИИ распознаёт рукописный текст
Получается, одна нейросеть может работать сразу снесколькими языками? Или накаждый язык своя нейронка? Получается, одна нейросеть может работать сразу с несколькими языками? Или на каждый язык — своя нейронка?
ШАД Яндекса. Это одно из лучших мест в стране для погружения в анализ данных. Туда нелегко поступить, но там сконцентрированы самые актуальные знания. Статья, которая вышла вчера, сегодня уже у тебя в домашке. Преподаватели очень сильные и сами работают в сфере. Например, команда Алисы рассказывает тебе, как обрабатывать звук, а команда управления беспилотниками — как работать с LiDAR-технологиями. У ШАДа есть хендбук по машинному обучению: если пока нет времени на то, чтобы учиться на программе, можно погружаться в своём темпе.
Затем модель создаёт следующий фрагмент текста, который она считает наиболее верным в контексте. Именно эту фразу пользователь увидит у себя на клавиатуре смартфона в строке подсказок. Процесс повторяется множество раз, чтобы сгенерировать полный текст или ответ на вопрос, если нейросеть встроена не в клавиатуру, а чат-помощник.
Если модель смотрит на один последний токен, это униграммная модель: она предсказывает следующее слово по последнему во фразе. Биграммные модели смотрят на два слова назад. Но технически количество слов, которые будут учитываться в предсказании, не ограничено. Поэтому модели могут быть n-граммными, где n — любое число. В сравнении с другими модели такого типа быстро работают и мало весят, особенно если значение n небольшое, а токен — буква или часть слова. Поэтому n-граммные модели активно используют в клавиатурах, чтобы персонализировать подсказки.
Любопытные картинки получаются, когда сети попадаются слова с множественными значениями. Скажем, «Red Square» — и «Красная площадь», и «красный квадрат». Нейросеть не могла знать, что именно от неё хотят, поэтому на всякий случай сгенерировала картинку «и нашим, и вашим» — красный квадрат, но со структурой брусчатки.
Часто распознавание рукописного текста — будто чтение записок сумасшедшего. Например, слово «шиншилла» бывает сложно прочитать даже людям. Это, кстати, любимое слово в нашей команде. У всех разный почерк, и это создаёт большую вариативность данных. Порой сам не понимаешь, что написано, а алгоритм каким-то образом понимает.
Выбор архитектуры. Здесь я читаю статьи, изучаю, какие решения существуют. Этот этап ресёрча съедает много времени, но он критически важный. Неправильно подобранная архитектура или какая-то не учтённая на старте деталь могут вылиться в большую головную боль. Придётся потратить много времени на исправление того, что не учёл в самом начале.
Накакие этапы можно разделить твою работу сискусственным интеллектом? На какие этапы можно разделить твою работу с искусственным интеллектом?
Что сигнализирует о том, что надо улучшать нейронку? Плохие метрики. Другой важный показатель — выход новых зарубежных статей. Каждый участник нашей команды мониторит разные источники, я обычно слежу за порталом Papers With Code. Мы все изучаем, что происходит в мире компьютерного зрения и распознавания символов.
Внедрение в продакшн. Чаще всего это переписывание модели на другой язык, её ускорение и сжатие, чтобы, например, она работала на мобильных устройствах. А потом я смотрю на онлайн-метрики и пытаюсь понять, насколько модель справляется с задачей в полевых условиях.
Понимания культурного контекста кремниевым мозгам, конечно, не хватает. Я предложил сетке сгенерировать обложку для книги «Снятся ли андроидам электроовцы?». В результате получилось изображение с двумя подключёнными к электросети смартфонами (видимо, на Android), на экране которых изображены овцы.
Для предсказания важен контекст, поэтому модель учится понимать, как слова в предложении связаны между собой и какие из них чаще встречаются вместе. На основе анализа и контекста модель предсказывает, какое слово или фразу логично было бы использовать дальше. За это отвечает декодер.
Первые полгода в Яндексе я занимался улучшением качества распознавания рукописного текста. А сейчас я встраиваю новые архитектурные аспекты в модели, чтобы они работали у всех пользователей, а не только у разработчиков. В общем, занимаюсь встраиванием новых решений и моделей в существующий код.
Мультимодальные модели. Например, новый сервис Яндекса «Нейро»: ты можешь отправить картинку и попросить определить, что на ней изображено, или посчитать объекты. Здесь идёт обработка твоего сообщения и картинки. Разные модальности могут улучшать друг друга, а такие нейронные сети становятся больше похожими на людей. Мы общаемся, слышим, видим — и хочется, чтобы нейронная сеть тоже умела работать с разными типами данных.
Икак часто нужно этим заниматься? И как часто нужно этим заниматься?
Скорее всего, вам достанется средней паршивости Tesla K80, на котором картинка в хорошем качестве считается полчаса–час. Но если повезёт (чаще всего это бывает ночью), можно заполучить и Tesla T4, а это уже означает ускорение почти на порядок плюс некоторые дополнительные возможности, о которых я скажу далее.
Владимир рассказывает: «Дальнейший процесс зависит от того, какую задачу мы хотим решить: если нейросеть анализирует предложение и должна выдать предложение, то языковая модель обновляет контекст новыми сгенерированными словами и снова предсказывает слово».
Нейросети стали обыденностью: студенты пишут курсовые с помощью ChatGPT, иллюстраторы рисуют в Midjourney, а Т9 регулярно предлагает неловкие автозамены. Технологиями заинтересовались и корпорации: например, РЖД провели конкурс цифрового искусства. Но что мы знаем о том, как нейросети работают с языком? Как видят слова и изображают их? Спросили у Владимира Морозова — разработчика машинного обучения в отделе обработки естественного языка «Яндекса».
Зависит от объёма информации, который способна выучить нейросеть. Она не всегда может распознавать два языка одинаково хорошо: это разные домены. Это то же самое, что учить нейросеть детектировать домашних котов и диких манулов: и там и там коты, но выглядят по-разному.
Книга Тарика Рашида «Создаём нейронные сети». Это была моя первая книга по нейронным сетям, и идеи, которые в ней изложены, зажгли во мне интерес к такого рода алгоритмам. Книга очень простая и с картинками. Подойдёт тем, кто только пытается войти в эту область.
Текст, в том числе рукописный, может быть изогнутым, перевёрнутым, напечатанным по кругу банки колы или написанным с орфографическими ошибками. Нейронная сеть обучалась на данных с правильным написанием. Если она встретит слово с перечёркиванием или кляксой, попытается ли она его исправить? А нужно ли нам вообще уметь исправлять такие кейсы? Всё зависит от решаемой задачи и от того, кому модель предназначается. Это в меру интересно и в меру сложно.