TensorFlow

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
TensorFlow
TensorFlowLogo.svg
Tensorflow logo.svg
Тип Библиотека для машинного обучения
Разработчик Команда Google Brain
Написана на Python, C++, CUDA
Операционная система Microsoft Windows, Linux, macOS, iOS и Android
Языки интерфейса en-US
Первый выпуск 2015-11-09; 987 дней тому назад
Аппаратная платформа Linux, macOS, Windows
Последняя версия 1.7.0 (2018-03-30; 115 дней тому назад)
Состояние Активна
Лицензия Apache 2.0
Сайт tensorflow.org

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

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

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

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

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

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

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

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

Тензорный процессор (TPU)[править | править код]

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

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

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

Среди приложений, для которых TensorFlow является основой, является программное обеспечение автоматизированной аннотации изображений, такое как DeepDream[en][11]. 26 октября 2015 года Google официально реализовала RankBrain, который поддерживает TensorFlow. RankBrain обрабатывает существенное число поисковых записей, заменяя и дополняя традиционные статические алгоритмы на основе результатов поиска[12].

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

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

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

  1. «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 (англ.)
  2. Credits. TensorFlow.org. Проверено 10 ноября 2015.
  3. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired (November 9, 2015). Проверено 10 ноября 2015.
  4. TensorFlow: Large-scale machine learning on heterogeneous systems. TensorFlow.org. Google Research (November 9, 2015). Проверено 10 ноября 2015.
  5. Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch (November 9, 2015). Проверено 11 ноября 2015.
  6. What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (November 11, 2015). Проверено 11 ноября 2015.
  7. Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor (November 25, 2015). Проверено 25 ноября 2015.
  8. TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World, Wired (November 10, 2015). Проверено 11 ноября 2015.
  9. Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05 (англ.
  10. Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Проверено 19 мая 2016.
  11. Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice (November 11, 2015). Проверено 11 ноября 2015.
  12. Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail (November 25, 2015). Проверено 25 ноября 2015.
  13. 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.

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