В 2015 году TensorFlow был впервые представлен публике. TensorFlow - это платформа искусственного интеллекта Google, на которой разработчики могут создавать надежные приложения искусственного интеллекта. Сначала исследовательский проект превратился в нечто большее и ценное. В предварительном техническом документе TensorFlow: крупномасштабное машинное обучение в гетерогенных распределенных системах описаны все подробности об этом интерфейсе, от его операций до модели программирования, выполнения и многого другого. Сегодня мы собираемся раскрыть основную концепцию TensorFlow, его особенности, преимущества и где он используется.

Что такое TensorFlow?

TensorFlow - это программная библиотека с открытым исходным кодом для численных вычислений с использованием графов потоков данных. Первоначально она была разработана исследователями и инженерами, работающими в группе Google Brain Team в рамках исследовательской организации Google Machine Intelligence для целей проведения исследований машинного обучения и глубоких нейронных сетей, но система достаточно универсальна, чтобы быть применимой в самых разных областях, например хорошо. По сути, это классификатор, который может смотреть на изображение и классифицировать то, что на нем изображено. Другие примеры включают распознавание речи, Gmail, поиск и рекомендации Google, а также переводчик Google.

Компании, использующие TensorFlow, - это Airbnb, eBay, Dropbox, Intel, Google, Uber, Twitter и многие другие.

Преимущества включают:

  • Раздача из коробки
  • Работает на CPU, GPU, TPU и мобильных устройствах
  • Быстро и гибко
  • Легко начать

Прелесть TensorFlow в том, что вам не нужно разбираться в сложных математических моделях и алгоритмах оптимизации, необходимых для реализации глубоких нейронных сетей. Все, что вам нужно, - это загрузить образец кода, прочитать руководства, и вы сможете приступить к работе в кратчайшие сроки.

TensorFlow 1.0

С момента открытия прошло уже больше года, и он был радушно принят разработчиками по всему миру. TensorFlow помог исследователям, инженерам, художникам, студентам и многим другим добиться прогресса во всем, от языкового перевода до раннего выявления рака кожи и предотвращения слепоты у диабетиков. Новая версия более быстрая и гибкая. Он включает новый модуль tf.keras, который обеспечивает полную совместимость с Keras, другой популярной библиотекой нейронных сетей высокого уровня.

Игровая площадка TensorFlow

Чтобы понять, почему TensorFlow так интересен и прост в использовании, давайте поговорим о игровой площадке TensorFlow. TensorFlow Playground был разработан как инструмент, который поможет вам понять идею нейронных сетей без сложной математики. Здесь вы можете поиграть с реальной нейронной сетью, запущенной в вашем браузере, и нажимать кнопки и настраивать параметры, чтобы увидеть, как она работает.

Нейронная сеть - это механизм, реализованный с помощью базовой математики. Думайте о компьютере как о ребенке, которого вы учите распознавать изображения и числа. То же самое и с компьютером: вы тренируете систему, и она сделает много ошибок, прежде чем станет более сложной, чтобы приступить к решению реальных проблем.

Чтобы получить хорошие результаты с множеством комбинаций различных схем и алгоритмов сетей, требуется много проб и ошибок. Но в ближайшем будущем полностью управляемые распределенные услуги обучения и прогнозирования, такие как Google Cloud Machine Learning с TensorFlow, могут открыть для всех возможности больших и глубоких нейронных сетей.

Как начать

TensorFlow предоставляет множество руководств, объясняющих, как начать. Для разработчиков, плохо знакомых с TensorFlow, высокоуровневый API - хорошее место для начала. Чтобы узнать о высокоуровневом API, прочтите руководства здесь.

Поначалу TensorFlow может сбивать с толку, поэтому основатели создали утилиту для визуализации различных аспектов машинного обучения под названием TensorBoard. TensorBoard используется для визуализации вашего графика TensorFlow, построения количественных показателей выполнения вашего графика и отображения дополнительных данных, таких как изображения, которые проходят через него. Когда TensorBoard полностью настроен, это выглядит так:

TensorBoard имеет встроенный визуализатор, называемый Embedding Projector, для интерактивной визуализации и анализа многомерных данных, таких как вложения. Встраиваемый проектор прочитает вложения из файла контрольной точки вашей модели. Хотя он наиболее полезен для встраивания, он загружает любой 2D-тензор, включая ваши тренировочные веса. Более подробную информацию о TensorBoard: Embedded Visualization можно найти здесь.

Далее идет TensorBoard: визуализация графиков. Визуализация графика может помочь вам понять и отладить их. Вот пример визуализации в действии.

T2T

