서기성
(Kisung Seo)
†iD
Copyright © The Korean Institute of Electrical Engineers(KIEE)
Key words
Deep learning, CNN, Feature Representation, Filter Diversity, Singular Value Decomposition (SVD) Entropy, Filter Spreading
1. 서 론
CNN (Convolutional Neural Networks) 기반의 딥러닝 기법들은 모든 분류 및 인식분야에서 기존의 전통적인 기법에 비해 우수한
성능을 보이고 있다(1,2). 대규모 데이터에 대한 복잡한 인식 작업은 매우 많은 층으로 구성된 깊은 CNN (3,4)을 필요로 한다. 이러한 모델들은 성능을 더 높이기 위해서 네트워크에 여분의 층이나 필터를 포함할 수밖에 없어서, 모델 구성에서 자원의 중복 문제가
존재한다.
특히, 깊은 CNN 모델은 방대한 수의 필터로 구성되며, 주요 필터인 3x3, 5x5의 경우, 각 9개 및 25개의 내부 요소가 존재한다. 필터의
중복성을 평가하기 위해서는 두 필터간의 모든 개별 가중치 간의 거리를 계산하여 비교해야 하고, 층 내의 모든 필터에 대해서 상호간의 비교를 해야 하므로
연산량이 대폭 늘어난다. 더욱 깊은 CNN의 경우 여기에 층 수 만큼의 반복 연산이 수행되어야하기 때문에 매우 방대한 규모의 연산을 필요로 한다.
또한 필터내의 요소들이 실수들이기 때문에 중복성의 비교 판단이 어렵고, 범위를 도입하더라도 이에 대한 결정이 역시 어렵다.
따라서, 중복성을 평가하는 새로운 지표가 필요하고, 이에 대한 연산량도 적정한 수준인 방법의 제시가 필요하다. 본 논문에서는 SVD(Singular
Value Decomposition, 특이점 분해) (5) 기법을 통해 CNN 필터의 엔트로피를 정의하고, 이를 기반으로 중복성을 결정하는 방법을 제시한다. 이 방식은 필터의 모든 구성 요소들을 비교하는
대신에 단일한 엔트로피 값으로 필터의 특성을 나타내기 때문에 중복성 비교가 효과적이고 연산량도 훨씬 적다. SVD를 딥러닝에 사용한 경우는 대부분
특징 추출에 관한 것이고, 필터의 중복성이나 유사성을 판별하는 데 사용된 경우는 없다.
제안된 연구는 본 연구자의 선행 연구를(6) 확장한 것으로, 필터의 다양성 향상에 기여하여 모델의 특징 표현력을 개선시키고, 중복되는 필터들을 삭제함으로써 네트워크 축소 효과 및 구모 대비
성능 향상도 포함한다. 제안 기법과 유사한 연구가 거의 없기 때문에 비교를 위하여, 효과 측면에서 기존의 가장 근접한 연구인 가지치기(pruning)
분야의 일부 연구와의(7-10) 비교를 통해 제안 기법의 타당성을 검토한다.. 실험은 CIFAR10/100과 ImageNet에 대해 VGG16과 ResNet34 모델을 가지고 수행한다.
2. CNN 필터의 중복성 구별 및 SVD
2.1 필터의 중복성 측정 문제
동일한 규모의 네트워크에서 필터가 서로 유사할 경우, 다양한 특징을 추출하기가 어렵다. 필터의 중복이 적도록 다양성을 유지하는 것이 모델의 표현력
향상을 얻을 수 있다. 그러나 다양성을 평가하는 지표를 제시하기가 쉽지 않은데, 그 이유는 필터가 단일 값이 아닌, 그림 1의 상단처럼 3x3 필터의 겅우, 9개의 실수 요소로 구성되어 있기 때문에, 두 필터간의 모든 개별 가중치 간의 거리를 계산하여 비교해야 하고, 그림 1의 하단과 같이 같은 층 내의 모든 필터에 대해서 상호간의 비교를 해야 하기 때문에 연산량이 대폭 늘어남은 물론이고, 각 필터간의 상대적 거리 계산은
가능하나 모든 필터 사이의 절대적인 거리의 크기를 구하는 것이 거의 불가능하다.
그림. 1. CNN 필터의 요소 및 필터간 비교
Fig. 1. Compariosn of CNN filters and elements
2.2 특이값 분해 (SVD)
특이값 분해(Singular Value Decomposition)는 행렬을 대각화하는 분해 기법 중 하나이다. 고유값 분해와 다르게 임의의 직사각행렬에도
적용이 가능한 장점이 있는 기법으로써 차원축소, 노이즈 제거, 내재 정보 추출 등 다양한 분야에 이용된다.
임의의 직사각행렬에 대해 특이값 분해를 수행할 경우, 식 (1)과 같은 분해가 가능하며 이 때 $U$와 $V^{T}$는 각각 정규직교 행렬이고 $\Sigma$는 행렬의 열에 대한 스케일 정보를 내재하고 있는 대각행렬이다.
이 때 정규직교 행렬은 역행렬과 전치행렬이 같은 행렬이고 대각 행렬은 주대각선을 제외한 나머지 원소가 0인 행렬을 의미한다.
3. SVD 기반 필터의 중복성 측정 및 표현 향상
3.1 필터에 대한 특이값 분해
본 논문에서 제안하는 기법은 특이값 분해 과정에서 출력되는 특이값 행렬을 이용하여 필터의 정보량을 계산하고 유사도를 측정하여 불필요한 필터의 축소와
필터의 재구성을 수행한다. 각 필터에 대해 내재 정보의 유사도를 추정하기 위해서, 특이값 분해를 수행한다. 이 경우 필터는 일반적으로 3차원 이상의
텐서 구조를 가지고 있기 때문에 기본적인 특이값 분해 적용이 불가능하다. 따라서 그림 2와 같이 다차원 텐서 구조의 필터를 n번 열이 필터의 n번째 채널로 구성되어 있는 행렬로 변환한다. 변환 후 필터에 대해 특이값 분해를 수행하여 특이값
행렬을 추출한다. 여기서 W는 필터의 너비, H는 깊이, 그리고 C는 채널수를 의미한다.
그림. 2. 필터에 대한 특이값 분해 적용
Fig. 2. Singular Value Decomposition for filters
3.2 특이값 기반 필터의 엔트로피 계산
식 (1)의 대각행렬 $\Sigma$를 필터의 엔트로피로 정의한다. $\Sigma$는 필터의 각 채널에 대한 scale 정보를 가지고 있다. 엔트로피를 계산하기
전에 식 (2)를 사용하여 정규화한다. 이를 통해 각 특이값들의 상대적인 중요성을 구별할 수 있다.
여기서 $\lambda_{i}$는 각 열벡터의 특이값이다. 계산된 $p_{i}$는 전체에 대한 각 특이값의 비율을 나타낸다. 정규화된 특이값에 대해서
각 필터 $F_{i}$의 엔트로피가 다음 식 (3)에 의해서 계산된다.
식 (3)에 정의된 엔트로피는 데이터의 복잡도를 측정하는 척도이다. 복잡도가 높을수록 풍부한 정보를 담고 있다. 마찬가지로 유사한 복잡도는 유사한 정보를 의미하므로,
이 성질을 이용하여 유사한 필터들을 그림 3과 같이 클러스터링을 통해 그룹화 한다.
3.3 적합도 공유 기법을 사용한 다양성 평가
적합도 공유 기법(Fitness Sharing)은 진화연산에서 군집의 다양성을 유지하는데 사용된다(11). 탐색 공간 안에서 적합도(Fitness)가 큰 (또는 성능이 우수한) 개체가 존재할 경우, 이 개체가 다른 성능이 낮은 개체들을 지배하여 성능이
우수한 개체 위주로 조기 수렴하는 문제가 발생한다. 이를 해결하기 위해 적합도가 높은 개체들은 그 주변에 있는 개체들과의 적합도 값을 나누어 가짐으로써,
절대적으로 우수한 개체로의 쏠림 현상을 완화시킨다. 즉, 상대적으로 적합도가 낮다고 하더라도 위치에 따라 더 높은 적합도를 부여 받을 수 있어, 개체의
다양성을 개선시킬 수 있다. 그림 3에서 3개의 클러스터 내의 가장 큰 원은 그룹내에서 적합도가 가장 높은 개체들을 나타내는데 중앙 아래에 있는 클러스터의 개체들은 상단의 두 클러스터내의
개체들보다 적합도가 높지만, 같은 자원들을 공유하여 나누어 가짐으로써 상대적인 적합도는 낮아진다.
그림. 3. 적합도 공유 기반 필터 클러스터링
Fig. 3. Fitness based filter clustering
엔트로피에 기반한 각 클러스터에 대해서 적소(niche) (11) 개념을 적용하여 상대적인 중요도를 평가한다. 즉 전체 필터의 절대적인 엔트로피 순위 대신에 클러스터 내에서의 순위에 따라 삭제할 필터를 선택한다.
각 클러스터내의 필터들은 식 (4)를 적용하여 엔트로피의 절대값과 클러스터 중심과의 거리의 조합된 크기순으로 정렬된다.
3.4 재훈련 후 다양성 유지를 위한 필터 펼침
앞 절에서 다양성을 기준으로 재구성된 필터들은 재훈련과정에서 필터내의 가중치 값들이 조정되어 다양성의 폭이 다시 좁아질 수 있다. 이를 해결하기 위하여
클러스터내의 각 필터들을 중심과의 거리를 그림 4와 같이 강제적으로 펼쳐서 다양성을 향상시킨다.
그림. 4. 재 훈련시 필터 펼침
Fig. 4. Filter spreading framework in retraining process.
4. 실험 및 결과 비교
4.1 실험 환경
본 논문에서는 이미지 벤치마크 데이터 셋으로 주로 사용되는 CIFAR10(12). CIFAR100(12), mageNet(13)에 대해 VGG16(14)과 ResNet34(15) 모델을 가지고, SVD 기반의 필터 다양화를 통한 표현력 향상에 대한 실험을 수행한다. 제안 기법의 목적은 필터의 다양화 지표를 통한 중복 필터의
삭제를 통한 모델의 축소와 필터 다양화 재구성을 통한 표현력 향상으로 인한 인식 성능 개선이다. 이에 대한 유사한 접근이 없기 때문에, 효과 측면에서
기존의 가장 근접한 연구인 가지치기 분야의 일부 논문과의(7,8) 비교를 통해 제안 기법의 타당성을 검토한다.
표 1. 데이터 셋
Table 1. Dataset
Dataset
|
Categories
|
Traning data
|
Test data
|
CIFAR10
|
10
|
50,000
|
10,000
|
CIFAR100
|
100
|
50,000
|
10,000
|
ImageNet
|
1000
|
1,2000,000
|
50,000
|
CIFAR10/100(12)은 총 60000장의 32x32 해상도를 가진 이미지로 구성되어 있으며 10/100개의 클래스로 분류된다. 50000장의 학습 데이터, 10000장의
평가 데이터로 나누어져 있다. ImageNet(13)은 1000개의 클래스를 가지며, 120만 장의 학습 데이터와 50000장의 평가 데이터로 구분된다. 본 실험에서는 연산량을 줄이기 위해서 224x224
크기로 줄여서 사용한다 (표 1). 실험은 RTX-2080 GPU 기반의 컴퓨팅 환경에서 수행되었다.
4.2 실험 결과
CIFAR100 데이터에 대해서 VGG16 모델에의 비교 결과가 표 2에 나와 있다. 대상 신경망은 13개의 컨볼루션 층과 3개의 완전 연결층으로 구성되어 있는 VGG16 (11) 구조를 사용한다. SVD 엔트로피 중복성 기반 필터 삭제 및 다양화 재구성 적용 후 손실된 성능에 대해 미세조정 기법을 적용하여 복원을 수행한다.
일정한 학습 세대를 적용하고, 최적화 기법은 기존 경사 하강법에 관성 상수를 추가하는 모멘텀 방법을 사용한다. 초기 학습률은 $10^{-2}$을 적용하고
일정 세대마다 학습률에 0.1을 곱하는 학습률 감소 기법을 사용한다. 또한 $5\times 10^{-4}$의 가중치 감쇠를 적용하여 학습 간 발생할
가능성이 있는 과적합을 완화한다. VGG16 모델은 사용한 이유는 ResNet 보다 규모가 작고 기본적인 구성이라 필터의 다양화 영향을 충실하게 반영할
것으로 생각되어 선택하였다.
표 2에서 제안된 기법을 CIFAR10 데이터와 VGG16 모델에 대해서 30-70%대의 축소 비율을 나타낸 유사한 실험 결과를 가진 연구들과(7,8) 비교하였고, 정확도(Acc)와 연산량(FLOPs) 측면에서 모두 우수한 결과를 얻었다. 즉, 비교한 두 모델에서는 가지치기 축소후 정확도가 0.68%와
1.06%가 하락한 한 반면에, 제안된 기법에서는 축소 후 오히려 성능이 0.21% 개선되었다. 또한 축소율도 48.44%로 가장 높은 것을 알 수
있다.
표 2. 비교 실험 결과 1 - CIFAR10 / VGG16
Table 2. Comparison results 1 on CIFAR10 with VGG16
Method
|
Baseline
(top-1)
|
Acc
(top-1)
|
Acc
Drop(↓)
|
FLOPs
|
Pruned
FLOPs
|
Liu (7)
|
93.39%
|
92.71%
|
0.68%
|
182.31M
|
70.94%
|
Zhang (8)
|
93.39%
|
92.33%
|
1.06%
|
182.47M
|
70.92%
|
Proposed
|
93.39%
|
93.60%
|
-0.21%
|
172.54M
|
69.85%
|
표 3에는 CIFAR100 데이터와 VGG16 모델에 대한 실험 결과가 나와 있다. 표 2와 마찬가지로 정확도(Acc)와 연산량(FLOPs) 측면에서 모두 우수한 결과를 얻었다. 즉, 비교한 두 모델에서는 가지치기 축소후 정확도가 3.28%와
0.88%가 하락한 반면에, 제안된 기법에서는 축소 후 오히려 성능이 0.82% 개선되었다. 또한 축소율도 48.44%로 가장 높은 것을 알 수 있다.
표 3. 비교 실험 결과 2 - CIFAR100 / VGG16
Table 3. Comparison results 1 on CIFAR100 with VGG16
Method
|
Baseline
(top-1)
|
Acc
(top-1)
|
Acc
Drop(↓)
|
FLOPs
|
Pruned
FLOPs
|
Liu [7]
|
72.10%
|
68.82%
|
3.28%
|
441.89M
|
29.57%
|
Zhang [8]
|
72.10%
|
71.22%
|
0.88%
|
334.16M
|
46.74%
|
Proposed
|
72.10%
|
72.92%
|
-0.82%
|
301.15M
|
48.44%
|
ImageNet 데이터와 ResNet34 모델에 대한 실험 결과가 표 4에 나와 있다. 제안된 기법의 정확도(Acc) 하락이 1.72%로 (9)번 결과에 비해서는 떨어지지만, (10)번 결과의 2.09%에 비해서는 우수함을 나타낸다. 그런데 (9)번의 정확도 하락 결과는 축소율이 24.8%로 제안된 기법의 53.2%의 절반보다도 못 미치기 때문에 적은 수치의 하락이 직접 비교 대상이 되지 않으며,
일반적으로 축소율을 높일수록 정확도 하락의 폭이 가파르기 때문에 본 연구의 결과에 비해서 성능이 낮다고 볼 수 있다. (9)번 연구 후에 나온 (10)번 연구의 결과보다 제안 기법이 정확도, 연산량 측면에서 모두 우수하기 때문에, ImageNet 데이터와 ResNet34 모델에 대해서도 제안된 기법이
필터의 다양화 측면은 물론 모델의 규모 대비 성능 면에서도 경쟁력이 있음을 확인할 수 있다.
표 4. 비교 실험 결과 3 - ImageNet / ResNet34
Table 4. Comparison results 3 on ImageNet with ResNet34
Method
|
Baseline
(top-1)
|
Acc
(top-1)
|
Acc
Drop(↓)
|
FLOPs
|
Pruned
FLOPs
|
Dong [9]
|
73.42%
|
72.99%
|
0.43%
|
2.700B
|
24.8%
|
He [10]
|
73.92%
|
71.83%
|
2.09%
|
-
|
41.1%
|
Proposed
|
73.30%
|
71.58%
|
1.72%
|
1.960B
|
53.2%
|
본 연구가 필터의 새로운 다양화 지표를 제안하고 중복성이 높은 필터를 삭제하여 모델의 규모를 축소하는 한편, 축소 후 재출련과정에서 그룹내의 필터들을
넓게 펼치는 재구성을 통해 특징의 표현력을 향상으로 인한 성능 향상을 얻고 있다.
필터를 다양화하여 다양한 특징의 추출에 강인한 표현력을 향상시키는 것이 주 목적이지만, 이를 성능 지표화 하는 것이 명확하지 않아서 간접적으로 비교할
수 있는 모델의 축소와 규모 대비 성능 향상 지표를 대신 사용하였다. 따라서 가지치기 분야의 최신 논문의 결과와의 비교보다는 적정한 연산량 범위내에서
필터 다양화의 효과를 검증하는 실험을 수행하였고, 이와 유사한 실험조건을 가진 논문들(7-10)의 결과와 비교하였다. 필터 다양화를 증진시킨 결과, 다양화 효과로 인해 모델의 규모 대비 성능 면에서도 경쟁력과 타당성을 확인할 수 있었다.
5. 결 론
본 논문에서는 SVD 엔트로피 기반의 필터 축소 및 다양화 재구성 실험을 CIFAR100과 ImageNet 데이터에 대해서 VGG16과 ResNet34
모델을 가지고 수행하였다. 제안된 특이값 기반의 중복 필터 삭제와 다양성 향상 기법을 근접한 효과를 가진 가지치기 기법과 정확도 저하(Acc drop),
연산량(FLOPs), 연산량 감소(FLOPs drop) 성능 측면에서 비교하였다. 제안된 기법이 유사한 실험 조건에서 기존의 가지치기 기법과 비교해
경쟁력 있는 성능을 보임으로써, 제안된 필터 다양화 방식의 타당성과 가능성을 확인하였다. 향후, 필터 다양성이 인식 성능에 미치는 영향에 대한 체계적인
분석이 필요하고, 다양한 데이터와 모델에 대한 확장된 비교 실험이 필요하다.
Acknowledgements
This Research was supported by Seokyeong University in 2021.
References
Y. LeCun, Y. Bengio, G. Hinton, 2015, Deep learning, Nature, Vol. 521, pp. 436-444
![DOI](../../Resources/images/icon_crossref.png)
A. Krizhevsky, I. Sutskever, G. E Hinton, 2012, Imagenet classification with deep
convolutional neural networks, In Advances in neural information processing systems,
pp. 1097-1105
![Google Search](../../Resources/images/icon_google.png)
K. Simonyan, A. Zisserman, 2014, Very Deep Convolutional Networks for Large-Scale
Image Recognition, International Conference on Learning Representations
![Google Search](../../Resources/images/icon_google.png)
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
![Google Search](../../Resources/images/icon_google.png)
R. Varshavsky, A. Gottlieb, M. Linial, D. Horn, 2006, Novel unsupervised feature filtering
of biological data, Bioinformatics, Vol. 22, No. 14, pp. e507-e513
![DOI](../../Resources/images/icon_crossref.png)
S Lee, K. Seo, 2020, Lightweight Deep Learning for Edge Computing, Proceedings of
KIEE Summer Congerence.
![Google Search](../../Resources/images/icon_google.png)
Z. Liu, J. Li, Z. Shen, G. Huang, S. Yan, C. Zhang, 2017, Learning efficient convolutional
networks through network slimming, In: Proceedings of the IEEE International Conference
on Computer Vision, pp. 2736-2744
![Google Search](../../Resources/images/icon_google.png)
Y. Zhang, C. Zhao, B. Ni, J. Zhang, H. Deng, 2019, Exploiting Channel Similarity for
Accelerating Deep Convolutional Neural Networks, arXiv preprint arXiv:1908.0262
![Google Search](../../Resources/images/icon_google.png)
X. Dong, J. Huang, Y. Yang, S. Yan, 2017, More is less: A more complicated network
with less inference complexity, In: Proceedings of the IEEE Conference on Computer
Vision and Pattern Recognition, pp. 5840-5848
![Google Search](../../Resources/images/icon_google.png)
Y. He, G. Kang, X. Dong, Y. Fu, Y. Yang, 2018, Soft fillter pruning for accelerating
deep convolutional neural networks, arXiv preprint arXiv:1808.06866
![Google Search](../../Resources/images/icon_google.png)
B. Sareni, L. Krahenbuhl, 1998, Fitness Sharing and Niching Methods Revisited, IEEE
Transactions on Evolutionary Comutation, Vol. 2, No. 3, pp. 97-106
![DOI](../../Resources/images/icon_crossref.png)
The CIFAR-10/100 dataset, https://www.cs.toronto.edu/~kriz/cifar.html
![Google Search](../../Resources/images/icon_google.png)
The ImageNet dataset, https://www.image-net.org/
![Google Search](../../Resources/images/icon_google.png)
K. Simonyan, A. Zisserman, 2014, Very Deep Convolutional Networks for Large-Scale
Image Recognition, International Conference on Learning Representations
![Google Search](../../Resources/images/icon_google.png)
K. He, X. Zhang, S. Ren, J. Sun, 2016, Deep Residual Learning for Image Recognition,
Computer Vision and Pattern Recognition
![Google Search](../../Resources/images/icon_google.png)
저자소개
He received the BS, MS, and Ph.D degrees in Electrical Engineering from Yonsei University,
Seoul, Korea, in 1986, 1988, and 1993 respectively.
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 Engineering & Manufacturing, Michigan State University 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.