플럭스(기계 학습 프레임워크)

Flux (machine-learning framework)
플럭스
FluxLogo.png
원본 작성자Michael J Innes,[1] Dairya Gandhi,[2] 그리고 기여자들.[3]
안정적 해제
v0.12.8
리포지토리github.com/FluxML/Flux.jl
기록 위치줄리아.
유형머신러닝 도서관
면허증MIT[4]
웹사이트https://fluxml.ai

플럭스줄리아에서 작성된 오픈소스 머신러닝 소프트웨어 라이브러리 및 생태계다.[1][5]현재 안정적인 출시량은 v0.12.8이다.[6]보다 단순한 모델을 위한 레이어 스택 기반 인터페이스를 갖추고 있으며, 획일적인 디자인 대신 다른 Julia 패키지와의 상호운용성을 강력하게 지원한다.[7]예를 들어, GPU 지원은 CuArray.jl에[8] 의해 투명하게 구현된다. 이는 TensorFlow.jl과 같은 Julia 바인딩과 다른 언어로 구현되는 일부 다른 머신러닝 프레임워크와는 대조적이며, 따라서 기본 구현에 존재하는 기능(종종 C 또는 C++)[9]에 의해 더 제한된다.플럭스는 2021년 12월 제휴 프로젝트로 NumFOCUS에 가입했다.[10]

예를 들어 플럭스의 상호운용성에 초점을 맞춘 Flux.jl과 DiffEqFlux.jl을 DiffEqFlux.jl에 융합함으로써 Neural Differential 방정식을 지원할 수 있게 되었다.[11][12]

플럭스는 반복적이고 경련적인 네트워크를 지원한다.소스 대 소스 자동 차별화 패키지인 Zygote.jl을 통해 차별화할 수 있는 프로그래밍[13][14][15] 가능하다.[16]

Julia는 기계학습에서[17] 인기 있는 언어이고 Flux.jl은 가장 높이 평가되는 기계학습 저장소다.[17]구글의 텐서처리장치(TPU)에서 실행할 줄리아 코드를 집계한 시연회가[18] 구글 브레인 AI 선두주자 제프 딘으로부터 찬사를 받았다.[19]

플럭스는 한 번도 해독하지 않고 동형 암호화된 데이터로 작동하는 신경망을 구축하기 위한 프레임워크로 사용되어 왔다.[20][21]이러한 종류의 어플리케이션은 머신러닝 모델을 이용한 향후 API의 프라이버시의 중심이 될 것으로 예상된다.[22]

flux.jl은 CUDA 하드웨어에서 고급 프로그램을 실행하기 위한 중간 표현이다.[23][24]그것은 또한 GPU 프로그래밍 언어인 CUDAnative.jl의 전신이었다.[25]

참고 항목

