Открытая программная библиотека для машинного обучения TensorFlow уже была доступна для языка Python, а новая версия для JavaScript позволяет осуществлять машинное обучение через браузер, пишет на портале InformationWeek учредитель консалтинговой фирмы Zimana Пьер Дюбуа.
Если во время дискуссии о машинном обучении вы услышите о TensorFlow, это может прозвучать как название бренда. Чего-то вроде Dodge Hemi или Ford Powerstroke. Эти оригинальные названия автомобильных двигателей могут служить уместной аналогией, поскольку TensorFlow, математическая вычислительная среда, которая поддерживает ряд протоколов глубоких нейронных сетей, может стать движком для анализа данных и алгоритмов, связанных с виртуальными собеседниками, «умными» устройствами и другими облачными сервисами.
С момента выпуска TensorFlow доступна для многих языков программирования науки о данных. Но в прошлом году два нововведения расширили сферу ее применения. Во-первых, это библиотека для создания моделей с помощью R, популярного открытого языка науки о данных, который поддерживается множеством статистических библиотек. Уже одно это прекрасно. Благодаря высокоуровневым функциям TensorFlow и таких связанных с ней библиотек нейронный сетей, как Keras, разработчики могут полнее сосредоточиться на точной настройке моделей с точки зрения синтаксиса программирования без глубокого знания статистики.
Больший интерес для специалистов в области маркетинга и бизнеса представляет другое нововведение — TensorFlow.JS, версия библиотеки для языка JavaScript. Она тоже позволяет создавать высокоуровневую модель машинного обучения, но более тесно интегрированную с данными на стороне клиента. С позиций современного программирования, клиентом может быть как интерфейс пользователя устройства или веб-приложения, так и браузер. Более того, приложения в той или иной форме опираются на JavaScript либо в своей конструкции, либо при вызове зависимостей в коде, либо при совместном использовании данных в формате JSON (JavaScript Object Notation). В конечном счете, маркетологи получили способ задействовать функционал машинного обучения, сотрудничая с программистами, использующими знакомый им синтаксис.
При разработке технологии как части облачной стратегии такая схема потенциально способна упростить перенос тестового скрипта в производственную среду. Поскольку машинное обучение применяется к локальным данным, имеется возможность тестировать данные в условиях, близких к реальной работе приложения, виртуального собеседника или облачного сервиса через браузер. TensorFlow.JS можно вызывать в качестве скрипта или зависимости Node.JS тем же способом, каким приложения и виртуальные собеседники вызывают другие популярные среды JavaScript. В результате будут сведены к минимуму ошибки программирования.
Еще одно преимущество заключается в том, что модель TensorFlow упрощает обслуживание данных и сокращает потребление вычислительных ресурсов. Маркетологи могут использовать это для планирования функций «умных» устройств и поддержки ими управления защитой данных.
Процесс использования результатов машинного обучения непрост. Данные не дают четкой картины, и их значение может быть неясным вне контекста модели. Но наличие нескольких заданных процессов, которые определяют, как синтаксис управляет данными, может упростить поток работ при предоставлении важных функций и внесении требуемых изменений.
Возьмем для примера отсев. Это протокол машинного обучения, в соответствии с которым переменная отфильтровывается из процесса обучения, когда статистика указывает, что данная переменная больше не может оказывать влияние. Фильтрация предотвращает вызываемое переобученностью смещение и не является уникальной для какой-то конкретной системы. Но производимая в TensorFlow обработка на высоком уровне делает поток работ более эффективным, смещая акцент на управление моделью и вычислительными ресурсами, что помогает выявить модель со смещением. Проекты в области машинного обучения могут требовать много времени для обучения на основе наблюдений. Поэтому адаптация моделей дает дополнительное преимущество в виде тайм-менеджмента.
Между TensorFlow.JS и TensorFlow, доступной для других языков программирования, имеются некоторых технические различия. В среде R или Python компилирование TensorFlow осуществляется с помощью графических процессоров, а TensorFlow.JS зависит от производительности браузера. Это может повлиять на скорость передачи и объем данных, необходимых для машинного обучения. Но для TensorFlow имеются вспомогательные платформы, увеличивающие аналитический потенциал, такие как Tensor Processing Unit (TPU) — облачный вариант, предназначенный для ускорения обучения моделей по сравнению с локальными машинами. Кроме того, в этом году на конференции TensorFlow Developer Summit были представлены уже обученные модели для классификации изображений, аудиозаписей и текстов.
Если вы интересуетесь перспективами глубокого обучения, но еще не приступили к работе с нейронными сетями, TensorFlow может стать подходящей средой для такой работы.