I. 소개
이 논문은 최첨단 이미지 인식을 위해 제안 된 대부분의 심층 신경망 (DNN)에 대한 심층 분석을 제공합니다.
각 DNN에 대해 인식 정확도(accuracy), 모델 복잡성(model complexity), 계산 복잡성(computational complexity), 메모리 사용(memory usage) 및 추론 시간(inference time)과 같은 여러 성능 지표가 관찰됩니다.
가장 중요한 사실은 다음과 같습니다.
i) 연산 횟수가 증가해도 인식 정확도는 증가하지 않습니다.
ii) 모델 복잡성과 정확성 사이에는 선형 관계가 없다.
iii) 원하는 처리량은 달성 가능한 정확도에 상한을 두며
iv) 모든 DNN 모델이 동일한 수준의 효율로 매개 변수를 사용하는 것은 아닙니다.
v) 거의 모든 모델이 고급 GPU에서 슈퍼 실시간 성능을 발휘할 수 있지만 일부 모델은 임베디드 시스템에서이를 보장 할 수 있습니다.
vi) 모델 수준이 매우 낮은 DNN조차도 최소 GPU 메모리 공간이 약 0.6GB입니다.
II. 실험에 사용 된 하드웨어와 소프트웨어
cuDNN-v5.1 and CUDA-v9.0을 백엔드로 사용
1) 워크 스테이션(workstation)
- Intel Core I7-7700 CPU @ 3.60GHZ
- 16GB DDR4 RAM 2400MHz
- 3840 CUDA 코어를 갖춘 NVIDIA Titan X Pascal GPU (top-of-the-line consumer GPU)
- 운영 체제는 Ubuntu 16.04
2) 임베디드 시스템(embedded system)
-64GHz ARM®A57 CPU @ 2GHz
- 4GB LPDDR4 1600MHz
- 256 CUDA 코어의 NVIDIA Maxwell GPU를 갖춘 NVIDIA Jetson TX1 보드
- 보드에는 JetPack-2.3 SDK가 포함되어 있음
* 이 두 가지 시스템을 사용하면 특히 메모리 사용 및 추론 시간 측면에서 채택 된 DNN 모델에 따라 계산 리소스가 얼마나 중요한지 알 수 있습니다.
III. 고려 된 DNN 아키텍처
AlexNet
VGG-11, -13, -16, - 19 without/with BN
BN-Inception
GoogLeNet
SqueezeNet v1.0 ,-v1.1
ResNet-18, -34, -50, -101, -152
Inception-v3,
Inception-v4
Inception-ResNet-v2
DenseNet-121, -169, -201 (32에 해당하는 성장 속도)
DenseNet-161 (48에 해당하는 성장 속도)
ResNeXt-101 (32x4d), ResNeXt-01 (64x4d), (컨볼 루션 레이어 당 그룹 수x 병목 너비)
Xception
DualPathNet-68, -98, -131
SE-ResNet-50,
SENet-154,
SE-ResNet-101,
SE-ResNet-152,
SE-ResNeXt-50 (32x4d),
SEResNeXt-101(32x4d);
아키텍처를 직접 학습
NASNet-A-Large,
NASNetA-Mobile
경량화 모델
MobileNet-v1
MobileNet-v2
ShuffleNet
IV. 측정 된 성능 지수
사전 훈련 된 모든 모델은 입력 이미지가 동일한 방식으로 정규화 되었습니다(동일한 전처리 수행)
이미지의 H와 W(해상도)는
-NASNet-A-Large 모델의 경우 331 픽셀pixels
-InceptionResNet-v2, Inception-v3, Inception-v4 및 Xception 모델의 경우 229 픽셀pixels
-나머지 모든 모델의 경우 224 픽셀pixels
A. ACCURACY RATE(정확도)이미지 분류 작업에 대한 ImageNet-1k 유효성 검사 세트에서 Top-1 및 Top-5 정확도를 추정합니다. 예측은 중앙 작물 만 평가하여 계산됩니다. 여러 작물 (4 개의 모서리와 중앙 작물 및 수평 뒤집기)에서 나오는 평균 예측을 고려하여 약간 더 나은 성능을 달성 할 수 있습니다.
B. MODEL COMPLEXITY (모델 복잡성)
학습 가능한 매개 변수의 총량을 계산하여 모델 복잡성을 분석합니다. 특히 고려 된 모델의 경우 MB 단위로 매개 변수 파일의 크기를 수집합니다. 이 정보는 각 모델에 필요한 최소 GPU 메모리 양을 이해하는 데 매우 유용합니다.
C. MEMORY USAGE (메모리 사용량)
할당 된 모든 메모리, 즉 네트워크 모델에 할당 된 메모리와 배치를 처리하는 동안 필요한 메모리가 포함 된 총 메모리 소비량을 평가합니다. 다양한 배치 크기 (1, 2, 4, 8, 16, 32 및 64)에 대한 메모리 사용량을 측정합니다.
D. COMPUTATIONAL COMPLEXITY (계산 복잡성)
우리는 곱하기 수의 수에서 부동 소수점 연산 (FLOP)을 사용하여 고려 된 각 DNN 모델의 계산 비용을 측정합니다. 보다 상세하게, 곱하기 가산은 두 개의 FLOP로 계산됩니다. 많은 최신 모델에서 컨볼 루션은 편향이 없으며 곱하기를 계산하고 별도의 FLOP로 추가하는 것이 좋습니다.
E. INFERENCE TIME (추론 시간)
NVIDIA Titan X Pascal GPU와 NVIDIA Jetson TX1의 각 DNN 모델에 대한 이미지 당 추론 시간을보고합니다. IV-C 섹션에 설명 된 것과 동일한 배치 크기를 고려하여 밀리 초 단위로 추론 시간을 측정합니다. 통계적 유효성 검사의 경우보고 된 시간은 10 회 이상의 평균에 해당합니다.
V. 최종 결과보고
A. ACCURACY-RATE VS COMPUTATIONAL COMPLEXITY VS MODEL COMPLEXITY (정확도 비율 vs 계산 복잡성 vs 모델 복잡성)
(FLOPS: FLoating point Operations Per Second: 컴퓨터 의 성능을 수치로 나타낼 때 주로 사용되는 단위 )
B. ACCURACY-RATE VS LEARNING POWER (정확도 등급 VS 학습력)
C. INFERENCE TIME (추론시간)
D. ACCURACY-RATE VS INFERENCE TIME
E. MEMORY USAGE
F. MEMORY USAGE VS MODEL COMPLEXITY
'Computer Science > DeepLearning' 카테고리의 다른 글
[adsp 핵심요약] 1과목 : 데이터 이해 (0) | 2020.08.10 |
---|---|
[adsp 핵심요약] 1과목 : 데이터 이해 (0) | 2020.08.10 |
[sqld] sql 개발자 (0) | 2020.07.20 |
[adsp] 데이터분석 준전문가 (0) | 2020.07.20 |
텐서플로우 버전별 정리 (0) | 2020.02.26 |