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

В статье TensorFlow: система для крупномасштабного машинного обучения, опубликованной Google Brain в 2016 году, приводится более полное описание TensorFlow: https://www.usenix.org/system/files/conference/osdi16. /osdi16-abadi.pdf

Аннотация. TensorFlow — это система машинного обучения, которая работает в больших масштабах и в гетерогенных средах. TensorFlow использует графы потоков данных для представления вычислений, общего состояния и операций, изменяющих это состояние. Он сопоставляет узлы графа потоков данных между многими машинами в кластере и внутри машины между несколькими вычислительными устройствами, включая многоядерные процессоры, графические процессоры общего назначения и специально разработанные ASIC, известные как блоки тензорной обработки (TPU). Эта архитектура дает разработчику приложений гибкость: в то время как в предыдущих конструкциях «сервера параметров» управление общим состоянием было встроено в систему, TensorFlow позволяет разработчикам экспериментировать с новыми алгоритмами оптимизации и обучения. TensorFlow поддерживает множество приложений с упором на обучение и логические выводы в глубоких нейронных сетях. Несколько сервисов Google используют TensorFlow в производстве, мы выпустили его как проект с открытым исходным кодом, и он стал широко использоваться для машинных вычислений. обучающее исследование. В этой статье мы описываем модель потока данных TensorFlow и демонстрируем непревзойденную производительность, которую TensorFlow обеспечивает для нескольких реальных приложений.

Меня интересует TensorFlow просто потому, что я пропустил встречу два года назад, когда Google организовал тренинг по использованию TensorFlow для машинного обучения в Киркланде. Я впервые услышал о TensorFlow. Я зарегистрировал событие, но из-за какого-то конфликта не успел. В то время я интересовался машинным обучением и начал слушать лекции на YouTube. Тем не менее, я не слишком углублялся, а только получил некоторое концептуальное представление о машинном обучении.

Сейчас я учусь на программе Data Science в школе Flatiron, и наш следующий модуль — машинное обучение. Я хочу узнать больше о TensorFlow, потому что считаю, что он будет очень полезен для машинного обучения.

После краткого напоминания о личных отношениях с TensorFlow позвольте мне познакомиться с ней более подробно.

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

Машинное обучение используется разнообразным сообществом разработчиков, предприятий и исследователей для решения реальных проблем. Их работа была основана на TensorFlow из-за нескольких основных преимуществ TensorFlow.

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

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

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

Благодаря этим преимуществам TensorFlow получил всемирное применение в машинном обучении в различных областях для решения сложных задач. Компании, использующие TensorFlow, включают Google, Airbnb, Intel, GE Healthcare, Twitter и другие. С марта 2019 года, когда Google выпустила свои курсы машинного обучения TensorFlow, разнообразное сообщество TensorFlow быстро завоевало популярность. Люди делятся работами, мыслями и помогают друг другу в применении Tensor. На веб-сайте сообщества TensorFlow есть множество ресурсов, таких как курсы, статьи, обсуждения, видео с выступлений на конференциях: https://www.tensorflow.org. На веб-сайте TensorFlow есть видеоролики, иллюстрирующие использование машинного обучения, глубокого обучения и TensorFlow для выявления респираторных заболеваний, лучшего прогнозирования экстремальных погодных условий и т. д. Я верю, что скоро он станет моим ЛУЧШИМ другом.

Я прошел базовый класс ML, предлагаемый на веб-сайте TensorFlow, Базовая классификация: классифицировать изображения одежды. (https://www.tensorflow.org/tutorials/keras/classification). Это был очень приятный опыт использования TensorFlow для проведения базовой классификации.

Модель классификации использует данные Fasion-MNIST, которые представляют собой набор изображений статей Zalando, состоящий из обучающего набора из 60 000 примеров и тестового набора из 10 000 примеров. Этот набор данных использовался сообществом специалистов по науке о данных в качестве эталона для проверки их алгоритмов.

После загрузки данных автор проводит нас через очень четкий и целостный случай классификации с использованием Tensorflow.keras. Первый шаг — изучить данные, чтобы понять набор данных. Во-вторых, обработал данные, масштабируя значения данных в диапазоне от 1 до 1 как для обучающих, так и для тестовых наборов данных для нейронной сети. Также автор постарался убедиться, что формат подходит для модели.

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

  • Функция потерь — измеряет, насколько точна модель во время обучения.
  • Оптимизатор — это то, как модель обновляется на основе данных, которые она видит, и ее функции потерь.
  • Метрики — используются для мониторинга этапов обучения и тестирования.

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

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

Весь процесс очень лаконичен благодаря использованию keras.Sequential для построения модели, использованию model.fit для подбора модели к обучающим данным и использованию model.evaluate для сравнения того, как модель работает с тестовым набором данных.

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

Я с нетерпением жду возможности часто применять TensorFlow в моем следующем модуле и в моей будущей работе!

Для дальнейшего понимания TensorFlow, вот статья Google Brain, опубликованная в 2016 году. https://www.usenix.org/system/files/conference/osdi16/osdi16-abadi.pdf

Использованная литература:

википедия: https://en.wikipedia.org/wiki/TensorFlow

Веб-сайт TensorFlow: https://www.tensorflow.org/about

Fashion-MNIST: https://github.com/zalandoresearch/fashion-mnist