Глава 1. Глубокое обучение и JavaScript
45
z
z
Все эти проблемы с возможной задержкой и сетевыми соединениями решают
ся, если вывод выполнять на стороне клиента, ведь тогда данные не покидают
устройства, на котором производятся вычисления. Работа приложений машин
ного обучения реального времени, например маркирование объектов и обнару
жение людей на снимках с вебкамеры, возможна только при функционировании
модели исключительно на клиенте. Даже для приложений, у которых нет жестких
требований к задержке, снижение времени ожидания вывода модели приводит
к повышению быстроты реакции, а значит, к более приятному опыту взаимодей
ствия пользователя.
z
z
Защита персональных данных.
Еще одно преимущество того, что обучающие
данные и данные вывода не покидают клиент. Вопрос защиты персональной
информации обретает сейчас все больший вес. Для некоторых типов приложе
ний защита персональной информации — обязательное требование. Очевидный
пример — приложения, работающие с медицинскими и прочими связанными со
здоровьем пользователей данными. Представьте себе приложение для диагно
стики кожных заболеваний, собирающее снимки кожи пациентов с вебкамеры
и генерирующее возможные диагнозы с помощью глубокого обучения. Во многих
странах нормы защиты персональной информации в сфере медицины запрещают
перемещение подобных изображений для выполнения вывода на центральный
сервер. А благодаря выводу данных модели в браузере передавать какиелибо
сведения с пользовательского телефона и хранить их снаружи не требуется, что
гарантирует защиту персональных медицинских данных пользователей.
z
z
Представьте себе еще одно приложение на основе браузера, в котором применя
ется глубокое обучение для выдачи пользователям рекомендаций по улучшению
написанного ими текста. Некоторые используют это приложение для подготовки
важных материалов наподобие юридических документов и не хотели бы переме
щения информации на удаленный сервер по Интернету. А выполнение модели
исключительно в JavaScript браузера на стороне клиента — эффективный способ
решения проблемы.
z
z
Мгновенное ускорение с помощью WebGL.
Помимо доступности данных, для ра
боты моделей машинного обучения в браузере необходимы подходящие вычис
лительные мощности, которых обычно можно достичь с помощью GPU. Как уже
упоминалось ранее, многие передовые модели глубокого обучения требуют таких
вычислительных ресурсов, что без ускорения с помощью параллельных вычис
лений на GPU не обойтись (разве что пользователи готовы ждать по несколько
минут одногоединственного результата вывода, что редкость в случае реальных
приложений). К счастью, современные браузеры оснащены API WebGL, кото
рый хотя и предназначался изначально для ускорения визуализации двумерной
и трехмерной графики, но может использоваться для ускорения работы ней
ронных сетей при соответствующем распараллеливании вычислений. Авторы
TensorFlow.js заботливо подготовили библиотеку для ускорения вычислений
глубокого обучения с помощью WebGL, так что для использования этих возмож
ностей достаточно добавить одну строку импорта в JavaScript.
46
Do'stlaringiz bilan baham: |