Перейти к содержанию

TensorFlow

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
TensorFlow
Тип Библиотека для машинного обучения
Написана на Python, C++, CUDA
Языки интерфейса en-US
Аппаратная платформа Linux, macOS, Windows
Последняя версия 2.9.1 (23 мая 2022)[1]
Состояние Активна

TensorFlow — открытая программная библиотека для машинного обучения, разработанная компанией Google для решения задач построения и тренировки нейронной сети с целью автоматического нахождения и классификации образов, достигая качества человеческого восприятия[2]. Применяется как для исследований, так и для разработки собственных продуктов Google. Основной API для работы с библиотекой реализован для Python, также существуют реализации для R, C Sharp, C++, Haskell, Java, Go и Swift.

Является продолжением закрытого проекта DistBelief[⇨]. Изначально TensorFlow была разработана командой Google Brain для внутреннего использования в Google, в 2015 году система была переведена в свободный доступ с открытой лицензией Apache 2.0[3][4].

История

DistBelief

Закрытая система машинного обучения DistBelief разрабатывалась Google Brain для внутренних проектов с 2011 года для работы с нейронными сетями глубокого обучения. Она стала использоваться во многих исследовательских и коммерческих проектах группы фирм холдинга Alphabet[5][6]. После успеха DistBelief, фирма Google решила вывести проект на новый уровень, и для рефакторинга выделила группу из нескольких разработчиков, в которую вошёл Джефф Дин; целью группы было упрощение и оптимизация кодов библиотеки, увеличение надёжности и удобства пользования. Новая библиотека получила название TensorFlow[7]. В 2013 году к проекту присоединился Джеффри Хинтон — учёный, под руководством которого в 2009 году был создан метод обобщённого обратного распространения ошибки и ряд других улучшений, позволившие существенно улучшить точность нейронных сетей (что привело, в частности, к снижению погрешности в распознавании речи на 25 %)[8].

TensorFlow

TensorFlow 9 ноября 2015 года был открыт для свободного доступа. TensorFlow является системой машинного обучения Google Brain второго поколения. В то время как эталонная реализация работает на единичных устройствах, TensorFlow может работать на многих параллельных процессорах, как CPU, так и GPU, опираясь на архитектуру CUDA для поддержки вычислений общего назначения на графических процессорах.[9] TensorFlow доступна для 64-разрядных Linux, macOS, Windows, и для мобильных вычислительных платформ, включая Android и iOS.

Вычисления TensorFlow выражаются в виде потоков данных через граф состояний. Название TensorFlow происходит от операций с многомерными массивами данных, которые также называются «тензорами». В июне 2016 года Джефф Дин из Google отметил, что к TensorFlow обращались 1500 репозиториев на GitHub, и только 5 из них были от Google.[10]

Тензорный процессор

В мае 2016 года Google сообщила о применении для задач глубинного обучения аппаратного ускорителя собственной разработки — тензорного процессора (TPU) — специализированной интегральной схемы, адаптированной под задачи для TensorFlow, и обеспечивающей высокую производительность в арифметике пониженной точности (например, для 8-битных процессоров) и направленной скорее на применение моделей, чем на их обучение[источник не указан 1216 дней].

Сообщалось, что после использования TPU в собственных задачах Google по обработке данных удалось добиться на порядок лучших показателей продуктивности на ватт затраченной энергии[11].

TensorFlow 2.0

Поскольку доля рынка TensorFlow среди исследовательских работ сокращалась в пользу PyTorch, команда TensorFlow объявила о выпуске новой основной версии библиотеки в сентябре 2019 года. Изменил схему автоматического дифференцирования со статического вычислительного графа на схему «Определить-запуском», первоначально ставшую популярной благодаря Chainer, а затем PyTorch.[12]

Применение

TensorFlow хорошо подходит для автоматизированной аннотации изображений в таких системах как DeepDream[англ.][13]. Также с 26 октября 2015 года Google использует систему RankBrain для увеличения релевантности ранжировки поисковой выдачи Google. RankBrain основан на TensorFlow[14].

TensorFlow позволяет проводить обучение генеративно-состязательных сетей (GAN)[15].

Интеграция TensorFlow с Python обеспечивается дистрибутивом Anaconda.

См. также

Примечания

  1. TensorFlow 2.9.1.
  2. «TensorFlow: Open source machine learning» Архивная копия от 15 декабря 2016 на Wayback Machine «It is machine learning software being used for various kinds of perceptual and language understanding tasks» — Jeffrey Dean, отрезок 0:47—2:17 (англ.)
  3. Credits. TensorFlow.org. Дата обращения: 10 ноября 2015. Архивировано 17 ноября 2015 года.
  4. Cade Metz. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired (9 ноября 2015). Дата обращения: 10 ноября 2015. Архивировано 9 ноября 2015 года.
  5. Dean, Jeff; Monga, Rajat; Ghemawat, Sanjay TensorFlow: Large-scale machine learning on heterogeneous systems. TensorFlow.org. Google Research (November 9, 2015). Дата обращения: 10 ноября 2015. Архивировано 20 ноября 2015 года.
  6. Perez, Sarah Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch (November 9, 2015). Дата обращения: 11 ноября 2015. Архивировано 10 ноября 2015 года.
  7. Oremus, Will What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (November 11, 2015). Дата обращения: 11 ноября 2015. Архивировано 10 ноября 2015 года.
  8. Ward-Bailey, Jeff Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor (November 25, 2015). Дата обращения: 25 ноября 2015. Архивировано 25 ноября 2015 года.
  9. TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World, Wired (November 10, 2015). Архивировано 11 ноября 2015 года. Дата обращения 11 ноября 2015.
  10. Machine Learning: Google I/O 2016 Minute 07:30/44:44 Архивная копия от 21 декабря 2016 на Wayback Machine accessdate=2016-06-05 (англ.
  11. Jouppi, Norm Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Дата обращения: 19 мая 2016. Архивировано 18 мая 2016 года.
  12. The State of Machine Learning Frameworks in 2019 (англ.). The Gradient (10 октября 2019). Дата обращения: 19 августа 2022.
  13. Byrne, Michael Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice (November 11, 2015). Дата обращения: 11 ноября 2015. Архивировано 23 ноября 2015 года.
  14. Woollaston, Victoria Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail (November 25, 2015). Дата обращения: 25 ноября 2015. Архивировано 25 ноября 2015 года.
  15. Generative Adversarial Networks Explained with a Classic Spongebob Squarepants Episode Plus a Tensorflow tutorial for implementing your own GAN. Дата обращения: 25 июля 2017. Архивировано 5 июля 2017 года.

Литература

  • Орельен Жерон. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow. Концепции, инструменты и техники для создания интеллектуальных систем = Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques for Building Intelligent Systems. — Вильямс, 2018. — 688 с. — ISBN 978-5-9500296-2-2, 978-1-491-96229-9.
  • Джулли А., Пал С. Библиотека Keras — инструмент глубокого обучения. Реализация нейронных сетей с помощью библиотек Theano и TensorFlow = Deep learning with Keras. — ДМК-Пресс, 2017. — 294 с. — ISBN 978-5-97060-573-8.

Ссылка