Глава 1. Глубокое обучение и JavaScript
43
данных, порой необходимых для обучения подобных моделей, удобнее произво
дить в прикладной части: например, из нативной файловой системы практически
неограниченного размера. До недавних пор глубокое обучение на JavaScript многие
считали диковинной новинкой. В этом разделе мы назовем причины, почему глубокое
обучение в среде браузера с помощью JavaScript имеет смысл для многих видов при
ложений, а также расскажем, какие уникальные возможности дает сочетание браузера
и мощи глубокого обучения, особенно с помощью TensorFlow.js.
Вопервых, по завершении обучения модели при ML ее необходимо гдето развер
нуть для предсказаний на реальных данных (например, классификации изображений
и текста, поиска событий в потоках аудио или видеоданных и т. д.). Без развертыва
ния обучение модели — пустая трата вычислительных ресурсов. При этом нередко
желательно или даже обязательно, чтобы это «гдето» было клиентской частью с веб
интерфейсом. Вероятно, вы понимаете важность браузеров в целом. На стационарных
компьютерах и ноутбуках браузер — основное средство доступа к контенту и сервисам
Интернета. Именно в них пользователи проводят б
о
льшую часть времени. И именно
с их помощью пользователи выполняют б
о
льшую часть своей повседневной работы,
связываются с друзьями и развлекаются. Широкий спектр работающих в браузере
приложений обеспечивает обширные возможности машинного обучения на стороне
клиента. Что касается мобильных клиентских частей, браузеры отстают от нативных
мобильных приложений в смысле вовлеченности пользователей и проводимого
времени. Но мобильные браузеры тем не менее заслуживают внимания изза более
широкого охвата аудитории, мгновенного доступа и более быстрого цикла разработ
ки
1
. На самом деле многие мобильные приложения, например Twitter и Facebook,
благодаря гибкости и простоте использования переходят на вебпредставление с ис
пользованием JavaScript для определенных типов контента.
Благодаря более широкому охвату аудитории браузер — логичный выбор для
развертывания моделей глубокого обучения, лишь бы в нем были доступны ожида
емые моделями виды данных. А какие виды данных доступны в браузерах? Очень
многие! Возьмем, например, наиболее популярные приложения глубокого обучения:
классификацию и обнаружение объектов в изображениях и видео, текстовую рас
шифровку речи, перевод с одного естественного языка на другой и анализ тексто
вого контента. Браузеры оснащены, вероятно, наиболее исчерпывающим набором
технологий и API для отображения (и, с разрешения пользователя, захвата) тексто
вых, визуальных, аудио и видеоданных. В результате можно использовать многие
впечатляющие модели глубокого обучения непосредственно в браузере, скажем,
с помощью TensorFlow.js и простых средств преобразования. В последующих главах
мы рассмотрим множество конкретных примеров развертывания моделей глубокого
обучения в браузере. Например, после захвата изображений с вебкамеры можно
запустить MobileNet с помощью TensorFlow.js для маркирования объектов, YOLO2
для отрисовки рамок вокруг обнаруженных объектов, Lipnet для чтения по губам
или сеть CNNLSTM для добавления названий изображений.
После захвата аудио с микрофона с помощью API WebAudio браузера можно
запустить модели для распознавания устной речи в режиме реального времени,
1
Borde R.
Internet Time Spend in Mobile Apps, 2017–19: It’s 8x than Mobile Web // DazeInfo,
12 Apr. 2017. http://mng.bz/omDr.
44
Do'stlaringiz bilan baham: |