Deep Learning Toolbox

딥러닝 신경망 설계, 훈련 및 분석

Deep Learning Toolbox™는 알고리즘, 사전 훈련된 모델 및 앱을 사용하여 심층 신경망을 설계 및 구현하는 프레임워크를 제공합니다. 컨벌루션 신경망(ConvNet, CNN) 및 장단기 기억(LSTM) 신경망을 사용하여 영상, 시계열 및 텍스트 데이터에 대한 분류 및 회귀를 수행할 수 있습니다. 자동 미분, 사용자 지정 훈련 루프 및 공유 가중치를 사용하여 생성적 적대 신경망(GAN) 및 샴 신경망과 같은 신경망 아키텍처를 구축할 수 있습니다. 심층 신경망 디자이너 앱을 사용하여 신경망을 시각적으로 설계, 분석 및 훈련시킬 수 있습니다. 실험 관리자 앱을 사용하면 여러 딥러닝 실험을 관리하고, 훈련 파라미터를 추적하고, 결과를 분석하고, 서로 다른 실험의 코드를 비교할 수 있습니다. 계층 활성화를 시각화하고 훈련 진행 상황을 시각적으로 추적 관찰할 수 있습니다.

ONNX 형식을 통해 TensorFlow™ 및 PyTorch와 모델을 교환하고, TensorFlow-Keras 및 Caffe에서 모델을 가져올 수 있습니다. 또한 DarkNet-53, ResNet-50, NASNet, SqueezeNet 및 기타 많은 사전 훈련된 모델에 대한 전이 학습을 지원합니다.

Parallel Computing Toolbox™를 사용하여 단일 또는 다중 GPU 워크스테이션에서 훈련의 속도를 높이거나 MATLAB Parallel Server™를 사용하여 NVIDIA®GPU Cloud 및 Amazon EC2®GPU 인스턴스가 있는 클러스터와 클라우드로 확장할 수 있습니다.

시작하기:

신경망 및 아키텍처

딥러닝 신경망을 영상, 시계열 및 텍스트 데이터에 대한 분류, 회귀 및 특징 학습을 할 수 있도록 훈련시킵니다.

컨벌루션 신경망

물체, 얼굴 및 장면 인식을 위해 영상 내의 패턴을 학습합니다. 특징 추출 및 영상 인식을 수행하기 위해 컨벌루션 신경망(CNN)을 구성하고 학습합니다.

장단기 기억 신경망

신호, 오디오, 텍스트 및 기타 시계열 데이터를 포함한 시퀀스 데이터에서 장기 종속성을 학습합니다. 분류 및 회귀를 수행하기 위해 장단기 기억(LSTM) 신경망을 구성하고 학습합니다.

LSTM을 사용한 작업.

신경망 아키텍처

딥러닝 신경망을 구축하기 위해 유방향 비순환 그래프(DAG) 및 순환 아키텍처와 같은 다양한 신경망 구조를 사용할 수 있습니다. 사용자 지정 훈련 루프, 공유 가중치 및 자동 미분을 사용하여 생성적 적대 신경망(GAN)과 샴 신경망과 같은 고급 신경망 아키텍처를 구축할 수 있습니다.

다양한 신경망 아키텍처를 사용한 작업.

신경망 설계 및 분석

대화형 앱을 사용하여 딥러닝 신경망을 구축, 시각화, 실험 및 분석합니다.

딥러닝 신경망 설계

심층 신경망 디자이너 앱을 사용하여 처음부터 딥 신경망을 생성하고 훈련시킵니다. 사전 훈련된 모델을 가져오고, 신경망 구조를 시각화하고, 계층을 편집하고, 파라미터를 조정하여 훈련시킬 수 있습니다.

딥러닝 신경망 분석

학습 전에 오류, 경고 및 레이어 호환성 문제를 감지 및 디버그하기 위해 신경망 아키텍처를 분석할 수 있습니다. 신경망의 위상을 시각화하고 학습 가능한 파라미터 및 활성화와 같은 세부 정보를 볼 수 있습니다.

딥러닝 신경망 아키텍처 분석.

딥러닝 실험 관리

