Microsoft Cognitive Toolkit (CNTK)-소개
이 장에서는 CNTK가 무엇인지, 기능, 버전 1.0과 2.0의 차이점 및 버전 2.7의 주요 특징에 대해 알아 봅니다.
Microsoft Cognitive Toolkit (CNTK)이란 무엇입니까?
이전에 Computational Network Toolkit으로 알려진 Microsoft Cognitive Toolkit (CNTK)은 인간의 두뇌처럼 학습 할 수 있도록 딥 러닝 알고리즘을 교육 할 수있는 무료, 사용하기 쉬운 오픈 소스, 상용 등급 도구 키트입니다. 이를 통해 다음과 같은 인기있는 딥 러닝 시스템을 만들 수 있습니다.feed-forward neural network time series prediction systems and Convolutional neural network (CNN) image classifiers.
최적의 성능을 위해 프레임 워크 함수는 C ++로 작성됩니다. C ++를 사용하여 함수를 호출 할 수 있지만 가장 일반적으로 사용되는 접근 방식은 Python 프로그램을 사용하는 것입니다.
CNTK의 특징
다음은 최신 버전의 Microsoft CNTK에서 제공하는 몇 가지 기능입니다.
내장 구성 요소
CNTK에는 Python, C ++ 또는 BrainScript의 다차원 밀도 또는 희소 데이터를 처리 할 수있는 고도로 최적화 된 기본 제공 구성 요소가 있습니다.
CNN, FNN, RNN, Batch Normalization 및 Sequence-to-Sequence를주의 깊게 구현할 수 있습니다.
Python에서 GPU에 새로운 사용자 정의 핵심 구성 요소를 추가하는 기능을 제공합니다.
또한 자동 초 매개 변수 조정을 제공합니다.
강화 학습, GAN (Generative Adversarial Networks), 감독 및 비지도 학습을 구현할 수 있습니다.
대규모 데이터 세트의 경우 CNTK에는 최적화 된 리더가 내장되어 있습니다.
효율적인 자원 사용
CNTK는 1 비트 SGD를 통해 여러 GPU / 머신에서 높은 정확도로 병렬 처리를 제공합니다.
GPU 메모리에서 가장 큰 모델에 맞추기 위해 메모리 공유 및 기타 기본 제공 방법을 제공합니다.
우리 자신의 네트워크를 쉽게 표현
CNTK에는 Python, C ++ 및 BrainScript에서 자신의 네트워크, 학습자, 독자, 교육 및 평가를 정의하기위한 전체 API가 있습니다.
CNTK를 사용하면 Python, C ++, C # 또는 BrainScript로 모델을 쉽게 평가할 수 있습니다.
높은 수준과 낮은 수준의 API를 모두 제공합니다.
데이터를 기반으로 추론을 자동으로 형성 할 수 있습니다.
심볼릭 RNN (Recurrent Neural Network) 루프를 완전히 최적화했습니다.
모델 성능 측정
CNTK는 구축 한 신경망의 성능을 측정하기위한 다양한 구성 요소를 제공합니다.
학습 프로세스를 모니터링하는 데 사용할 수있는 모델 및 관련 옵티 마이저에서 로그 데이터를 생성합니다.
버전 1.0 대 버전 2.0
다음 표는 CNTK 버전 1.0과 2.0을 비교합니다.
버전 1.0 | 버전 2.0 |
---|---|
2016 년에 출시되었습니다. | 1.0 버전을 대폭 재 작성한 것으로 2017 년 6 월에 출시되었습니다. |
BrainScript라는 독점 스크립팅 언어를 사용했습니다. | 프레임 워크 함수는 C ++, Python을 사용하여 호출 할 수 있습니다. 모듈을 C # 또는 Java로 쉽게로드 할 수 있습니다. BrainScript는 버전 2.0에서도 지원됩니다. |
Windows 및 Linux 시스템에서 모두 실행되지만 Mac OS에서는 직접 실행되지 않습니다. | 또한 Windows (Win 8.1, Win 10, Server 2012 R2 이상) 및 Linux 시스템 모두에서 실행되지만 Mac OS에서는 직접 실행되지 않습니다. |
버전 2.7의 주요 특징
Version 2.7Microsoft Cognitive Toolkit의 마지막 주 릴리스 버전입니다. ONNX 1.4.1을 완벽하게 지원합니다. 다음은이 CNTK의 마지막 릴리스 버전의 몇 가지 중요한 하이라이트입니다.
ONNX 1.4.1을 완벽하게 지원합니다.
Windows 및 Linux 시스템 모두에서 CUDA 10을 지원합니다.
ONNX 내보내기에서 고급 RNN (Recurrent Neural Networks) 루프를 지원합니다.
2GB 이상의 모델을 ONNX 형식으로 내보낼 수 있습니다.
BrainScript 스크립팅 언어의 훈련 작업에서 FP16을 지원합니다.