TensorFlow

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
TensorFlow
TensorFlowLogo.svg
Tensorflow logo.svg
Тип Библиотека для машинного обучения
Разработчик Google Brain[1]
Написана на Python, C++, CUDA
Операционная система Microsoft Windows, Linux, macOS, iOS и Android
Языки интерфейса en-US
Первый выпуск 9 ноября 2015
Аппаратная платформа Linux, macOS, Windows
Последняя версия
Состояние Активна
Лицензия Apache License 2.0[3]
Сайт tensorflow.org
Commons-logo.svg Медиафайлы на Викискладе

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

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

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

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

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

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

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-битной архитектуры) и направленной скорее на применение моделей, чем на их обучение.

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

Применение[править | править код]

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

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

См. также[править | править код]

Примечания[править | править код]

  1. http://bits.blogs.nytimes.com/2015/11/09/google-offers-free-software-in-bid-to-gain-an-edge-in-machine-learning/
  2. Release 1.13.0 — 2019.
  3. The tensorflow Open Source Project on Open Hub: Licenses Page — 2006.
  4. «TensorFlow: Open source machine learning» «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.
  6. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired (November 9, 2015). Дата обращения 10 ноября 2015.
  7. TensorFlow: Large-scale machine learning on heterogeneous systems. TensorFlow.org. Google Research (November 9, 2015). Дата обращения 10 ноября 2015.
  8. Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch (November 9, 2015). Дата обращения 11 ноября 2015.
  9. What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (November 11, 2015). Дата обращения 11 ноября 2015.
  10. Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor (November 25, 2015). Дата обращения 25 ноября 2015.
  11. TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World, Wired (November 10, 2015). Дата обращения 11 ноября 2015.
  12. Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05 (англ.
  13. Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Дата обращения 19 мая 2016.
  14. Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice (November 11, 2015). Дата обращения 11 ноября 2015.
  15. Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail (November 25, 2015). Дата обращения 25 ноября 2015.
  16. Generative Adversarial Networks Explained with a Classic Spongebob Squarepants Episode Plus a Tensorflow tutorial for implementing your own GAN

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

  • Орельен Жерон. Прикладное машинное обучение с помощью 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.

Ссылка[править | править код]