실험 관리자 앱으로 여러 딥러닝 실험을 관리할 수 있습니다. 훈련 파라미터를 추적하고, 결과를 분석하고, 서로 다른 실험에 대한 코드를 비교할 수 있습니다. 훈련 플롯, 정오분류표와 같은 시각화 도구를 사용하고, 실험 결과를 정렬 및 필터링하고, 사용자 지정 메트릭을 정의하여 훈련된 모델을 평가합니다.

실험을 설계 및 실행하여 딥러닝 신경망을 훈련시키고 비교합니다.

전이 학습 및 사전 훈련된 모델

추론을 위해 MATLAB으로 사전 훈련된 모델을 가져옵니다.

전이 학습

사전 훈련된 신경망을 새로운 작업을 학습하기 위한 바탕으로 사용하고, 신경망에서 학습한 특징을 특정 작업에 사용할 수 있도록 전이 학습을 수행할 수 있습니다.

사전 훈련된 모델

단 한 줄의 코드로 최신 연구 결과의 사전 훈련된 신경망을 사용할 수 있습니다. DarkNet-53, ResNet-50, SqueezeNet, NASNet, Inception-v3과 같은 사전 훈련된 모델을 가져올 수 있습니다.

사전 훈련된 모델의 분석.

시각화 및 디버그

딥러닝 신경망의 훈련 진행 상황 및 학습된 특징의 활성화를 시각화할 수 있습니다.

훈련 진행 상황

다양한 메트릭의 플롯을 사용하여 모든 반복에 대해 훈련 진행 상황을 볼 수 있습니다. 훈련 메트릭에 대해 검증 메트릭을 플로팅하여 신경망 과적합 여부를 확인할 수 있습니다.

모델의 훈련 진행 상황 모니터링.

신경망 활성화

계층에 맞는 활성화를 추출하고, 학습된 특징을 시각화하며 활성화를 사용하여 머신러닝 분류기를 훈련합니다. Grad-CAM 접근 방법을 사용하면 딥러닝 신경망이 분류 결정을 내리는 이유를 이해할 수 있습니다.

활성화 시각화.

프레임워크 상호 운용성

MATLAB에서 딥러닝 프레임워크와 상호 운용할 수 있습니다.

ONNX 변환기

다른 딥러닝 프레임워크와의 상호 운용성을 위해 MATLAB® 내에서 ONNX 모델을 가져오고 내보낼 수 있습니다. ONNX를 통해 한 프레임워크에서 모델을 학습한 후 추론을 위해 다른 프레임워크로 전이할 수 있습니다. GPU Coder™를 사용하여 최적화된 NVIDIA® CUDA® 코드를 생성하고 MATLAB Coder™를 사용하여 가져온 모델에 대한 C++ 코드를 생성할 수 있습니다.

딥러닝 프레임워크와의 상호 운용.

TensorFlow-Keras 임포터

추론 및 전이 학습을 위해 TensorFlow-Keras에서 MATLAB으로 모델을 가져올 수 있습니다. GPU Coder를 사용하여 최적화된 CUDA 코드를 생성하고 MATLAB Coder를 사용하여 가져온 모델에 대한 C++ 코드를 생성할 수 있습니다.

Caffe 임포터

추론 및 전이 학습을 위해 Caffe Model Zoo에서 MATLAB으로 모델을 가져올 수 있습니다.

Caffe Model Zoo에서 MATLAB으로 모델 가져오기.

훈련 속도 향상

GPU, 클라우드 및 분산 컴퓨팅을 사용한 딥러닝 훈련 속도를 높일 수 있습니다.

GPU 가속

고성능 NVIDIA ® GPU를 사용하여 딥러닝 훈련 및 추론 속도를 향상시킬 수 있습니다. 단일 워크스테이션 GPU에서 훈련을 수행하거나 데이터 센터 또는 클라우드에서 DGX 시스템을 사용해 다중 GPU로 확장할 수도 있습니다. Parallel Computing Toolbox와 Compute Capability 3.0 이상인 대부분의 CUDA 지원 NVIDIA GPU와 함께 MATLAB을 사용할 수 있습니다.

GPU를 사용한 가속.

클라우드 가속

클라우드 인스턴스를 사용하여 딥러닝 훈련 시간을 단축시킬 수 있습니다. 최고의 결과를 위해 고성능 GPU 인스턴스를 사용할 수 있습니다.

