반응형
딥러닝 프레임워크(Framework)
- 딥러닝 프레임워크는 이미 검증된 수많은 라이브러리와 사전 학습까지 완료된 다양한 딥러닝 알고리즘을 제공함으로써, 중복적인 기능을 구현해야 하는 소모적인 작업으로부터 개발자를 자유롭게 해준다.
프레임워크(framework)란: 응용 프로그램을 개발하기 위한 여러 라이브러리나 모듈 등을 효율적으로 사용할 수 있도록 하나로 묶어 놓은 일종의 패키지라고 할 수 있다.
시아노(Theano)
- 시아노는 최초의 딥러닝 프레임워크 중 하나로 파이썬을 기반으로 개발되었다.
- 데이터를 탐색하거나 수치 계산에 매우 유용하지만, 확장성이 뛰어나지는 않으며 다중 GPU에 대한 지원도 부족하다. 그러나 아직까지도 범용적인 딥러닝 모델을 구축할 때 많이 사용되고 있다.
텐서플로우(Tensorflow)
- 텐서플로우는 현재 가장 인기 있는 딥러닝 프레임워크 중 하나로 시아노를 대신하기 위해, 구글의 구글 브레인 팀에서 개발한 딥러닝 프레임워크다.
- 텐서플로우는 C/C++ 엔진에 파이썬 API로 제작되어 빠른 실행이 가능하며, 딥러닝 알고리즘뿐만 아니라 강화 학습을 위한 다양한 알고리즘도 같이 지원한다. 또한 텐서보드(TensorBoard)라는 모델 가상화 도구를 제공하여 모델을 손쉽게 시각화할 수 있다.
- 하지만 다른 프레임워크에 비해 속도가 느린 편이며 스칼라(Scala) 언어는 지원하지 않는다.
- 오픈 소스로 공개한 이후 매우 활발하게 연구가 진행되어 현재 지원하는 언어도 파이썬과 C/C++뿐만 아니라 자바, Go 언어까지 추가되었다.
케라스(Keras)
- 시아노나 텐서플로우를 사용하여 직접 딥러닝 모델을 만드는 것은 전문가가 아니면 매우 어렵기에, 이를 해결하기 위해서 효율적인 인공신경망을 단순화된 인터페이스로 구축할 수 있도록 개발된 딥러닝 프레임워크가 바로 케라스다.
- 케라스 시아노와 텐서플로우를 백엔드로 사용하며, 토치와 같이 직관적인 API를 제공하고, 또한 파이썬으로 제작되어 매우 가볍고 배우기도 쉬우며, 빠른 업데이트로 다양한 계층에서 빠른 속도로 발전하고 있는 차세대 딥러닝 프레임워크라고 할 수 있다.
토치(Torch)
- 토치는 루아라는 스크립트 언어를 기반으로 제작된 딥러닝 프레임워크로 페이스 북, 구글과 같은 대기업에서도 토치를 기반으로 하는 자체 버전을 별도로 개발하여 사용하고 있을 정도로 효율적인 프레임워크다.
- 토치는 딥러닝 모델을 만드는 과정을 최대한 유연하고 간단하게 만드는 것을 목표로하며, 강화 학습에 필요한 사전 학습된 다양한 라이브러리를 제공해 준다.
- 여기에 페이스북에 의해 오픈 소스화된 파이썬 기반의 Pytorch가 동적 계산 그래프(Dynamic computation graph)를 제공하며 순환 신경망(RNN) 분야에서 많은 인기를 얻고 있다.
DL4J(DeepLearning4J)
- 자바로 개발된 딥러닝 프레임워크인 DL4J는 자바뿐만 아니라 클로저(Clojure)나 스칼라(Scala)와 같은 다른 JVM 언어도 함께 지원하고 있다.
- DL4J는 하둡(Hadoop)과 스파크(Spark)를 기반으로 하는 빅데이터 도구와 함께 사용할 수 있으므로 효율적인 딥러닝이 가능하며, Akka와 같은 라이브러리를 사용하여 손쉽게 분산 시스템을 구현할 수 있는 장점을 가지기에 DL4J는 비즈니스 환경 중심의 분산 딥러닝 플랫폼으로 널리 사용되고 있다.
Reference
반응형
'Data > Ai' 카테고리의 다른 글
딥러닝의 분류 - 심층/합성곱/순환 신경망, 제한 볼츠만, 심층Q (0) | 2023.06.18 |
---|---|
딥러닝의 개념과 동작 방식 - 인공신경망 (0) | 2023.06.18 |
머신러닝 알고리즘 - SVM, 의사 결정 나무, K-means 군집화 (0) | 2023.06.18 |
머신러닝의 분류 - 지도와 비지도, 강화 학습 (0) | 2023.06.18 |
머신러닝의 개념과 동작 방식 - 벡터와 특징 추출 (0) | 2023.06.18 |