TensorFlow
TensorFlow | |
---|---|
![]() | |
Тип | Библиотека для машинного обучения |
Разработчик | Команда Google Brain |
Написана на | Python, C++, CUDA |
Операционные системы | Windows, Linux, macOS, iOS и Android |
Языки интерфейса | en-US |
Первый выпуск | 9 ноября 2015 |
Аппаратные платформы | Linux, macOS, Windows |
Последняя версия | 1.7.0 (30 марта 2018 ) |
Репозиторий | github.com/tensorflow/te… |
Состояние | Активна |
Лицензия | 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[англ.][11]. 26 октября 2015 года Google официально реализовала RankBrain, который поддерживает TensorFlow. RankBrain обрабатывает существенное число поисковых записей, заменяя и дополняя традиционные статические алгоритмы на основе результатов поиска[12].
TensorFlow позволяет проводить обучение генеративно-состязательных сетей (GAN)[13].
См. также
Примечания
- ↑ «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.
- ↑ Metz, Cade. Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine . Wired (9 ноября 2015). Дата обращения: 10 ноября 2015.
- ↑ Ghemawat, Sanjay; Monga, Rajat; Dean, Jeff. TensorFlow: Large-scale machine learning on heterogeneous systems . TensorFlow.org. Google Research (9 ноября 2015). Дата обращения: 10 ноября 2015.
- ↑ Perez, Sarah. Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More . TechCrunch (9 ноября 2015). Дата обращения: 11 ноября 2015.
- ↑ Oremus, Will. What Is TensorFlow, and Why Is Google So Excited About It? (англ.). Slate (11 ноября 2015). Дата обращения: 11 ноября 2015.
- ↑ Ward-Bailey, Jeff. Google chairman: We’re making 'real progress' on artificial intelligence . CSMonitor (25 ноября 2015). Дата обращения: 25 ноября 2015.
- ↑ Metz, Cade (2015-11-10). TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World. Wired. Дата обращения: 2015-11-11.
- ↑ 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 (11 ноября 2015). Дата обращения: 11 ноября 2015.
- ↑ Woollaston, Victoria. Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public . DailyMail (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 (англ.)
- Программное обеспечение по алфавиту
- Программное обеспечение, разработанное в 2015 году
- Прикладное машинное обучение
- Свободное программное обеспечение, написанное на C++
- Свободное программное обеспечение, написанное на Python
- Применение искусственного интеллекта
- Искусственные нейронные сети
- Анализ данных
- Цифровая обработка изображений
- Машинное обучение
- Библиотеки Python
- Программное обеспечение с лицензией Apache Software License