상위 10개 기계 학습 프레임워크
게시 됨: 2017-03-11머신 러닝(ML)의 세계를 탐구할 때 많은 대안 중에서 하나의 프레임워크를 선택하는 것은 두려운 작업이 될 수 있습니다. 이름에 이미 익숙할 수도 있지만 의사 결정 과정에서 옵션을 평가하는 것이 유용합니다. 기계 학습 세계에는 특히 초보자인 경우 매우 혼란스러울 수 있는 다양한 프레임워크, 라이브러리, 애플리케이션, 툴킷 및 데이터 세트가 있습니다. 인기 있는 ML 프레임워크에 익숙해지는 것은 애플리케이션을 빌드할 프레임워크를 선택할 때 필요합니다. 이것이 우리가 상위 10개 기계 학습 프레임워크 목록을 작성한 이유입니다.
1. 텐서플로
Tensorflow는 다양한 언어 이해 및 지각 작업을 위해 Google Brain Team에서 개발했습니다. 이 오픈 소스 프레임워크는 심층 신경망 및 기계 학습에 대한 광범위한 연구에 사용됩니다. Google Brain의 두 번째 기계 학습 프레임워크인 이 프레임워크는 대부분의 새로운 CPU 및 GPU와 호환됩니다. Gmail, 음성 인식, Google 포토 및 Google 검색과 같이 우리가 일상적으로 사용하는 많은 인기 Google 서비스에는 Tensorflow가 탑재되어 있습니다.
Tensorflow는 데이터 흐름 그래프를 사용하여 복잡한 수치 작업을 수행합니다. 수학적 계산은 모서리와 노드를 포함하는 방향 그래프를 사용하여 정교화됩니다. 이러한 노드는 작업을 구현하는 데 사용되며 데이터가 공급되는 끝점 역할도 할 수 있습니다. 에지는 또한 서로 다른 노드 간의 입력/출력 연결을 나타냅니다.
2. 카페
Caffe는 더 나은 표현, 속도, 모듈성을 중점으로 설계된 기계 학습 프레임워크입니다. CNN(Convolutional Neural Networks)을 활용하여 컴퓨터 비전/이미지 분류를 위해 개발되었습니다. Caffe는 구현에 코딩이 필요하지 않은 사전 훈련된 모델 세트인 Model Zoo로 유명합니다.
연구 및 개발에서 더 나은 성능을 제공하는 Tensorflow와 달리 애플리케이션을 구축하는 데 더 적합합니다. 텍스트, 사운드 또는 시계열 데이터가 있는 응용 프로그램을 처리하는 경우 Caffe는 컴퓨터 비전 이외의 다른 용도로 사용되지 않습니다. 그러나 하드웨어 호스트에서 동적으로 실행할 수 있으며 단일 플래그를 사용하여 CPU와 GPU 간에 전환하는 데 좋은 작업을 수행합니다.
3. 아마존 머신러닝
Amazon은 AML이라는 개발자를 위한 자체 기계 학습 서비스를 개발했습니다. 실제로 코드를 수정하지 않고도 정교하고 고급스럽고 지능적인 학습 모델을 개발하는 데 사용할 수 있는 도구 및 마법사 모음입니다. AML을 사용하면 사용하기 쉬운 API를 통해 애플리케이션에 필요한 예측을 도출할 수 있습니다. AML 이면의 기술은 Amazon의 내부 데이터 과학자가 Amazon Cloud Services를 지원하는 데 사용하며 확장성, 동적 및 유연성이 뛰어납니다. AML은 Amazon S3, RDS 또는 Redshift에 저장된 데이터에 연결하고 이진 분류, 회귀 또는 다중 클래스 분류와 같은 작업을 수행하여 새 모델을 생성할 수 있습니다.
4. 아파치 싱가
Apache Singa는 주로 모델 분할 및 교육 프로세스 병렬화를 사용하는 분산 딥 러닝에 중점을 둡니다. 노드 클러스터에서 작동할 수 있는 간단하고 강력한 프로그래밍 모델을 제공합니다. 주요 응용 프로그램은 이미지 인식 및 자연어 처리(NLP)입니다.
Singa는 직관적인 계층 추상화 기반 프로그래밍 모델로 개발되었으며 일련의 딥 러닝 모델을 지원합니다. 매우 유연한 아키텍처를 기반으로 하기 때문에 동기식 및 비동기식, 심지어 하이브리드 교육 방법을 모두 실행할 수 있습니다. Singa의 기술 스택은 IO, 모델 및 코어의 세 가지 중요한 구성 요소로 구성됩니다. IO 구성 요소에는 네트워크 및 디스크에 대한 데이터 읽기/쓰기에 사용되는 클래스가 포함되어 있습니다. 핵심 구성 요소는 텐서 작업 및 메모리 관리 기능을 처리합니다. 모델에는 기계 학습 모델에 사용되는 알고리즘과 데이터 구조가 있습니다.