참조

  1. ^ a b Innes, Michael (2018-05-03). "Flux: Elegant machine learning with Julia". Journal of Open Source Software. 3 (25): 602. Bibcode:2018JOSS....3..602I. doi:10.21105/joss.00602.
  2. ^ Dhairya Gandhi, GitHub, 2021-06-27, retrieved 2021-06-27
  3. ^ Flux Contributors, GitHub, 2021-06-27, retrieved 2021-06-27
  4. ^ "github.com/FluxML/Flux.jl/blob/master/LICENSE.md". GitHub. 6 November 2021.
  5. ^ Innes, Mike; Bradbury, James; Fischer, Keno; Gandhi, Dhairya; Mariya Joy, Neethu; Karmali, Tejan; Kelley, Matt; Pal, Avik; Concetto Rudilosso, Marco; Saba, Elliot; Shah, Viral; Yuret, Deniz. "Building a Language and Compiler for Machine Learning". julialang.org. Retrieved 2019-06-02.
  6. ^ FluxML/Flux.jl v0.12.8, Flux, 2021-12-01, retrieved 2021-12-01
  7. ^ "Machine Learning and Artificial Intelligence". juliacomputing.com. Retrieved 2019-06-02.
  8. ^ Gandhi, Dhairya (2018-11-15). "Julia at NeurIPS and the Future of Machine Learning Tools". juliacomputing.com. Retrieved 2019-06-02.
  9. ^ Malmaud, Jonathan; White, Lyndon (2018-11-01). "TensorFlow.jl: An Idiomatic Julia Front End for TensorFlow". Journal of Open Source Software. 3 (31): 1002. Bibcode:2018JOSS....3.1002M. doi:10.21105/joss.01002.
  10. ^ "Flux <3 NumFOCUS". fluxml.ai. Retrieved 2021-01-12.
  11. ^ Rackauckas, Chris; Innes, Mike; Ma, Yingbo; Bettencourt, Jesse; White, Lyndon; Dixit, Vaibhav (2019-02-06). "DiffEqFlux.jl - A Julia Library for Neural Differential Equations". arXiv:1902.02376 [cs.LG].
  12. ^ Schlothauer, Sarah (2019-01-25). "Machine learning meets math: Solve differential equations with new Julia library". JAXenter. Retrieved 2019-10-21.
  13. ^ "Flux – Reinforcement Learning vs. Differentiable Programming". fluxml.ai. Retrieved 2019-06-02.
  14. ^ "Flux – What Is Differentiable Programming?". fluxml.ai. Retrieved 2019-06-02.
  15. ^ Heath, Nick (December 6, 2018). "Julia vs Python: Which programming language will rule machine learning in 2019?". TechRepublic. Retrieved 2019-06-03.
  16. ^ Innes, Michael (2018-10-18). "Don't Unroll Adjoint: Differentiating SSA-Form Programs". arXiv:1810.07951 [cs.PL].
  17. ^ a b Heath, Nick (January 25, 2019). "GitHub: The top 10 programming languages for machine learning". TechRepublic. Retrieved 2019-06-03.
  18. ^ Saba, Elliot; Fischer, Keno (2018-10-23). "Automatic Full Compilation of Julia Programs and ML Models to Cloud TPUs". arXiv:1810.09868 [cs.PL].
  19. ^ Dean, Jeff [@JeffDean] (2018-10-23). "Julia + TPUs = fast and easily expressible ML computations" (Tweet). Retrieved 2019-06-02 – via Twitter.
  20. ^ Patrawala, Fatema (2019-11-28). "Julia Computing research team runs machine learning model on encrypted data without decrypting it". Packt Hub. Retrieved 2019-12-11.
  21. ^ "Machine Learning on Encrypted Data Without Decrypting It". juliacomputing.com. 2019-11-22. Retrieved 2019-12-11.
  22. ^ Yadav, Rohit (2019-12-02). "Julia Computing Uses Homomorphic Encryption For ML. Is It The Way Forward?". Analytics India Magazine. Retrieved 2019-12-11.
  23. ^ Roesch, Jared and Lyubomirsky, Steven and Kirisame, Marisa and Pollock, Josh and Weber, Logan and Jiang, Ziheng and Chen, Tianqi and Moreau, Thierry and Tatlock, Zachary (2019). "Relay: A High-Level IR for Deep Learning". arXiv:1904.08368 [cs.LG].{{cite arxiv}}: CS1 maint : 복수이름 : 작성자 목록(링크)
  24. ^ Tim Besard and Christophe Foket and Bjorn De Sutter (2019). "Effective Extensible Programming: Unleashing Julia on GPUs". IEEE Transactions on Parallel and Distributed Systems. Institute of Electrical and Electronics Engineers (IEEE). 30 (4): 827–841. arXiv:1712.03112. doi:10.1109/tpds.2018.2872064. S2CID 11827394.
  25. ^ Besard, Tim (2018). Abstractions for Programming Graphics Processors in High-Level Programming Languages (PhD). Ghent University.