이성준
(Sungjun Lee)
1iD
서기성
(Kisung Seo)
†iD
-
(Department of Electronics and Computer Engineering, Seokyeong University, Korea.)
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Deep learning, Pruning, Convolutional neural network, Filter reduction, Genetic algorithm, APoZ
1. 서 론
딥러닝 기법중의 CNN(Convolutional Neural Network)은 물체 분류 및 인식 분야에서 뛰어난 성능을 인정받아 널리 사용되고 있다(1,2). 네트워크 규모의 증가 외에도, 층의 연결 방식과 다양한 구성 요소들의 조합 및 여러 가지 개선된 알고리즘이 나오면서 지속적인 성능의 향상이 이루어지고
있다(3-5).
한편으로 기존의 CNN에 대해서 규모를 축소하면서 최대한 성능을 유지하는 연구의 필요성도 높다. CNN의 층 구조를 축소하는 시도는 일부 시도되고
있으나, 체계적인 접근이 아닌 경험적인 방식이 대부분이고 성능의 저하가 커서 큰 효과를 보지 못하고 있다. 이에 비해, 층의 구조는 유지하면서 필터
수를 줄이는 가지치기(pruning) 연구가 다양하게 시도되고 있다(6-10). 가지치기는 네트워크의 컨볼루션 층에서 영향력이 적은 필터들을 삭제함으로써 전체 네트워크가 차지하는 메모리 용량을 줄이고, 처리 속도를 감소시키는
특성이 있다. 기존의 가지치기 연구들은 가중치 기반의 필터 삭제 방식 (6,7), 다음 층에서의 출력의 세기를 고려한 가지치기 방식(8-10) 등이 주를 이루고 있다.
본 연구자의 사전 연구(11,12)에서 진화연산 기반의 필터 삭제가 우수한 성능을 보였으나, 진화연산의 특성상 대규모 연산량이 필요하여 일정 규모 이상의 네트워크에는 적용의 한계가
있음을 또한 확인하였다. 따라서 이러한 문제점을 완화하기 위해서 필터 선택의 최적화를 위한 진화연산 방식과 연산 시간이 훨씬 적게 걸리는 출력값 기반
삭제와의 결합 방식을 제안한다.
출력값 기반 접근법 중에서 간단하면서 상대적으로 성능이 우수한 ApoZ 기법(8)을 네트워크에 적용해 먼저 후보 필터들을 1차로 선정하고, 이 필터들에 대해서 진화연산을 적용하여 최적 탐색을 시도한다. 이러한 하이브리드 방식은
진화연산 기반의 접근법의 장점인 전체적인 필터 구성 최적화 효과와 가중치 기반의 연산 시간 감소를 함께 얻을 수 있다.
초기 연구 (11,12)에서 사용한 3개의 conv 층으로 구성된 CONV12라는 가장 소규모의 CNN 네트워크 외에, conv 층을 5개로 늘린 CONV122에 대한
실험을 추가한다. 그리고 같은 5개의 conv 층을 포함하지만, 필터의 크기가 커지고, FC 층이 하나 더 추가되며, 파라미터 수 측면에서 앞의 두
네트워크 보다 훨씬 규모가 커진 VGG-S에 대해서도 실험을 확장한다.
이들 3가지 모델에 대해서 진화연산 및 APoZ 개별 방식과 제안된 하이브리드 방법을 비교하며, 성능 지표는 인식 성능의 정확도와 압축률, 그리고
FLOPS를 사용한다.
2. 가중치 기반 가지치기
가중치 기반 가지치기 방법 중 APoZ(Average Percent of Zero)는 필터의 직접적인 가중치 값을 기준으로 가지치기를 하는 방법들(6,7) 보다 진일보한 것으로 특징맵의 출력에 대응하는 필터를 선택한다. 구체적으로, 특징맵의 픽셀값이 0이면 다음 컨볼루션 층을 통과해도 0이 출력되기
때문에 0을 많이 포함할수록 네트워크에서 상대적인 중요도가 낮다고 판단한다. 따라서 입력 특징맵과 필터 간 합성곱 연산을 통해 나온 출력 특징맵에서
0의 비율이 높으면 해당 필터를 제거한다.
3. GA 기반 가지치기
3.1 진화 연산
진화연산은 최적화 문제에 널리 적용되어 왔으며, 학습에 중점을 둔 딥러닝과는 상호 보완적인 측면이 있다. 일반적으로 유전자 표현, 유전자 생성,
적합도 평가, 선택, 유전연산 부분으로 구성되어 있다. 본 논문에서 다루는 필터의 선택은 조합 최적화 문제에 해당하며, GA (Genetic Algorithm)
방식으로 구현한다. 유전자 개체는 삭제할 필터들의 정보를 가지고 있으며, 스트링 형태로 표현된다. 다수의 개체들을 선택과 유전 연산 등을 통해 목적함수의
적합도인 인식 성능을 높이는 방향으로 진화시켜 결과 해를 얻는다.
3.2 필터의 가지치기를 위한 유전자 표현
각 유전자는 삭제할 필터 번호들의 집합으로 구성된다. 유전자 길이는 삭제할 필터수의 크기로 정한다. 예로 각 층마다 30%의 삭제율을 적용시, 1
층의 필터 수가 10개라면 상응하는 유전자는 3개의 요소로 구성된다. 다층으로 구성된 네트워크는 각 층에 해당하는 부분 유전자가 연이어져 전체 유전자를
구성한다.
그림. 1. GA 기반 가지치기의 유전자 표현
Fig. 1. Gene Representation for GA-based pruning
그림 1은 두 개의 층으로 구성된 CNN 네트워크에 대한 유전자 표현으로서, 각 컨볼루션 층마다 삭제할 필터 번호로 구성된 스트링이 대응된다. 좌측에 표시된
유전자의 세 번째 숫자 2는 conv 1층에서 2번 필터를 삭제한다는 의미이다. 회색 음영은 삭제할 필터를, 흰색은 보존할 필터 번호를 나타낸다.
유전자의 마지막 숫자 58은 64개의 필터로 구성된 conv 2층에서 58번째의 필터를 삭제한다는 의미이다. 필터 삭제를 통한 가지치기 후의 네트워크의
상태가 우측에 나와있다. 삭제된 필터는 점선으로 표시되어 있다.
3.3 GA 기반 가지치기 수행 과정
GA 기반 가지치기의 전체 수행 과정은 다음 그림 2와 같다.
그림. 2. GA 기반 가지치기 알고리즘
Fig. 2. Algorithm of GA-based pruning
그림. 3. GA 기반 가지치기 과정
Fig. 3. Process of GA-based pruning
그림 2의 알고리즘 설명에 대한 개념도가 그림 3에 나와 있다. 왼쪽의 유전자 스트링은 삭제할 필터 번호의 집합으로 구성되고 각 란의 숫자들은 전체 CNN 층의 필터 번호이다. 유전자들을 해석하면
원래의 모델(Baseline)에서 가지치기 할 필터들이 선택되어 삭제된다. 축소된 모델은 미세조정을 통해 복원하고 이의 적합도(인식 정확도)를 평가한다.
3.4 GA와 ApoZ를 결합한 하이브리드 방식
GA 기반 가지치기 기법은 기존 가지치기 기법에 비해 성능이 우수하나, 적합도를 평가하는 과정에서 방대한 연산량이 필요하다. 더욱이 이를 개체의
수(100~200) 만큼 반복해야 하므로 네트워크가 커질수록 적용이 어렵다. 이러한 단점을 완화하기 위해서, 먼저 ApoZ 기법(8)을 네트워크에 적용해 후보 필터들을 1차로 선정한다. ApoZ(Average Percentage of Zeros) 알고리즘은 그림 4에 나와 있으며, 출력맵에서 0에 가까운 출력값의 비율을 가진 필터를 - 즉, 중요도가 낮은 필터, 선택하여 삭제한다. 본 논문에서 APoZ는 1차
후보군을 선택하는 중간과정으로 사용된다. 선택된 필터 후보군에 대해서 진화연산 기반 탐색을 적용하여 최종 삭제 필터를 결정한다. 이러한 하이브리드
방식은 진화연산 기반의 성능과 가중치 기반의 연산 시간 감소 효과를 함께 얻을 수 있다.
그림. 4. APoZ 알고리즘
Fig. 4. Algorithm APoZ
4. 실험 및 결과 분석
4.1 실험 환경
가지치기 실험에 사용된 3 종류의 네트워크는 CONV12, CONV122, 그리고 VGG-S이며 각각의 구조와 파라미터는 표 1-3에 나와 있다. 표 1의 CONV12 모델은 3개의 컨볼루션 층과 2개의 완전 연결층으로 구성되어 있고, 첫 FC층의 파라미터가 295.04K로 매우 큰 비중을 차지한다.
표 2의 CONV122 모델은 5개의 컨볼루션 층과 2개의 완전 연결층으로 구성되어 있어서, CONV12 보다 층수는 많으나, FC 층에 GAP (Gobal Average Pooling)를
적용하여 불필요한 파라미터를 줄였다. 이에 따라 가중치의 삭제가 FC층에 집중되어 균형있는 가지치기가 이루어지지 않는 문제를 완화할 수 있다. CONV12와
CONV122 두 모델은 규모가 작아 연산량이 많은 진화연산의 적용에 적합하다.
표 1. CONV12 네트워크 구조
Table 1. Structure of Conv12 network
Layer
|
Output Shape
|
Filter Size
|
Parameters
|
CONV1
|
31x31x32
|
2x2
|
0.42K
|
CONV2
|
15x15x64
|
2x2
|
8.26K
|
CONV4
|
7x7x64
|
2x2
|
16.45K
|
FC
|
1x128
|
-
|
295.04K
|
FC
|
1x10
|
-
|
1.29K
|
Total
|
-
|
-
|
321.46K
|
표 2. CONV122 네트워크 구조
Table 2. Structure of Conv122 network
Layer
|
Output Shape
|
Filter Size
|
Parameters
|
CONV1
|
31x31x32
|
2x2
|
0.42K
|
CONV2
|
15x15x64
|
2x2
|
8.26K
|
CONV3
|
14x14x64
|
2x2
|
16.45K
|
CONV4
|
7x7x64
|
2x2
|
16.45K
|
CONV5
|
6x6x64
|
2x2
|
16.45K
|
FC
|
1x256
|
-
|
16.64K
|
FC
|
1x10
|
-
|
2.57K
|
Total
|
-
|
-
|
77.23K
|
VGG-S는 VGG 계열 중에서 규모가 작은 편으로, CONV122 모델과 같은 층 수를 가지나 층 당 채널의 수가 3-8배까지 많아 전체 파라미터
수가 CONV122의 32배 이상 크다. 따라서 제안된 기법의 효율성을 입증하기에 적합한 규모이다.
학습 및 평가데이터로 널리 사용되는 벤치마크 데이터인 CIFAR-10 데이터셋에 대해 GA, GA-APoZ 기반의 네트워크 축소 실험을 수행한다.
CIFAR-10은 총 60000장의 32x32 RGB 이미지로 구성되며 비행기, 새, 고양이, 개 등 10개의 클래스로 분류되어 있다. 50000장의
학습 데이터, 10000장의 평가 데이터로 나누어져 있으며 학습 데이터는 각 클래스 당 5000장, 평가 데이터는 각 클래스 당 1000장의 이미지로
분리되어 있다. 네트워크 축소에 사용하는 검증 데이터는 학습데이터에서 5000개의 데이터를 추출하여 사용한다 (표 4). 실험은 GTX-1080Ti GPU 1대에서 수행되었다.
표 3. VGG-S 네트워크 구조
Table 3. Structure of VGG-S network
Layer
|
Output Shape
|
Filter Size
|
Parameters
|
CONV1
|
32 x 32 x 96
|
7x7
|
0.002M
|
CONV2
|
16 x 16 x 256
|
5x5
|
0.22M
|
CONV3
|
8 x 8 x 512
|
3x3
|
1.18M
|
CONV4
|
8 x 8 x 512
|
3x3
|
2.36M
|
CONV5
|
8 x 8 x 512
|
3x3
|
2.36M
|
FC
|
1x4096
|
-
|
2.10M
|
FC
|
1x4096
|
-
|
16.78M
|
FC
|
1x10
|
-
|
0.04M
|
Total
|
-
|
-
|
25.042M
|
표 4. CIFAR-10 실험 데이터
Table 4. Experimental data of CIFAR-10
|
학습 데이터
|
검증 데이터
|
평가 데이터
|
CIFAR-10
|
45,000장
|
5,000장
|
10,000장
|
4.2 GA 가지치기 실험
GA를 가지치기(pruning) 실험을 CONV12 네트워크에 대해서 수행하고 APoZ와 비교한 결과가 표 5에 나와 있다. 가지치기 알고리즘 중의 하나인 APoZ 보다 제안된 하이브리드 기반 가지치기가 APoZ 방법보다 압축률과 정확도 측면에서 모두 우수한
성능을 나타내고 있다. 한 가지 문제점은 학습에 필요한 GA 기법의 GPU 연산 시간이 진화연산의 특성상 방대하게 소요된다는 점이다.
표 5. CONV12 네트워크 축소 실험 결과
Table 5. Experimental results for CONV12 model using CIFAR-10 data
CONV12
|
Parameters
|
Compression rate
|
Accuracy
|
Original
|
321.46K
|
x1.00
|
75.17%
|
APoZ
|
94.7K
|
x3.4
|
65.01%
|
GA
|
63.3K
|
x5.1
|
68.98%
|
4.3 GA 기법과 APoZ의 결합 방식 실험
GA 기반 가지치기 기법의 단점인 연산량 과다 문제를 보완하기 위하여 GA와 APoZ를 결합한 방식의 실험을 추가하고 이를 GA 기법만의 결과와 비교한다.
상대적으로 CONV12 보다 규모가 큰 CONV122 모델에 대해서 실험을 수행한 결과 GA에 비해서 유사한 압축률일 때 69.81%로 4% 이상의
성능 향상을 보여준다. 실제적으로 모델 실행시간의 지표가 되는 FLOPS 결과도 함께 나타내었으며, 제안된 기법이 가장 우수함을 알 수 있다. 학습에
필요한 연산시간 측면에서도 제안된 GA-APoZ 기법이 GA만의 기법의 약 30%에 불과하여 상당한 단축 효과를 얻었다.
표 6. CONV122 네트워크 축소 실험 결과
Table 6. Experimental results for CONV122 model using CIFAR-10 data
CONV122
|
Parameters
|
Compression rate
|
FLOPS
|
Accuracy
|
Original
|
77.23K
|
x1.00
|
153.34K
|
75.17%
|
GA
|
32.49K
|
x2.37
|
64.42K
|
65.01%
|
GA-APoZ
|
31.34K
|
x2.46
|
62.16K
|
69.81%
|
표 2의 결과를 토대로 보다 규모가 큰 표 3의 VGG-S 네트워크에 대하여 추가 실험을 수행하였으며, 비교 결과가 표 7에 나와 있다. 압축률과 FLOPS를 유사하게 맞춘 조건에서 APoZ와 GA 기법에 비해서 제안된 하이브리드 GA-APoZ 기법의 정확도가 더 우수함을
알 수 있다.
표 7. VGG-S 네트워크 축소 실험 결과
Table 7. Experimental results for CONV122 model using VGG-S data
VGG-S
|
Parameters
|
Compression rate
|
FLOPS
|
Accuracy
|
Original
|
25.04M
|
x1.00
|
50.77M
|
85.59%
|
APoZ
|
3.74M
|
x6.58
|
7.72M
|
60.54%
|
GA
|
3.49M
|
x6.98
|
7.27M
|
81.14%
|
GA-APoZ
|
3.51M
|
x6.83
|
7.43M
|
81.34%
|
4.4 분석
제안된 하이브리드 방식의 연산량 감소 효과는 다음과 같다. Conv12, Conv122 모델에 대해서 GA 기법의 개체수는 50 세대수는 200으로
설정하였으나, 하이브리드 방법에서는 동일한 개체수에 세대수를 100으로 설정하여, 전체 수행 시간을 반 이상 감소시켰다. VGG-S에 대해서도 GA
기법의 개체수는 60 세대수는 120을 사용하였으나, 하이브리드 방법에서는 동일한 개체수에 세대수를 60으로 설정하여, 역시 전체 수행 시간을 반
이상 감소시켰다.
압축 비율과 인식 성능인 정확도에서도 제안된 기법이 우수한 성능을 나타내었고, 특히, 표 7의 VGG-S에 대한 결과를 보면 압축비가 표 1, 2에 비해 높은 경우(약 7배) GA 기법들이 APoZ에 비해서 성능 하락 면에서 강인성이 큼을 보여준다. VGG-16이나 ResNet과 같이
규모가 큰 네트워크에 대해서는 복수대의 GPU 병렬처리 적용을 고려할 수 있으며, 모델의 적합도 평가시 연산량이 많은 인식 정확도 보다는 엔트로피나
KL divergence 등의 적용을 고려할 수 있다.
5. 결 론
CNN 네트워크을 대상으로 GA 기반 가지치기 접근법의 단점인 방대한 연산량을 감소시키기 위해서 진화연산과 APoZ 기법을 결합한 하이브리드 방법을
제안하고 개별 기법과 비교하였다. CIFAR-10 데이터에 대해서 CONV12, CONV122, VGG-S 3가지 모델의 실험을 수행하였으며, 동일
수준의 압축 비율에 대해 유사하거나 더 우수한 정확도를 얻을 수 있었다. 또한 상기 성능에 도달하는 GA 과정의 세대수를 반으로 줄임으로서 전체 연산량
측면에서 절반 이상의 감소 효과를 얻었다. 향후 GA 연산이 적용되는 부분을 줄이고, 정확도 보다 연산 효율성이 반영된 적합도 평가 지표를 개발하는
것이 목표이다. 제안된 딥러닝 축소 기법은 기존 모델을 임베디드 시스템에 적용하는 기여를 할 것으로 사료된다..
References
Y. LeCun, Y. Bengio, G. Hinton, 2015, Deep learning, Nature, Vol. 521, pp. 436-444
LeCun, Yann, 1998, Gradient based learning applied to document recognition, Proceedings
of the IEEE, pp. 2278-2324
K. Simonyan, A. Zisserman, 2014, Very Deep Convolutional Networks for Large-Scale
Image Recognition, International Conference on Learning Representations
C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke,
A. Rabinovich, 2015, Going Deeper with Convolutions, Computer Vision and Pattern Recognition
K. He, X. Zhang, S. Ren, J. Sun, 2016, Deep Residual Learning for Image Recognition,
Computer Vision and Pattern Recognition
S. Han, H. Mao, W. J. Dally, 2015, Deep compression: Compressing deep neural networks
with pruning, trained quantization and huffman coding, arXiv preprint arXiv: 1510.00149
H. Li, A. Kadav, I. Durdanovic, H. Samet, H. P. Graf, 2016, Pruning Filters for Efficient
ConvNets, CoRR abs/ 1608.08710
H. Hu, R. Peng, Y. W. Tai, 2016, Network trimming: A data-driven neuron pruning approach
towards efficient deep architectures, arXiv preprint arXiv: 1607.03250
Q. Huang, K. Zhou, S. You, U. Neumann, 2018 Jan 23, Learning to prune filters in convolutional
neural networks, arXiv preprint arXiv: 1801.07365
J. H. Luo, J. Wu, W. Lin, , ThiNet: A Filter Level Pruning Method for Deep Neural
Network Compression, ICCV 2017: 5068-5076
J. Kim, M. Lee, J. Choi, K. Seo, , GA-based Filter Selection for Representation in
Convolutional Neural Networks, ECCV 2018 Workshop on Compact and Efficient Feature
Representation and Learning in Computer Vision
K. Seo, 2018, Analysis of evolutionary optimization methods for CNN structures, Transactions
of the Korean Institute of Electrical Engineers, Vol. 67, No. 6, pp. 767-772
저자소개
He received B.S. and M.S. degrees from Electronics and Computer Engineering from Seokyong
University, Seoul, Korea, in 2019 and 2021, respectively. His research interests include
deep learning, computer vision, and evolutionary computation.
He received the BS, MS, and Ph.D degrees in Electrical Engineering from Yonsei University,
Seoul, Korea, in 1986, 1988, and 1993 respec- tively. He became Full Time Lecturer
and Assistant Professor of Industrial Engineering in 1993 and 1995 at Seokyeong University,
Seoul, Korea. He joined Genetic Algorithms Research and Applications Group (GARAGe)
and Case Center for Computer-Aided Engi- neering & Manufacturing, Michigan State Uni-
versity from 1999 to 2002 as a Research Associate. He was also appointed Visiting
Assistant Professor in Electrical & Computer Engineering, Michigan State University
from 2002 to 2003. He was a Visiting Scholar at BEACON (Bio/computational Evolution
in Action CONsortium) Center, Michigan State University from 2011 to 2012. He is currently
Professor of Electronics Engineering,Seokyeong University. His research interests
include deep learning, evolutionary computation, computer vision, and intelligent
robotics.