TensorFlow
TensorFlow — відкрита програмна бібліотека для машинного навчання цілій низці задач, розроблена компанією Google для задоволення її потреб у системах, здатних будувати та тренувати нейронні мережі для виявляння та розшифровування образів та кореляцій, аналогічно до навчання й розуміння, які застосовують люди.[4] Її наразі застосовують як для досліджень, так і для розробки продуктів Google,[4] [5] [4] часто замінюючи на його ролі її закритого попередника, 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] TensorFlowTensorFlow є системою машинного навчання 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. Див. такожПримітки
Посилання
|