TensorFlow (TensorFlow)

Перейти к навигации Перейти к поиску
TensorFlow
Логотип программы TensorFlow
Тип Библиотека для машинного обучения
Разработчик Google Brain[2]
Написана на Python, C++, CUDA
Операционные системы Windows, Linux, macOS, iOS и Android
Языки интерфейса en-US
Первый выпуск 9 ноября 2015
Аппаратные платформы Linux, macOS, Windows
Последняя версия 2.16.1 (3 марта 2024)[1]
Репозиторий github.com/tensorflow/te…
Состояние Активна
Лицензия Apache License 2.0[3]
Сайт tensorflow.org
Логотип Викисклада Медиафайлы на Викискладе

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

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

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

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

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

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

[править | править код]

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

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

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

Применение

[править | править код]

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

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

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

Примечания

[править | править код]
  1. TensorFlow 2.16.1. Дата обращения: 16 мая 2023.
  2. http://bits.blogs.nytimes.com/2015/11/09/google-offers-free-software-in-bid-to-gain-an-edge-in-machine-learning/
  3. The tensorflow Open Source Project on Open Hub: Licenses Page — 2006.
  4. «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 (англ.)
  5. Credits. TensorFlow.org. Дата обращения: 10 ноября 2015. Архивировано 17 ноября 2015 года.
  6. Cade Metz. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired (9 ноября 2015). Дата обращения: 10 ноября 2015. Архивировано 9 ноября 2015 года.
  7. Dean, Jeff; Monga, Rajat; Ghemawat, Sanjay TensorFlow: Large-scale machine learning on heterogeneous systems. TensorFlow.org. Google Research (9 ноября 2015). Дата обращения: 10 ноября 2015. Архивировано 20 ноября 2015 года.
  8. Perez, Sarah Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch (9 ноября 2015). Дата обращения: 11 ноября 2015. Архивировано 10 ноября 2015 года.
  9. Oremus, Will What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (11 ноября 2015). Дата обращения: 11 ноября 2015. Архивировано 10 ноября 2015 года.
  10. Ward-Bailey, Jeff Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor (25 ноября 2015). Дата обращения: 25 ноября 2015. Архивировано 25 ноября 2015 года.
  11. Metz, Cade (2015-11-10). "TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World". Wired. Архивировано 11 ноября 2015. Дата обращения: 11 ноября 2015.
  12. Machine Learning: Google I/O 2016 Minute 07:30/44:44 Архивная копия от 21 декабря 2016 на Wayback Machine accessdate=2016-06-05 (англ.
  13. Jouppi, Norm Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Дата обращения: 19 мая 2016. Архивировано 18 мая 2016 года.
  14. The State of Machine Learning Frameworks in 2019 (англ.). The Gradient (10 октября 2019). Дата обращения: 19 августа 2022. Архивировано 10 октября 2019 года.
  15. Byrne, Michael Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice (11 ноября 2015). Дата обращения: 11 ноября 2015. Архивировано 23 ноября 2015 года.
  16. Woollaston, Victoria Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail (25 ноября 2015). Дата обращения: 25 ноября 2015. Архивировано 25 ноября 2015 года.
  17. 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.