5. 마이크로소프트 CNTK
CNTK(Cognitive Toolkit)는 Microsoft의 오픈 소스 기계 학습 프레임워크입니다. 음성 인식 분야에서 더 많이 사용되지만 CNTK는 텍스트 및 이미지 교육에도 사용할 수 있습니다. AS CNN, LSTM, RNN, Sequence-to-Sequence 및 Feed Forward와 같은 다양한 기계 학습 알고리즘을 지원하는 이는 가장 역동적인 기계 학습 프레임워크 중 하나입니다. CNTK는 다양한 CPU 및 GPU를 포함한 여러 하드웨어 유형을 지원합니다.
호환성은 CNTK의 하이라이트 중 하나입니다. 또한 가장 표현력이 풍부하고 사용하기 쉬운 기계 학습 아키텍처로 평가됩니다. CNTK에서는 C++ 및 python과 같은 언어로 작업할 수 있으며 기본 제공 교육 모델을 사용하거나 직접 구축할 수 있습니다.
6. 토치
Torch는 특히 Ubuntu를 사용하는 경우 빠르고 쉽게 설정하고 실행할 수 있는 가장 간단한 기계 학습 프레임워크일 수 있습니다. 2002년 NYU에서 개발된 Torch는 Twitter 및 Facebook과 같은 대형 기술 회사에서 광범위하게 사용됩니다. Torch는 일반적이지 않지만 읽고 이해하기 쉬운 Lua라는 언어로 코딩되어 있습니다. Torch의 장점 중 일부는 유용한 오류 메시지, 방대한 샘플 코드 저장소, 가이드 및 유용한 커뮤니티가 있는 이 친숙한 프로그래밍 언어에 기인할 수 있습니다.
7. 어코드 닷넷
Accord.NET은 .NET을 기반으로 하는 오픈 소스 기계 학습 프레임워크이며 과학 컴퓨팅에 이상적입니다. 패턴 인식, 인공 신경망, 통계 데이터 처리, 선형 대수학, 이미지 처리 등과 같은 응용 프로그램에 사용할 수 있는 다양한 라이브러리로 구성됩니다. 프레임워크는 설치 프로그램, NuGet 패키지 및 소스 코드로 사용할 수 있는 라이브러리로 구성됩니다. Accord.NET에는 코드 재사용성과 점진적인 알고리즘 변경을 용이하게 하는 매트릭스 라이브러리가 있습니다.
8. 아파치 마하우트
Apache Software Foundation의 무료 오픈 소스 프로젝트인 Apache Mahout은 클러스터링, 분류 및 협업 필터링과 같은 애플리케이션을 위한 무료 분산 또는 확장 가능한 ML 프레임워크 개발을 목표로 구축되었습니다. 다양한 계산 작업을 위한 Java 컬렉션과 Java 라이브러리도 Mahout에서 사용할 수 있습니다.
Apache Mahout은 MapReduce 패러다임을 사용하여 Hadoop 위에 배포됩니다. 한 가지 훌륭한 응용 프로그램은 데이터를 즉시 통찰력으로 바꾸는 것입니다. Hadoop에 저장된 빅 데이터가 연결되면 Mahout은 데이터 과학 도구가 데이터 세트에서 의미 있는 패턴을 찾는 데 도움을 줄 수 있습니다.
9. 테아노
Theano는 기계 학습 알고리즘으로 세계적으로 유명한 몬트리올 대학에서 2007년에 개발되었습니다. 저급 기계 학습 프레임워크로 간주되지만 유연하고 매우 빠릅니다. 프레임워크에서 던진 오류 메시지는 도움이 되지 않고 비밀스럽기로 악명이 높습니다. 이것들을 제쳐두고 Theano는 연구 작업에 더 적합한 플랫폼이며 매우 도움이 될 수 있습니다.
API 래퍼를 theano에 보내는 고급 추상화 시스템의 기본 플랫폼으로 주로 사용됩니다. 일부 인기 있는 라이브러리의 예로는 Lasagne, Blocks 및 Keras가 있습니다. Theano 사용의 한 가지 단점은 다중 GPU 지원을 위해 몇 가지 해결 방법을 수정해야 한다는 것입니다.
10. 브레인스토밍
Brainstorm은 단순성과 유연성을 고려하여 마스터하기 가장 쉬운 기계 학습 프레임워크 중 하나입니다. 그것은 동시에 신경망으로 작업하는 것을 더 빠르고 재미있게 만듭니다. 전적으로 Python으로 작성된 Brainstorm은 여러 백엔드 시스템에서 원활하게 실행되도록 구축되었습니다.
Brainstorm은 Python을 사용하여 두 개의 '핸더' 또는 데이터 API를 제공합니다. 하나는 Numpy 라이브러리의 CPU용이고 다른 하나는 CUDA를 사용하여 GPU를 활용하기 위한 것입니다. 무거운 작업의 대부분은 Python 스크립팅으로 수행되므로 풍부한 프론트 엔드 UI가 거의 없습니다.