В понедельник, 19 июня 2017 года, TensorFlow объявил о выпуске Tensor2Tensor. Tensor2Tensor или T2T - это система с открытым исходным кодом для обучения моделей глубокого обучения в TensorFlow. T2T облегчает создание современных моделей для широкого спектра приложений машинного обучения, таких как перевод, синтаксический анализ, добавление подписей к изображениям и т. Д., Что позволяет исследовать различные идеи намного быстрее, чем это было возможно ранее.

Библиотека T2T построена с использованием знакомых инструментов TensorFlow и определяет несколько частей, необходимых в системе глубокого обучения: наборы данных, архитектуры моделей, оптимизаторы, схемы снижения скорости обучения, гиперпараметры и т. Д. По сути, вы можете выбрать любой набор данных, модель, оптимизатор и набор гиперпараметров и запустить обучение, чтобы проверить, как оно работает.

Машинное обучение… Вдохновляйтесь примерами

«ML - секретный соус для продуктов завтрашнего дня. Больше нет смысла иметь отдельные инструменты для исследователей в области машинного обучения и людей, которые разрабатывают настоящие продукты ». - говорит Грег Коррадо, старший научный сотрудник Google. Вот почему идея заключалась в создании единого набора инструментов, который исследователи могли бы использовать, чтобы опробовать свои идеи и внедрить их непосредственно в продукты без необходимости переписывать код.

Вот несколько примеров того, где использовался TensorFlow и насколько он стал полезным.

Морская биология

Австралийские морские биологи используют TensorFlow, чтобы находить морских коров на десятках тысяч фотографий в высоком разрешении, чтобы лучше понять их популяции, находящиеся под угрозой исчезновения.

Морская корова попадает в рыболовную сеть или теряет свой дом из-за прибрежного освоения, и за ними очень трудно уследить. Чтобы сохранить точные данные об их населении, ученые используют дроны для фотографирования океана. Но как быстро обнаружить на снимке морскую корову? Вот как нам пригодился TensorFlow. Система смогла обнаружить морских коров на десятках тысяч изображений, что избавило ученых от более длительной и более тяжелой ручной работы.

Фермерство

Предприимчивый японский фермер, выращивающий огурцы, обучил модель с помощью TensorFlow сортировать огурцы по размеру, форме и другим характеристикам.

Освоить сортировку - непростая задача, и на изучение системы уйдут месяцы. На рынке также есть несколько автоматических сортировщиков, но они имеют ограничения с точки зрения производительности и стоимости, и небольшие фермы, как правило, их не используют.

Использование глубокого обучения для распознавания изображений позволяет компьютеру узнать из набора обучающих данных, каковы важные «особенности» изображений. Используя иерархию множества искусственных нейронов, глубокое обучение может автоматически классифицировать изображения с высокой степенью точности. Таким образом, нейронные сети могут распознавать разные виды кошек или модели автомобилей или самолетов по изображениям.

В этом случае система использует Raspberry Pi 3 в качестве основного контроллера для получения изображений огурцов с помощью камеры, и на первом этапе запускает небольшую нейронную сеть на TensorFlow, чтобы определить, принадлежит ли изображение огурцу. . Затем он пересылает изображение в более крупную нейронную сеть TensorFlow, работающую на сервере Linux, для выполнения более подробной классификации.

Airbnb

Мы все использовали Airbnb. Им легко пользоваться, и это так удобно. Но знаете ли вы, что уникальная технологическая задача Airbnb - персонализировать каждый матч между гостем и хозяином?

Первоначально рейтинг поиска определялся набором жестко заданных правил, основанных на очень простых сигналах, таких как количество спален и цена. И поскольку они были жестко запрограммированы, правила применялись к каждому гостю единообразно, а не с учетом уникальных ценностей, которые могли создать такой индивидуальный опыт, который заставит гостей возвращаться.

Airbnb узнал, что машинное обучение можно использовать для этой персонализации. К концу 2014 года компания представила свою модель поискового ранжирования с машинным обучением и с тех пор постоянно ее совершенствует. Сегодня Airbnb персонализирует все результаты поиска.

С тех пор рекомендации, которые предоставляет Airbnb, расширились, и во внимание также принимаются такие вещи, как декор в доме или обстановке. Сотни сигналов вводятся в модель поискового ранга, которая затем алгоритм машинного обучения выясняет, как все сигналы взаимодействуют, для создания персонализированного поискового ранжирования.

Хотите запустить TensorFlow самостоятельно? Ознакомьтесь с этим учебником, где вы изучите основные строительные блоки. Здесь, в VCG, мы используем TensorFlow. Чтобы узнать, как мы можем вам помочь, нажмите Связаться с нами.