Parallel Computing Toolbox 및 MATLAB Parallel Server로 클라우드에서의 훈련 속도 향상.

분산 연산

MATLAB Parallel Server를 사용하여  다중 서버의 다중 프로세서에서 딥러닝 훈련을 실행할 수 있습니다.

병렬 및 클라우드를 통한 딥러닝 확장.

코드 생성 및 배포

훈련된 신경망을 임베디드 시스템으로 배포하거나 프로덕션 환경과 연동할 수 있습니다.

코드 생성

GPU Coder를 사용하여 MATLAB 코드로부터 딥러닝, 임베디드 비전 및 자율 시스템에 최적화된 CUDA 코드를 생성할 수 있습니다. MATLAB Coder를 사용하여 Intel® Xeon® 및 ARM® Cortex®-A 프로세서로 딥러닝 신경망을 배포하기 위한 C++ 코드를 생성할 수 있습니다. 생성된 코드를 교차 컴파일하고 NVIDIA Jetson™ 및 DRIVE™ 플랫폼과 Raspberry Pi™ 보드로 배포하는 작업을 자동화할 수 있습니다.

독립형 응용 프로그램 배포하기

MATLAB Compiler™MATLAB Compiler SDK™를 사용하여 딥러닝 모델이 있는 MATLAB 프로그램에서 훈련된 신경망을C++ 공유 라이브러리, Microsoft®.NET 어셈블리, Java®클래스 및 Python®패키지로 배포할 수 있습니다.

MATLAB Compiler를 사용한 독립형 MATLAB 프로그램 공유.

딥러닝 양자화

Model Quantization Library 지원 패키지를 사용하여 딥러닝 신경망을 INT8로 양자화하고 선택한 계층의 가중치와 편향을 양자화한 결과에 대한 정확도의 절충 관계를 분석할 수 있습니다. 

얕은 신경망

다양한 지도 및 비지도 얕은 신경망 아키텍처를 지닌 신경망을 사용할 수 있습니다.

지도 신경망

동적 시스템 모델링 및 제어, 잡음이 있는 데이터 분류 및 미래 사건 예측을 위해 지도 얕은 신경망을 학습합니다.

얕은 신경망.

비지도 신경망

얕은 신경망을 새로운 입력에 지속적으로 조절하여 데이터 내에서 관계 탐색 및 분류 방식을 자동으로 지정할 수 있습니다. 자기 조직화, 비지도 신경망 이외에도 경쟁 계층 및 자기 조직화 지도를 사용할 수 있습니다.

자기 조직화 지도.

적층 오토인코더

오토인코더를 사용하여 데이터 세트에서 저차원 특징을 추출하여 비지도 특징 변환을 수행할 수 있습니다. 여러 개의 인코더를 훈련하고 쌓아 지도 학습에 적층 오토인코더를 사용할 수 있습니다.

적층 인코더.

최신 기능

실험 관리자 앱

여러 건의 딥러닝 실험 관리, 학습 파라미터 추적, 결과와 코드 분석 및 비교

심층 신경망 디자이너 앱

영상 분류를 위해 대화형 방식으로 신경망 훈련, 훈련을 위한 MATLAB 코드 생성, 사전 훈련된 모델 액세스

사용자 지정 훈련 루프

다중 입력, 다중 출력 또는 3차원 CNN 계층을 갖는 신경망 학습

딥러닝 예제

주의집중을 사용한 영상 캡션 생성 신경망 학습, 데이터 레이블과 특성을 사용한 조건부 GAN 학습

사전 훈련된 신경망

DarkNet-19 및 DarkNet-53을 사용한 전이 학습 수행

ONNX 지원

ONNX 모델 변환기를 사용한 다중 입력 또는 다중 출력을 갖는 신경망 가져오기

훈련 유연성

사용자 지정 학습 루프를 위한 사용자 지정 계층 역방향 함수 지정

위 기능 및 해당 함수에 대한 자세한 내용은 릴리스 정보를 참조하십시오.

딥러닝을 위한 MATLAB

MATLAB 코드 몇 줄만으로 딥러닝 기법을 적용하여 알고리즘을 설계하고, 데이터를 준비하거나 데이터에 레이블을 지정하고, 코드를 생성하며 임베디드 시스템에 배포할 수 있습니다.