Подробное описание библиотеки содержится в статье [3], ниже представлен краткий обзор.Updates:
1) Опубликовано несколько бенчмарков на Hacker News, пока что не в пользу TensorFlow: [1], [2]
2) Комментарии от Яна Лекуна: [3], [4], [5] - вопрос к Jeff Dean на симпозиуме BayLearn
3) Опубликованы примеры работы с TensorFlow: github.com/nlintz/TensorFlow-Tutorials
4) Обсуждение возможных причин плохих результатов бенчмарков: reddit.com/r/MachineLearning/Google опубликовало библиотеку машинного обучения TensorFlow [6], [7]. TensorFlow - система второго поколения. Её предшественник - библиотека DistBelief была успешеным проектом, но имела существенные недостатки. Она была узко-специализирована в основном на нейронных сетях, была трудно конфигурируема, была тесно связана с инфраструктурой Google, что делало трудным сделать её общедоступной.
В отличии от DistBelief, TesnorFlow это фрэймворк, предоставляющий унифицированный интерфейс для различных методов машинного обучения, позволяющий строить модели в виде графа и включающий в себя имплементацию методов оптимизации этих моделей.
В Google TensorFlow используется в системах распознавания речи, для фильтрации спама в почте gmail, в системах поиска, для распознавания изображение в google photos.
Особенности
- Широкая поддержка Deep Learning
- Система легко расширяема и масштабируема (extensible and scalable). Однажды выраженные в виде графа вычисления могут быть легко перенесены как на портативные девайсы (телефоны, tablets), так и на мощные распределенные системы.
- Система поддерживает автоматическое вычисление градиентов для заданных пользователем cost functions (automatic differentiation)
Основные идеи
- Вычисления представлены в виде ориентированного графа (directed graph)
- Граф строится с помощью Python или C++ API
- Вычислительные операции представлены нодами (узлами) графа
- Ноды пересылают друг другу результаты вычислений в виде тензоров, представляющих собой многоразмерные типизированные мартицы ("arbitrary dimensionality arrays where the underlying element type is specified or inferred at graph-construction time" [3])
Пример построения графа может быть найден в статье [3]. Скриншот (нажмите мышкой чтобы увеличить картинку):
Open source аналоги TensorFlow - библиотеки mxnet, Torch. Theano.
Ссылки:
[1] Блог Google: TensorFlow - Google’s latest machine learning system, open sourced for everyone[2] Репозиторий на GitHub: https://github.com/tensorflow/tensorflow
[3] TensorFlow: Large-Scale Machine Learning on Heterogeneous Distributed Systems
[4] Статья на habrahabr
[5] Видео: Jeff Dean explains TensorFlow
[6] Обсуждение в [julia-users] mailing list: link
[7] Обсуждение на Hacker News
[8] "TensorFlow Disappoints – Google Deep Learning falls shallow" by Matthew Mayo
No comments:
Post a Comment