Flux (фреймворк для машинного обучения) - Flux (machine-learning framework)

Поток
FluxLogo.png
Оригинальный автор (ы)Майкл Дж. Иннес.[1]
Стабильный выпуск
v0.10.3
Репозиторийgithub.com/ FluxML/ Flux.jl
Написано вЮля
ТипМашинное обучение библиотека
ЛицензияМассачусетский технологический институт[2]
Интернет сайтhttps://fluxml.ai

Поток является Открытый исходный код библиотека машинного обучения и экосистема, написанные на Юля.[1][3] Его текущий стабильный выпуск - v0.10.3.[4] Он имеет интерфейс на основе слоев для более простых моделей и имеет сильную поддержку взаимодействия с другими пакетами Julia вместо монолитной конструкции.[5] Например, поддержка GPU прозрачно реализована в CuArrays.jl.[6] Это контрастирует с некоторыми другими фреймворками машинного обучения, которые реализованы на других языках с привязками Julia, такими как TensorFlow.jl, и, таким образом, более ограничены функциональностью, присутствующей в базовой реализации, которая часто находится на C или C ++.[7]

Внимание Flux к взаимодействию позволило, например, поддерживать Нейронно-дифференциальные уравнения путем объединения Flux.jl и DifferentialEquations.jl в DiffEqFlux.jl.[8][9]

Flux поддерживает рекуррентные и сверточные сети. Он также способен дифференцируемое программирование[10][11][12] через его источник к источнику автоматическая дифференциация пакет, Zygote.jl.[13]

Юлия - популярный язык в машинном обучении[14] и Flux.jl - его наиболее уважаемый репозиторий машинного обучения.[14] Демонстрация[15] компиляция кода Джулии для запуска в Google Блок тензорной обработки получил похвалу от Google Brain ИИ ведущий Джефф Дин.[16]

Flux использовался в качестве основы для создания нейронных сетей, работающих с гомоморфный зашифрованный данные, даже не расшифровывая их.[17][18] Предполагается, что такое приложение станет центральным для обеспечения конфиденциальности в будущем. API с использованием моделей машинного обучения.[19]

Flux.jl - это промежуточное представление для запуска программ высокого уровня на CUDA аппаратное обеспечение.[20][21] Это был предшественник CUDAnative.jl, который также является Программирование на GPU язык.[22]

Смотрите также

Рекомендации

  1. ^ а б Иннес, Майкл (2018-05-03). «Flux: элегантное машинное обучение с Джулией». Журнал открытого программного обеспечения. 3 (25): 602. Дои:10.21105 / joss.00602.
  2. ^ "github.com/FluxML/Flux.jl/blob/master/LICENSE.md".
  3. ^ Иннес, Майк; Брэдбери, Джеймс; Фишер, Кено; Ганди, Дхайрья; Мария Джой, Ниту; Кармали, Теджан; Келли, Мэтт; Пал, Авик; Кончетто Рудилоссо, Марко; Саба, Эллиот; Шах, Вирал; Юрет, Дениз. «Создание языка и компилятора для машинного обучения». julialang.org. Получено 2019-06-02.
  4. ^ FluxML / Flux.jl v0.10.3, Flux, 2020-03-04, получено 2020-03-27
  5. ^ «Машинное обучение и искусственный интеллект». juliacomputing.com. Получено 2019-06-02.
  6. ^ Ганди, Дхайрья (2018-11-15). «Юлия из NeurIPS и будущее инструментов машинного обучения». juliacomputing.com. Получено 2019-06-02.
  7. ^ Мальмо, Джонатан; Уайт, Линдон (2018-11-01). "TensorFlow.jl: Идиоматический интерфейс Julia для TensorFlow". Журнал открытого программного обеспечения. 3 (31): 1002. Дои:10.21105 / joss.01002.
  8. ^ Rackauckas, Крис; Иннес, Майк; Ма, Инбо; Беттанкур, Джесси; Уайт, Линдон; Диксит, Вайбхав (06.02.2019). "DiffEqFlux.jl - библиотека Julia для нейронно-дифференциальных уравнений". arXiv:1902.02376 [cs.LG ].
  9. ^ Шлотауэр, Сара (25 января 2019). «Машинное обучение встречается с математикой: решайте дифференциальные уравнения с помощью новой библиотеки Julia». JAXenter. Получено 2019-10-21.
  10. ^ "Flux - обучение с подкреплением против дифференцируемого программирования". fluxml.ai. Получено 2019-06-02.
  11. ^ "Flux - что такое дифференцируемое программирование?". fluxml.ai. Получено 2019-06-02.
  12. ^ Хит, Ник (6 декабря 2018 г.). «Джулия против Python: какой язык программирования будет править машинным обучением в 2019 году?». TechRepublic. Получено 2019-06-03.
  13. ^ Иннес, Майкл (2018-10-18). "Не разворачивайте сопутствующие: дифференциация программ SSA-формы". arXiv:1810.07951 [cs.PL ].
  14. ^ а б Хит, Ник (25 января 2019 г.). «GitHub: 10 лучших языков программирования для машинного обучения». TechRepublic. Получено 2019-06-03.
  15. ^ Саба, Эллиот; Фишер, Кено (23.10.2018). «Автоматическая полная компиляция программ Julia и моделей машинного обучения в облачные TPU». arXiv:1810.09868 [cs.PL ].
  16. ^ Дин, Джефф [@JeffDean] (23.10.2018). «Джулия + TPU = быстрые и легко выражаемые ML-вычисления» (Твитнуть). Получено 2019-06-02 - через Twitter.
  17. ^ Патравала, Фатема (28 ноября 2019 г.). «Исследовательская группа Julia Computing использует модель машинного обучения для зашифрованных данных, не расшифровывая их». Packt Hub. Получено 2019-12-11.
  18. ^ «Машинное обучение зашифрованных данных без их расшифровки». juliacomputing.com. 2019-11-22. Получено 2019-12-11.
  19. ^ Ядав, Рохит (2019-12-02). «Julia Computing использует гомоморфное шифрование для машинного обучения. Это путь вперед?». Журнал Analytics India. Получено 2019-12-11.
  20. ^ Рош, Джаред и Любомирский, Стивен и Кирисаме, Мариса и Поллок, Джош и Вебер, Логан и Цзян, Цзихенг и Чен, Тяньци и Моро, Тьерри и Татлок, Захари (2019). «Реле: IR высокого уровня для глубокого обучения». arXiv:1904.08368.CS1 maint: несколько имен: список авторов (связь)
  21. ^ Тим Бесар, Кристоф Фокет и Бьорн Де Саттер (2019). «Эффективное расширяемое программирование: освобождение Джулии на GPU». Транзакции IEEE в параллельных и распределенных системах. Институт инженеров по электротехнике и радиоэлектронике (IEEE). 30 (4): 827–841. arXiv:1712.03112. Дои:10.1109 / tpds.2018.2872064.
  22. ^ Бесард, Тим (2018). Абстракции для программирования графических процессоров на языках программирования высокого уровня (Кандидат наук). Гентский университет.