TensorFlow — відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.«TensorFlow: Open source machine learning» «It is machine learning software being used for various kinds of perceptual and language understanding tasks» — Джеффрі Дін, хв. 0:47—2:17 з кліпу YouTube Її наразі застосовують як для досліджень, так і для розробки продуктів Google, часто замінюючи на його ролі її закритого попередника, DistBelief. TensorFlow було початково розроблено командою Google Brain для внутрішнього використання в Google, поки її не було випущено під відкритою ліцензією Apache 2.0 9 листопада 2015 року.
Історія
DistBelief Починаючи з 2011 року, Google Brain будувала DistBelief як власницьку систему машинного навчання на основі нейронних мереж глибокого навчання. Її використання швидко росло в різноманітних компаніях Alphabet як у дослідницьких, так і в комерційних застосуваннях. Google призначила декількох інформатиків, включно з Джеффом Діном, спростити та переробити кодову основу DistBelief на швидшу, надійнішу бібліотеку рівня застосунків, якою стала TensorFlow. 2009 року команда під проводом Джефрі Гінтона реалізувала узагальнене зворотне поширення та інші вдосконалення, які дозволити породжувати нейронні мережі з суттєво вищою точністю, наприклад, зниженням похибки в розпізнаванні мовлення на 25 %.
TensorFlow TensorFlow є системою машинного навчання Google Brain другого покоління, випущеною як відкрите програмне забезпечення 9 листопада 2015 року. В той час як працює на одиничних пристроях, TensorFlow може працювати на декількох центральних та графічних процесорах (включно з додатковими розширеннями CUDA для обчислень загального призначення на графічних процесорах). TensorFlow доступна для 64-розрядних Linux, macOS, Windows, та для мобільних обчислювальних платформ, включно з Android та iOS.
Обчислення TensorFlow виражаються як станові графи потоків даних. Назва TensorFlow походить від операцій, що такі нейронні мережі виконують над багатовимірними масивами даних. Ці багатовимірні масиви називають «тензорами». В червні 2016 року Джефф Дін з Google заявив, що TensorFlow згадували 1 500 репозиторіїв на GitHub, лише 5 з яких були від Google. Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
Тензорний процесор (ТП) У травні 2016 року Google анонсувала свій тензорний процесор (ТП, ), спеціалізовану мікросхему, побудовану спеціально для машинного навчання, й підігнану під TensorFlow. ТП є програмованим ШІ-прискорювачем, розробленим для забезпечення високої продуктивності в (наприклад, 8-бітній), і спрямованим радше на використання або виконання моделей, аніж на їхнє тренування. Google оголосила, що вони використовували ТП у своїх центрах обробки даних понад рік, і виявили, що вони забезпечують для машинного навчання на порядок краще оптимізовану .
Властивості
TensorFlow забезпечує ППІ для Python , а також для C++ , Haskell , Java та Go .
Застосування Платформа спочатку розроблена командою Google Brain і використовуються в сервісах Google для розпізнавання мови, виділення облич на фотографіях, визначення схожості зображень, відсіювання спаму в Gmail, підбору новин у Google News і організації перекладу з урахуванням контексту. Розподілені системи машинного навчання можна створювати на типовому обладнанні, завдяки вбудованій підтримці в TensorFlow рознесення обчислень на кілька CPU або GPU.
Серед застосувань, для яких TensorFlow є основою, є , таке як DeepDream. 26 жовтня 2015 року Google офіційно реалізувала , який підтримує TensorFlow. RankBrain тепер обробляє суттєве число пошукових записів, замінюючи та доповнюючи традиційні статичні алгоритми на основі результатів пошуку.
Іншими застосуванням є використання у складі програм FakeApp з метою безшовного поєднання фото- та відеозображень для створення підробних, але правдоподібних відео, відомих під назвою Deepfake.
TensorFlow надає бібліотеку готових алгоритмів чисельних обчислень, реалізованих через графи потоків даних (data flow graphs). Вузли в таких графах реалізують математичні операції або точки входу/виводу, в той час як ребра графу представляють багатовимірні масиви даних (тензори), які перетікають між вузлами. Вузли можуть бути закріплені за обчислювальними пристроями і виконуватися асинхронно, паралельно обробляючи разом все підходящі до них тензори, що дозволяє організувати одночасну роботу вузлів в нейронної мережі за аналогією з одночасною активацією нейронів в мозку.
Інтеграція TensorFlow з Python забезпечується не лише через pip, а й у дистрибутиві Anaconda.
Див. також Порівняння програмного забезпечення глибокого навчання
Примітки
Посилання