Showing
1 changed file
with
9 additions
and
12 deletions
1 | -## 상관계수 정규화와 동적 필터 가지치기를 이용한 심층 신경망 압축 | 1 | +# 상관계수 정규화와 동적 필터 가지치기를 이용한 심층 신경망 압축 |
2 | Dynamic Filter Pruning with Decorrelation Regularization for Compression of Deep Neural Network | 2 | Dynamic Filter Pruning with Decorrelation Regularization for Compression of Deep Neural Network |
3 | > 2020 한국소프트웨어종합학술대회 (KSC2020) 학부생논문 경진대회 출품작 | 3 | > 2020 한국소프트웨어종합학술대회 (KSC2020) 학부생논문 경진대회 출품작 |
4 | 4 | ||
5 | -### Prerequisites | 5 | +## Prerequisites |
6 | 6 | ||
7 | * Ubuntu 18.04 | 7 | * Ubuntu 18.04 |
8 | * Python 3.7.4 | 8 | * Python 3.7.4 |
... | @@ -10,15 +10,14 @@ Dynamic Filter Pruning with Decorrelation Regularization for Compression of Deep | ... | @@ -10,15 +10,14 @@ Dynamic Filter Pruning with Decorrelation Regularization for Compression of Deep |
10 | * numpy 1.18.1 | 10 | * numpy 1.18.1 |
11 | * GPU (cuda) | 11 | * GPU (cuda) |
12 | 12 | ||
13 | -### Build | 13 | +## Build |
14 | - | ||
15 | ``` | 14 | ``` |
16 | $ python modeling.py --prune_type structured --prune_rate 0.6 --reg reg_cov --odecay 0.7 > result.txt | 15 | $ python modeling.py --prune_type structured --prune_rate 0.6 --reg reg_cov --odecay 0.7 > result.txt |
17 | ``` | 16 | ``` |
18 | * `run.sh`에서 parameter 조절 후 `./run.sh`로 진행 | 17 | * `run.sh`에서 parameter 조절 후 `./run.sh`로 진행 |
19 | 18 | ||
20 | -### Process | 19 | +## Process |
21 | -**0. Data, Model & Parameters** | 20 | +### 0. Data, Model & Parameters |
22 | - Data : CIFAR-10 | 21 | - Data : CIFAR-10 |
23 | - Model : ResNet-50 | 22 | - Model : ResNet-50 |
24 | - Optimizer : Stochastic Gradient Descent | 23 | - Optimizer : Stochastic Gradient Descent |
... | @@ -28,8 +27,7 @@ $ python modeling.py --prune_type structured --prune_rate 0.6 --reg reg_cov --od | ... | @@ -28,8 +27,7 @@ $ python modeling.py --prune_type structured --prune_rate 0.6 --reg reg_cov --od |
28 | - Loss Function : Cross Entropy | 27 | - Loss Function : Cross Entropy |
29 | - Metric : Accuracy, Sparsity | 28 | - Metric : Accuracy, Sparsity |
30 | 29 | ||
31 | -**1. 동적 필터 가지치기 (Dynamic Filter Pruning)** | 30 | +### 1. 동적 필터 가지치기 (Dynamic Filter Pruning) |
32 | - | ||
33 | L1 norm 크기를 기반으로 필터 마스크를 생성하여 가중치 학습 시 반영 | 31 | L1 norm 크기를 기반으로 필터 마스크를 생성하여 가중치 학습 시 반영 |
34 | - 필터 마스크 : ![image](https://user-images.githubusercontent.com/41580746/102396051-41616d80-401f-11eb-9738-7b5df9aee0d4.png) | 32 | - 필터 마스크 : ![image](https://user-images.githubusercontent.com/41580746/102396051-41616d80-401f-11eb-9738-7b5df9aee0d4.png) |
35 | - i : 층 위치 | 33 | - i : 층 위치 |
... | @@ -41,20 +39,19 @@ L1 norm 크기를 기반으로 필터 마스크를 생성하여 가중치 학습 | ... | @@ -41,20 +39,19 @@ L1 norm 크기를 기반으로 필터 마스크를 생성하여 가중치 학습 |
41 | - g : 기울기 | 39 | - g : 기울기 |
42 | - γ : learning rate | 40 | - γ : learning rate |
43 | 41 | ||
44 | -**2. 상관계수 정규화 (Decorrleation Regularization)** | 42 | +### 2. 상관계수 정규화 (Decorrleation Regularization) |
45 | - | ||
46 | 기존 loss function에 상관계수 정규화 식을 더하여 최종 손실 함수 계산 | 43 | 기존 loss function에 상관계수 정규화 식을 더하여 최종 손실 함수 계산 |
47 | - loss function : ![image](https://user-images.githubusercontent.com/41580746/102396482-d82e2a00-401f-11eb-93b3-7db5fea8f8af.png) | 44 | - loss function : ![image](https://user-images.githubusercontent.com/41580746/102396482-d82e2a00-401f-11eb-93b3-7db5fea8f8af.png) |
48 | - α : 정규화 상수 | 45 | - α : 정규화 상수 |
49 | - ![image](https://user-images.githubusercontent.com/41580746/102396603-01e75100-4020-11eb-933e-f85305dd874d.png) | 46 | - ![image](https://user-images.githubusercontent.com/41580746/102396603-01e75100-4020-11eb-933e-f85305dd874d.png) |
50 | 47 | ||
51 | -### Result | 48 | +## Result |
52 | 가지치기 비율 60%, 정규화 상수 0.7일 때의 모델별 Accuracy 및 Sparsity 비교 결과 | 49 | 가지치기 비율 60%, 정규화 상수 0.7일 때의 모델별 Accuracy 및 Sparsity 비교 결과 |
53 | - ![image](https://user-images.githubusercontent.com/41580746/102395542-a072b280-401e-11eb-9e47-c3b52d859479.png) | 50 | - ![image](https://user-images.githubusercontent.com/41580746/102395542-a072b280-401e-11eb-9e47-c3b52d859479.png) |
54 | - ![image](https://user-images.githubusercontent.com/41580746/102396706-28a58780-4020-11eb-9ebb-6cc723b4fcbf.png) | 51 | - ![image](https://user-images.githubusercontent.com/41580746/102396706-28a58780-4020-11eb-9ebb-6cc723b4fcbf.png) |
55 | - 기존 동적 필터 가지치기 대비 Accuracy 1.47%, Sparsity 1.08% 증가 | 52 | - 기존 동적 필터 가지치기 대비 Accuracy 1.47%, Sparsity 1.08% 증가 |
56 | 53 | ||
57 | -### References | 54 | +_References_ |
58 | - [1] Yann LeCun, Yoshua Bengio, Geoffrey Hinton. Deep learning. Nature 521, 436-444, 2015. | 55 | - [1] Yann LeCun, Yoshua Bengio, Geoffrey Hinton. Deep learning. Nature 521, 436-444, 2015. |
59 | - [2] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jain Sun. Deep Residual Learning for Image Recognition. 2015. | 56 | - [2] Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jain Sun. Deep Residual Learning for Image Recognition. 2015. |
60 | - [3] 조인천, 배성호. 동적 필터 프루닝 기법을 이용한 심층 신경망 압축. 한국방송미디어공학회 하계학술대회, 2020. | 57 | - [3] 조인천, 배성호. 동적 필터 프루닝 기법을 이용한 심층 신경망 압축. 한국방송미디어공학회 하계학술대회, 2020. | ... | ... |
-
Please register or login to post a comment