TensorFlow

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
TensorFlow
Тип бібліотека для машинного навчання
Розробник Команда Google Brain[1]
Перший випуск 9 листопада 2015; 8 років тому (2015-11-09)
Стабільний випуск 1.0[2] (15 лютого 2017; 7 років тому (2017-02-15))
Платформа Linux, macOS, Windows
Операційна система Windows, Linux, macOS, iOS і Android
Мова програмування Python, C++
Стан розробки Активний
Ліцензія Відкрита ліцензія Apache 2.0
Онлайн-документація tensorflow.org/learn
Репозиторій github.com/tensorflow/tensorflow
Вебсайт www.tensorflow.org

TensorFlow — відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.[4] Її наразі застосовують як для досліджень, так і для розробки продуктів Google,‍[4]:хв. 0:15—2:17[5]:с. 2[4]:0:26—2:17 часто замінюючи на його ролі її закритого попередника, DistBelief. TensorFlow було початково розроблено командою Google Brain для внутрішнього використання в Google, поки її не було випущено під відкритою ліцензією Apache 2.0 9 листопада 2015 року.[1][6]

Історія[ред. | ред. код]

DistBelief[ред. | ред. код]

Починаючи з 2011 року, Google Brain будувала DistBelief як власницьку систему машинного навчання на основі нейронних мереж глибокого навчання. Її використання швидко росло в різноманітних компаніях Alphabet як у дослідницьких, так і в комерційних застосуваннях.[5][7] Google призначила декількох інформатиків, включно з Джеффом Діном, спростити та переробити кодову основу DistBelief на швидшу, надійнішу бібліотеку рівня застосунків, якою стала TensorFlow.[8] 2009 року команда під проводом Джефрі Гінтона реалізувала узагальнене зворотне поширення та інші вдосконалення, які дозволити породжувати нейронні мережі з суттєво вищою точністю, наприклад, зниженням похибки в розпізнаванні мовлення на 25 %.[9]

TensorFlow[ред. | ред. код]

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[en].[13] 26 жовтня 2015 року Google офіційно реалізувала RankBrain[en], який підтримує TensorFlow. RankBrain тепер обробляє суттєве число пошукових записів, замінюючи та доповнюючи традиційні статичні алгоритми на основі результатів пошуку.[14]

Іншими застосуванням є використання у складі програм FakeApp[15] з метою безшовного поєднання фото- та відеозображень для створення підробних, але правдоподібних відео, відомих під назвою Deepfake.

TensorFlow надає бібліотеку готових алгоритмів чисельних обчислень, реалізованих через графи потоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графу представляють багатовимірні масиви даних (тензори), які перетікають між вузлами. Вузли можуть бути закріплені за обчислювальними пристроями і виконуватися асинхронно, паралельно обробляючи разом все підходящі до них тензори, що дозволяє організувати одночасну роботу вузлів в нейронної мережі за аналогією з одночасною активацією нейронів в мозку.

Інтеграція TensorFlow з Python забезпечується не лише через pip, а й у дистрибутиві Anaconda.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. а б Credits. TensorFlow.org. Архів оригіналу за 17 листопада 2015. Процитовано 10 листопада 2015. (англ.)
  2. Announcing TensorFlow 1.0. Google Developers Blog (амер.). Архів оригіналу за 11 травня 2017. Процитовано 16 лютого 2017. (англ.)
  3. https://opensource.google.com/projects/tensorflow
  4. а б в «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 (англ.)
  5. а б Dean, Jeff; Monga, Rajat та ін. (9 листопада 2015). TensorFlow: Large-scale machine learning on heterogeneous systems (PDF). TensorFlow.org. Google Research. Архів оригіналу (PDF) за 19 квітня 2020. Процитовано 10 листопада 2015. (англ.)
  6. Metz, Cade (9 листопада 2015). Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine. Wired. Архів оригіналу за 9 листопада 2015. Процитовано 10 листопада 2015. (англ.)
  7. Perez, Sarah (9 листопада 2015). Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More. TechCrunch. Архів оригіналу за 10 листопада 2015. Процитовано 11 листопада 2015. (англ.)
  8. Oremus, Will (11 листопада 2015). What Is TensorFlow, and Why Is Google So Excited About It?. Slate. Архів оригіналу за 10 листопада 2015. Процитовано 11 листопада 2015. (англ.)
  9. Ward-Bailey, Jeff (25 листопада 2015). Google chairman: We’re making 'real progress' on artificial intelligence. CSMonitor. Архів оригіналу за 25 листопада 2015. Процитовано 25 листопада 2015. (англ.)
  10. Metz, Cade (10 листопада 2015). TensorFlow, Google's Open Source AI , Points to a Fast-Changing Hardware World. Wired. Архів оригіналу за 11 листопада 2015. Процитовано 11 листопада 2015. (англ.)
  11. Machine Learning: Google I/O 2016 Minute 07:30/44:44 [Архівовано 21 грудня 2016 у Wayback Machine.] accessdate=2016-06-05 (англ.)
  12. Jouppi, Norm. Google supercharges machine learning tasks with TPU custom chip. Google Cloud Platform Blog. Архів оригіналу за 18 травня 2016. Процитовано 19 травня 2016. (англ.)
  13. Byrne, Michael (11 листопада 2015). Google Offers Up Its Entire Machine Learning Library as Open-Source Software. Vice. Архів оригіналу за 23 листопада 2015. Процитовано 11 листопада 2015. (англ.)
  14. Woollaston, Victoria (25 листопада 2015). Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public. DailyMail. Архів оригіналу за 25 листопада 2015. Процитовано 25 листопада 2015. (англ.)
  15. FakeApp: Finally, a Program that Will Let You Seamlessly Put Donald Trump in Porn!. Reason.com (англ.). 25 січня 2018. Архів оригіналу за 22 березня 2018. Процитовано 24 березня 2018.

Посилання[ред. | ред. код]