Представив в ноябре 2015 года программное обеспечение с открытым кодом TensorFlow, компания Google сумела заинтересовать потенциальных пользователей, и сегодня эта технология становится все более популярной.
Библиотека программного обеспечения для машинного обучения представляет собой новое поколение внутренней технологии DistBelief, которая была разработана командой Google Brain для множества задач, включая поиск изображений и улучшение алгоритмов распознавания речи.
TensorFlow — это нейронная сеть, которая учится решать задачи путем позитивного усиления и обрабатывает данные на различных уровнях (узлах), что помогает находить верный результат.
Открыв исходный код библиотеки машинного обучения TensorFlow, в Google упростили процесс построения и развертывания сложных нейронных сетей |
Открыв исходный код библиотеки машинного обучения TensorFlow, в Google упростили процесс построения и развертывания сложных нейронных сетей. TensorFlow не предоставляет каждому разработчику возможности воспользоваться плодами машинного обучения, но предлагает интерфейсы API для языков Python и C/C++, позволяющие подключаться к программе разработчика.
Машинное обучение такого рода предназначено исключительно для исследовательских целей, но благодаря программному обеспечению с открытым кодом наподобие TensorFlow предприятие получает мощные средства для использования своих собственных данных и их обработки в дешевой облачной среде.
Библиотеки TensorFlow заметно упрощают встраивание в приложения самообучаемых элементов и функций искусственного интеллекта, предназначенных для распознавания речи, организации компьютерного зрения или обработки естественного языка.
Конечно, TensorFlow не единственная библиотека глубинного обучения, но, как и поисковый механизм Google, она считается лучшей в своем классе. Альтернативами являются программное обеспечение Torch, созданное швейцарскими исследователями, и разработка Калифорнийского университета в Беркли Caffe, последняя версия которой, Caffe2, была спроектирована при участии Facebook.
Согласно информации, опубликованной на сайте TensorFlow, библиотеку использует целый ряд крупных компаний, в том числе Airbnb, Airbus, Dropbox, Snapchat и Uber (правда, возможно, и не лучшим для себя способом).
Между тем продолжаются поиски новых сценариев. Одной из компаний, не побоявшихся обратиться к TensorFlow, является британский электронный супермаркет Ocado.
Его команда исследователей данных применяет библиотеку для самых разных целей, начиная от алгоритмов маршрутизации роботов, перемещающихся по складам, и заканчивая улучшением прогнозирования спроса (которое пока базируется на алгоритмах линейной регрессии десятилетней давности) и предложением покупателям товаров в соответствии с их недавними предпочтениями.
Поначалу TensorFlow в Ocado использовали для управления электронной почтой, поступающей в контактный центр. Изначально все письма обрабатывались последовательно, независимо от их приоритета. Осложнения возникали в плохую погоду, когда количество писем увеличивалось в три-четыре раза, а их доставка превращалась в серьезную проблему.
«Руководство хотело понять, какие письма имеет смысл обрабатывать первыми, но для этого требовались средства распознавания естественного языка, чтобы оценивать их настроение и анализировать смысл», — вспоминает глава направления данных Ocado Technology Дэн Нельсон.
Заказывать Google готовую технологию обработки естественного языка в Ocado посчитали нецелесообразным и решили обратиться к библиотеке TensorFlow.
Но компания Ocado все же стала клиентом Google и использует сервис BigQuery в Google Cloud для обработки своих запросов и организации хранения. По словам Нельсона, развертывание TensorFlow с помощью Google заметно упростило стоящую перед компанией задачу. «Без использования облака нам пришлось бы устанавливать у себя очень серьезное оборудование, а с облачными сервисами все стало гораздо проще, — заметил он. — В общем случае обращаться к Google не обязательно, но если у компании имеются тензорные процессоры, то лучше это сделать».
Говоря о предлагаемом инструменте, Нельсон реально оценивает ситуацию: «По сути, TensorFlow позволяет через библиотеки получать доступ к различным моделям обучения. Их придется осваивать и адаптировать, однако это ускорит ваш процесс обучения. TensorFlow не решает проблем, но предоставляет набор инструментов, позволяющий абстрагироваться от сложности нейронной сети и использовать ее для решения стоящих перед вами задач».