TensorFlow
TensorFlow — открытая программная библиотека для машинного обучения, разработанная компанией Google для решения задач построения и тренировки нейронной сети с целью автоматического нахождения и классификации образов, достигая качества человеческого восприятия[4]. Применяется как для исследований, так и для разработки собственных продуктов Google. Основной API для работы с библиотекой реализован для Python, также существуют реализации для R, C Sharp, C++, Haskell, Java, Go и Swift.
TensorFlow | |
---|---|
Тип | Библиотека для машинного обучения |
Разработчик | 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 |
Медиафайлы на Викискладе |
Является продолжением закрытого проекта 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[14]. Также с 26 октября 2015 года Google использует систему RankBrain для увеличения релевантности ранжировки поисковой выдачи Google. RankBrain основан на TensorFlow[15].
TensorFlow позволяет проводить обучение генеративно-состязательных сетей (GAN)[16].
Интеграция TensorFlow с Python обеспечивается дистрибутивом Anaconda.
См. также
Примечания
- http://bits.blogs.nytimes.com/2015/11/09/google-offers-free-software-in-bid-to-gain-an-edge-in-machine-learning/
- Release 2.8.0 — 2022.
- The tensorflow Open Source Project on Open Hub: Licenses Page — 2006.
- «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 (англ.)
- Credits . TensorFlow.org. Дата обращения: 10 ноября 2015.
- Cade Metz. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine . Wired (9 ноября 2015). Дата обращения: 10 ноября 2015.
- Dean, Jeff; Monga, Rajat; Ghemawat, Sanjay TensorFlow: Large-scale machine learning on heterogeneous systems . TensorFlow.org. Google Research (November 9, 2015). Дата обращения: 10 ноября 2015.
- Perez, Sarah Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More . TechCrunch (November 9, 2015). Дата обращения: 11 ноября 2015.
- Oremus, Will What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (November 11, 2015). Дата обращения: 11 ноября 2015.
- Ward-Bailey, Jeff Google chairman: We’re making 'real progress' on artificial intelligence . CSMonitor (November 25, 2015). Дата обращения: 25 ноября 2015.
- TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World, Wired (November 10, 2015). Дата обращения 11 ноября 2015.
- Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05 (англ.
- Jouppi, Norm Google supercharges machine learning tasks with TPU custom chip . Google Cloud Platform Blog. Дата обращения: 19 мая 2016.
- Byrne, Michael Google Offers Up Its Entire Machine Learning Library as Open-Source Software . Vice (November 11, 2015). Дата обращения: 11 ноября 2015.
- Woollaston, Victoria Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public . DailyMail (November 25, 2015). Дата обращения: 25 ноября 2015.
- 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.
Ссылка
- tensorflow.org — официальный сайт TensorFlow (англ.)
- Проект TensorFlow на сайте GitHub (англ.)