Main Content

양자화, 사영, 가지치기

양자화, 사영 또는 가지치기를 수행하여 심층 신경망 압축

Deep Learning Toolbox™와 함께 Deep Learning Toolbox Model Quantization Library 지원 패키지를 사용하여 심층 신경망의 메모리 사용량과 계산 요구 사항을 줄이려면 다음과 같이 하십시오.

  • 1차 테일러 근사를 사용하여 컨벌루션 계층에서 필터를 가지치기합니다. 그런 다음 가지치기된 신경망에서 C/C++ 또는 CUDA® 코드를 생성할 수 있습니다.

  • 훈련 데이터를 대표하는 데이터 세트를 사용하여 계층 활성화 부분에 주성분 분석(PCA)을 수행하여 계층을 사영하고, 계층의 학습 가능 파라미터에 선형 사영을 적용합니다. 라이브러리가 없는 C/C++ 코드 생성을 사용하여 임베디드 하드웨어에 신경망을 배포하는 경우에는 사영된 심층 신경망을 순방향 통과시키는 것이 일반적으로 더 빠릅니다.

  • 계층의 가중치, 편향 및 활성화를 정수 데이터형으로 스케일링한 낮은 정밀도로 양자화합니다. 그런 다음 양자화된 신경망에서 C/C++, CUDA 또는 HDL 코드를 생성할 수 있습니다.

    C/C++ 및 CUDA 코드 생성 시, 컨벌루션 계층의 가중치, 편향 및 활성화를 8비트로 스케일링된 정수 데이터형으로 양자화하여 컨벌루션 심층 신경망용 코드를 생성합니다. 양자화는 calibrate 함수에 의해 생성된 보정 결과 파일을 codegen (MATLAB Coder) 명령에 제공하여 수행됩니다.

    quantize 함수에 의해 생성된 양자화된 심층 신경망은 코드 생성에 지원되지 않습니다.

함수

모두 확장

taylorPrunableNetworkNetwork that can be pruned by using first-order Taylor approximation (R2022a 이후)
forwardCompute deep learning network output for training (R2019b 이후)
predictCompute deep learning network output for inference (R2019b 이후)
updatePrunablesRemove filters from prunable layers based on importance scores (R2022a 이후)
updateScoreCompute and accumulate Taylor-based importance scores for pruning (R2022a 이후)
dlnetworkDeep learning network for custom training loops (R2019b 이후)
compressNetworkUsingProjectionCompress neural network using projection (R2022b 이후)
neuronPCAPrincipal component analysis of neuron activations (R2022b 이후)
unpackProjectedLayersUnpack projected layers of neural network (R2023b 이후)
ProjectedLayerCompressed neural network layer via projection (R2023b 이후)
gruProjectedLayerGated recurrent unit (GRU) projected layer for recurrent neural network (RNN) (R2023b 이후)
lstmProjectedLayerLong short-term memory (LSTM) projected layer for recurrent neural network (RNN) (R2022b 이후)
dlquantizerQuantize a deep neural network to 8-bit scaled integer data types (R2020a 이후)
dlquantizationOptionsOptions for quantizing a trained deep neural network (R2020a 이후)
calibrateSimulate and collect ranges of a deep neural network (R2020a 이후)
quantizeQuantize deep neural network (R2022a 이후)
validateQuantize and validate a deep neural network (R2020a 이후)
quantizationDetailsDisplay quantization details for a neural network (R2022a 이후)
estimateNetworkMetricsEstimate network metrics for specific layers of a neural network (R2022a 이후)
equalizeLayersEqualize layer parameters of deep neural network (R2022b 이후)

심층 신경망 양자화기Quantize a deep neural network to 8-bit scaled integer data types (R2020a 이후)

도움말 항목

가지치기

사영 및 지식 증류

양자화

GPU 타깃을 위한 양자화

FPGA 타깃을 위한 양자화

CPU 타깃을 위한 양자화