TensorFlow
Тип | бібліотека для машинного навчання |
---|---|
Розробник | Команда Google Brain[1] |
Перший випуск | 9 листопада 2015 |
Стабільний випуск | 1.0[2] (15 лютого 2017 ) |
Платформа | Linux, macOS, Windows |
Операційна система | Windows, Linux, macOS, iOS і Android |
Мова програмування | Python, C++ |
Стан розробки | Активний |
Ліцензія | Відкрита ліцензія Apache 2.0 |
Онлайн-документація | tensorflow.org/learn tensorflow.org/api_docs |
Репозиторій | github.com/tensorflow/tensorflow |
Вебсайт | www.tensorflow.org |
TensorFlow — відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.[4] Її наразі застосовують як для досліджень, так і для розробки продуктів Google,[4] [5] [4] часто замінюючи на його ролі її закритого попередника, DistBelief. TensorFlow було початково розроблено командою Google Brain для внутрішнього використання в Google, поки її не було випущено під відкритою ліцензією Apache 2.0 9 листопада 2015 року.[1][6]
Починаючи з 2011 року, Google Brain будувала DistBelief як власницьку систему машинного навчання на основі нейронних мереж глибокого навчання. Її використання швидко росло в різноманітних компаніях Alphabet як у дослідницьких, так і в комерційних застосуваннях.[5][7] Google призначила декількох інформатиків, включно з Джеффом Діном, спростити та переробити кодову основу DistBelief на швидшу, надійнішу бібліотеку рівня застосунків, якою стала TensorFlow.[8] 2009 року команда під проводом Джефрі Гінтона реалізувала узагальнене зворотне поширення та інші вдосконалення, які дозволити породжувати нейронні мережі з суттєво вищою точністю, наприклад, зниженням похибки в розпізнаванні мовлення на 25 %.[9]
TensorFlow є системою машинного навчання Google Brain другого покоління, випущеною як відкрите програмне забезпечення 9 листопада 2015 року. В той час як еталонна реалізація[en] працює на одиничних пристроях, TensorFlow може працювати на декількох центральних та графічних процесорах (включно з додатковими розширеннями CUDA для обчислень загального призначення на графічних процесорах).[10] TensorFlow доступна для 64-розрядних Linux, macOS, Windows, та для мобільних обчислювальних платформ, включно з Android та iOS.
Обчислення TensorFlow виражаються як станові[en] графи потоків даних. Назва TensorFlow походить від операцій, що такі нейронні мережі виконують над багатовимірними масивами даних. Ці багатовимірні масиви називають «тензорами». В червні 2016 року Джефф Дін з Google заявив, що TensorFlow згадували 1 500 репозиторіїв на GitHub, лише 5 з яких були від Google.[11]
У травні 2016 року Google анонсувала свій тензорний процесор (ТП, англ. tensor processing unit, TPU), спеціалізовану мікросхему, побудовану спеціально для машинного навчання, й підігнану під TensorFlow. ТП є програмованим ШІ-прискорювачем, розробленим для забезпечення високої продуктивності в арифметиці низької точності (наприклад, 8-бітній), і спрямованим радше на використання або виконання моделей, аніж на їхнє тренування. Google оголосила, що вони використовували ТП у своїх центрах обробки даних понад рік, і виявили, що вони забезпечують для машинного навчання на порядок краще оптимізовану продуктивність на ват[en].[12]
TensorFlow забезпечує ППІ для Python [Архівовано 22 листопада 2015 у Wayback Machine.], а також для C++ [Архівовано 6 червня 2017 у Wayback Machine.], Haskell [Архівовано 1 травня 2019 у Wayback Machine.], Java [Архівовано 21 лютого 2017 у Wayback Machine.] та Go [Архівовано 21 лютого 2017 у Wayback Machine.].
Платформа спочатку розроблена командою Google Brain і використовуються в сервісах Google для розпізнавання мови, виділення облич на фотографіях, визначення схожості зображень, відсіювання спаму в Gmail, підбору новин у Google News і організації перекладу з урахуванням контексту. Розподілені системи машинного навчання можна створювати на типовому обладнанні, завдяки вбудованій підтримці в TensorFlow рознесення обчислень на кілька CPU або GPU.
Серед застосувань, для яких TensorFlow є основою, є програмне забезпечення автоматизованого опису зображень, таке як DeepDream.[13] 26 жовтня 2015 року Google офіційно реалізувала RankBrain[en], який підтримує TensorFlow. RankBrain тепер обробляє суттєве число пошукових записів, замінюючи та доповнюючи традиційні статичні алгоритми на основі результатів пошуку.[14]
Іншими застосуванням є використання у складі програм FakeApp[15] з метою безшовного поєднання фото- та відеозображень для створення підробних, але правдоподібних відео, відомих під назвою Deepfake.
TensorFlow надає бібліотеку готових алгоритмів чисельних обчислень, реалізованих через графи потоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графу представляють багатовимірні масиви даних (тензори), які перетікають між вузлами. Вузли можуть бути закріплені за обчислювальними пристроями і виконуватися асинхронно, паралельно обробляючи разом все підходящі до них тензори, що дозволяє організувати одночасну роботу вузлів в нейронної мережі за аналогією з одночасною активацією нейронів в мозку.
Інтеграція TensorFlow з Python забезпечується не лише через pip, а й у дистрибутиві Anaconda.
- ↑ а б Credits. TensorFlow.org. Архів оригіналу за 17 листопада 2015. Процитовано 10 листопада 2015. (англ.)
- ↑ Announcing TensorFlow 1.0. Google Developers Blog (амер.). Архів оригіналу за 11 травня 2017. Процитовано 16 лютого 2017. (англ.)
- ↑ https://opensource.google.com/projects/tensorflow
- ↑ а б в «TensorFlow: Open source machine learning» [Архівовано 15 грудня 2016 у Wayback Machine.] «It is machine learning software being used for various kinds of perceptual and language understanding tasks» — Джеффрі Дін, хв. 0:47—2:17 з кліпу YouTube (англ.)
- ↑ а б Dean, Jeff; Monga, Rajat та ін. (9 листопада 2015). TensorFlow: Large-scale machine learning on heterogeneous systems (PDF). TensorFlow.org. Google Research. Архів оригіналу (PDF) за 19 квітня 2020. Процитовано 10 листопада 2015. (англ.)
- ↑ Metz, Cade (9 листопада 2015). Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired. Архів оригіналу за 9 листопада 2015. Процитовано 10 листопада 2015. (англ.)
- ↑ Perez, Sarah (9 листопада 2015). Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch. Архів оригіналу за 10 листопада 2015. Процитовано 11 листопада 2015. (англ.)
- ↑ Oremus, Will (11 листопада 2015). What Is TensorFlow, and Why Is Google So Excited About It?. Slate. Архів оригіналу за 10 листопада 2015. Процитовано 11 листопада 2015. (англ.)
- ↑ Ward-Bailey, Jeff (25 листопада 2015). Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor. Архів оригіналу за 25 листопада 2015. Процитовано 25 листопада 2015. (англ.)
- ↑ Metz, Cade (10 листопада 2015). TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World. Wired. Архів оригіналу за 11 листопада 2015. Процитовано 11 листопада 2015. (англ.)
- ↑ Machine Learning: Google I/O 2016 Minute 07:30/44:44 [Архівовано 21 грудня 2016 у Wayback Machine.] accessdate=2016-06-05 (англ.)
- ↑ Jouppi, Norm. Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Архів оригіналу за 18 травня 2016. Процитовано 19 травня 2016. (англ.)
- ↑ Byrne, Michael (11 листопада 2015). Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice. Архів оригіналу за 23 листопада 2015. Процитовано 11 листопада 2015. (англ.)
- ↑ Woollaston, Victoria (25 листопада 2015). Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail. Архів оригіналу за 25 листопада 2015. Процитовано 25 листопада 2015. (англ.)
- ↑ FakeApp: Finally, a Program that Will Let You Seamlessly Put Donald Trump in Porn!. Reason.com (англ.). 25 січня 2018. Архів оригіналу за 22 березня 2018. Процитовано 24 березня 2018.
- Офіційний сайт (англ.)
- TensorFlow на GitHub (англ.)
- Програмне забезпечення за алфавітом
- Програмне забезпечення глибокого навчання
- Вільне програмне забезпечення на C++
- Вільне програмне забезпечення на Python
- Безплатне статистичне програмне забезпечення
- Відкритий штучний інтелект
- Наукові бібліотеки для Python
- Програмне забезпечення, що використовує ліцензію Apache
- Програмне забезпечення 2015