[๋ ผ๋ฌธ๋ฆฌ๋ทฐ]
ABSTRACT
- Deep Convolutional neural networks๋ ์ง๋ ๋ช ๋ ๋์ ๋ค์ํ ๋ถ์ผ์์ ๋ฐ์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ค.
- Deep Convolutional neural networks์ ๋ง์ ๋งค๊ฐ๋ณ์์ float operation์ผ๋ก ์ธํด ์ฌ์ ํ ์ด๋ ค์ด ๊ณผ์ ๋ก ๋จ์์๋ค.
- ๋ฐ๋ผ์ ์ด๋ฌํ Convolutional neural network์ Pruning์์ ์ ๊ด์ฌ์ด ๋์์ง๊ณ ์๋ค.
- Pruning ๋ฐฉ๋ฒ, Training ์ ๋ต, ์ถ์ ๊ธฐ์ค์ 3๊ฐ์ง ์ฐจ์์ ๋ฐ๋ผ ๋ถ๋ฅ๋ ์ ์๋ค.
Key Words : Convolutional neural networks, machine intelligence, pruning method, training strategy, estimation citerion
Introduction
- ์ฑ๋ฅ์ ํฅ์์ํค๊ธฐ ์ํด ๋ ๊น๊ณ ๋์ ๋คํธ์ํฌ๊ฐ ์ค๊ณ๋์ด ๊ณ์ฐ ๋ฅ๋ ฅ์ ๋ํ ์์๊ฐ ์ฆ๊ฐํ๋ค.
- ์ ํ๋๋ฅผ ํฅ์์ํค๋ ค๋ ์์ ์๋ ๋ง์ ์์์ด ๋ ๋ค. ํ๋ ๋คํธ์ํฌ๋ ๋์ ๋ฆฌ์์ค๊ฐ ํ์๋ก ํ๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด Pruning์ CNN์ ๊ณ์ฐ์ ์ค์ผ ์ ์๊ณ , CNN์ ๋ชจ๋ฐ์ผ ๋ฐ ์๋ฒ ๋๋ ์ฅ์น์์ ๊ตฌํํ ์ ์๊ฒ ํ๋ค.
- Convolutional Neural Networkd Pruning ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ด ๋ถ๋ฅํ๋ค.
- Pruning Method : ์ฌ์ ์ Training Strategy(ํ๋ จ ์ ๋ต)์ Estimation Criterion(์ถ์ ๊ธฐ์ค)์ ๊ฒฐ์ ํ๋ค. Pruning๋ ๋ชจ๋ธ์ non-structured pruning๊ณผ structured pruning์ด ์กด์ฌํ๋ค.
- Training Strategy : ๋งค๊ฐ ๋ณ์๋ฅผ ์ ๊ฑฐํ ์ ์๋ ๋งค๊ฒ ๋ณ์๋ก ๋ง๋ค๊ธฐ ์ํด ์ฌ์ฉ๋๋ฉฐ, hard์ soft, redundant(์ค๋ณต) ์ ๊ทผ๋ฒ์ผ๋ก ๋ถ๋ฅ๋๋ค.
- Estimation Criterion : ์ถ์ ๊ธฐ์ค์ ์ฌ๋ฌ ์๊ณ ๋ฆฌ์ฆ์ ํตํด ์ค๊ณ๋ ์ ์๋ค.
Pruning Method
- ๋ณธ ๋ ผ๋ฌธ์์๋ Pruning ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ณ , ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๋ถ๋ฅํ๋ค.
Non-Structured Pruning
- ์ด๊ธฐ CNN Pruning์ ๋ํ ์ฐ๊ตฌ๋ ๋ชจ๋ธ ๋งค๊ฐ๋ณ์์ ์๊ฐ ๋ง์ง ์๊ธฐ ๋๋ฌธ์ covolution์ ๊ฐ์ค์น์ ์ง์คํ๋ค.
- Pruning์ ์คํ ์ค ํ์ํ ๊ณ์ฐ์ ๋ง์ ๋ถ๋ถ์ ์ฐจ์งํ๋ ๋ถํ์ํ ์ฐ๊ฒฐ์ 0์ผ๋ก ๋ง๋ ๋ค. ์ด๋ ์ํคํ ์ฒ ์ผ๊ด์ฑ์ ์ํด ๊ฐ์ค์น๋ ์ ๊ฑฐ๋์ง ์๊ณ zeroํ๋ ์ ์๋ค.
- Weight Pruning์ ๋ชจ๋ ๊ฐ์ค์น์ ๋ํ ์ขํ๊ฐ ํ์ํ๋ฉฐ, ์ด๋ ํ์ฌ ํ์ฉ๋๋ ๋ชจ๋ธ์์ ๋ง์กฑ์ํค๊ธฐ ์ด๋ ต๋ค.
- Weight zeroizing์ ์ฃผ์ ๋ฌธ์ ๋ ์๋ชป๋ weight pruning์ด๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ์ํด connection splicing ๋ฐฉ๋ฒ์ ์ ์ํ๋ค.
- CNN์ ๊ตฌ์กฐ์ ์ผ๊ด์ฑ์ ์ํด 0 ํ๋ ฌ์ ์ฌ์ฉํ์ฌ Non-Structured Pruning์ ์ ์ฌํ๊ฒ Pruned kernel์ ๋ํ๋ธ๋ค.
- Kernel Pruning์ Non-Structured Pruning Process๋ฅผ ํฌ๊ฒ ๊ฐ์ํํ๋ฉฐ ์ ํ๋์ Pruning ์๋ ์ฌ์ด์ ๊ท ํ์ ์ด๋ฃฐ ์ ์๋ค.
- Kernel Pruning์ ์ฃผ๋ก ์ค๋ณต๋๋ ๋ ์ฐจ์์ convolution kernel ์ ๋กํํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
Structured Pruning
- Structured Pruning์ ๊ตฌ์กฐํ๋ CNN ๋ถ๋ถ์ ์ง์ ์ ๊ฑฐํ์ฌ CNN์ ์์ถํ๊ณ ์๋๋ฅผ ๋์ด๋ ๋์์ ๋ค์ํ ๋ฅ๋ฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ์ง๋๋ค.
- Convolution network์์ ์๋์ ์ผ๋ก ํ์์๋ channel์ ๋ฝ์์ ์ด๋ค ๊ตฌ์กฐ๋ฅผ ํต์งธ๋ก ๋ ๋ ค๋ฒ๋ฆฌ๋ ๋ฐฉ๋ฒ์ด๋ค.
- ๋จ์ผ ํํฐ ํ๋ฃจ๋์ ์ถ๋ ฅ Feature map demension์ ์์ถํ๋ค. ๋ํ ๋ค์ ๊ณ์ธต์ ์ปค๋์ CNN ์ํคํ ์ณ์ ์ผ๊ด์ฑ์ ์ ์งํ๊ธฐ ์ํด ์ ๊ฑฐ๋์ด์ผํ๋ค. ๋ฐ๋ผ์ Structured Filter Pruning์ Structured Filter-Kernel Pruning์ด๋ค.
- Structured Filter-Kernel Pruning์ ํ๋ จ ํ ๋ฟ๋ง์๋๋ผ ํ๋ จ ์ค์๋ ๊ตฌํ๋ ์ ์๋ค.
- Filter-Kernel Pruning์ ์๋ก์ด ์ํคํ ์ณ๋ฅผ ์ ๋ฌํ ์ ์๊ณ ๋ชจ๋ CNN๋ชจ๋ธ์์ ์คํ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ฆฌ ๊ตฌํ๋๋ค. ๋์ฑ์ด ํจ์จ์ ์ผ๋ก ์ค๋ณต์ฑ์ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ํฐ ์ด์ ์ ์ป์ ์ ์๋ค.
- Block Pruning์ ๋ฆฌ๋ชจ๋ธ๋ง ๊ณผ์ ์ ๋ ๊ฐ๊น๋ค. ๋ธ๋ก ์ ์ฒด๋ฅผ Pruningํ๋ ๊ฒ์ ๋ชฉํ๋ก 0 ์
๋ ฅ์ ํผํ๊ธฐ ์ํด ์ฐ๊ฒฐ์ด ๋จ์์๋ ๋ธ๋ก๋ง ์ ๊ฑฐํ ์ ์๋ค.
- ์ผ๋ถ ํน์ ์ํคํ ์ณ์ ๊น์ด ์ค๋ณต์ฑ์ ํจ๊ณผ์ ์ผ๋ก ์ ๊ฑฐ ๊ฐ๋ฅ
- Structured Pruning ์ค์์ Filter-Kernel Pruning์ Blcok Pruning๋ณด๋ค ๋์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค. ๊ทธ๋ฌ๋ ์๋ ์ธก๋ฉด์์๋ Block Pruning์ด ์ฐ์ธํ๋ค.
- Filter-Kernel Pruning๊ณผ ํตํฉํ์ฌ ๊ตฌํํ ์ ์๋ค. -> ๋ ๋์ Pruning ์๋๋ฅผ ์คํ ๊ฐ
Training Strategy
Hard Pruning Strategy
- ๋๋ถ๋ถ ์ ํ ์์ ์์ ์ฌ์ฉ๋๋ค.
- Fig 1์์ 'Retraining' ์ ์ฐจ์ training process์์ ํจ๊ป ์์ฐจ์ ์ผ๋ก ๊ตฌํ๋๋ค.
- Fig 3์์ ๋ณด๋ ๋ฐ์ ๊ฐ์ด, l ๋ฒ์งธ ๊ณ์ธต์ ์ฒซ๋ฒ์งธ ํํฐ์ ๋ํ ์ฒซ๋ฒ์งธ ์ถ๋ ฅ ํผ์ณ๋งต์ ๊ณต๋ฐฑ์ด๊ณ , ๊ทธ ๋ค์ ํํฐ (l+1)๋ฒ์งธ ๊ณ์ธต์ ์ฒซ๋ฒ์งธ ์ปค๋์ ์ ๊ฑฐ๋ ๊ฒ์ด๋ค. -> ๋คํธ์ํฌ๋ ์ผ์ชฝ ๋ ์ด์ด์ ์ํด ์ฌ๊ตฌ์ฑ๋๊ณ ์ ํ๋ ํ๋ณต์ ์ํด ์กฐ์ ์ ํ๋ค -> ํ์ธต, ํ์ธต ํ๋ จ๊ณผ Pruning์ด ๋์์ ๋๋๋ค.
- ๋ฐ๋ผ์ Hard Pruning Strategy๋ Structured Pruning์์๋ง ์ฌ์ฉํ ์ ์๋ค.
- ์ต์ ์ ํ๊ฒ์ ๋ํ reconstruction error๋ฅผ ์ฌ์ฉํ์ฌ hard pruning ์ค ์ต๊ณ ์ ์ฑ๋ฅ์ ์ป๋๋ค.
- Hard Pruning์ ๋ฐ๋ณต์ ์ธ ๋ฏธ์ธ ์กฐ์ ํ๋ก์ธ์ค์ ๋ํด ์๊ฐ ์๋ชจ๊ฐ ํฌ๋ค.
Soft Pruning Strategy
- non-structured weight pruning์์ ๋ถํ์ํ ๊ฐ์ค์น๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๊ฐ์ค์น๋ฅผ Pruningํ๋ค.
- Fig 4 (a)์ (b)์ ํ์๋ ๊ฒ์ฒ๋ผ Filter-Kernel Pruning ๋ชจ๋ธ์ ํ๋ จํ๊ธฐ ์ํด Conv layer ๋ค์ ์ฌ์ฉ๋๋ค.
Redundant Pruning Strategy
- ์ด์ ์์ ๋ค์ ๋๋ถ๋ถ ์ค๋ณต ๋งค๊ฐ ๋ณ์๋ฅผ ์ ๋กํํ๋ ๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
- ์ค๋ณต ํ์ต์ผ๋ก ์ธํ ์๋ก์ด ์ด๋ก ์ด ์ ์๋๋๋ฐ, Fig 4์ (c)์ ํ์๋ ๊ฒ ์ฒ๋ผ ์ ์ฌํ ํํฐ๋ฅผ ๋์ผํ๊ฒ ๋ง๋ค๊ณ , ์ค๋ณต ํํฐ๋ฅผ ๋ค๋ฌ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๋ค.
- Table 2์ฒ๋ผ Soft pruning ๋ฐ Redundant Pruning์ Hard Pruning์ ๋์กฐ์ ์ผ๋ก ์ต์์ ์ฑ๋ฅ์ ๋๋ฌ์ด ๊ฐ๋ฅํ๋ค.
- Hard Pruning๋ ๋ ๊ฐ์ง๋ณด๋ค ๋ ๋ง์ ํ๋ จ ์๊ฐ์ด ์๋ชจ๋๋ค.
Estimation Criterion
- ์ถ์ ๊ธฐ์ค์ Importance-based, reconstruction-based, sparsity-based ๊ธฐ๋ฐ์ ์ธ ๊ฐ์ง ํด๋์ค๋ก ๋ถ๋ฅ๋๋ค.
Importance-based Criterion
- ๋ณดํธ์ ์ธ Criterion์ ๋ ํฐ norm์ด ๋ ๋ง์ ์ ๋ณด๋ฅผ ํฌํจํ๋ค. ๋ฐ๋ผ์ ๋ ์์ ํ์ค๊ฐ์ผ๋ก ๋งค๊ฐ ๋ณ์๋ฅผ ๋ค๋ฌ๋ ๊ฒฝํฅ์ด ์๋ค.
- Importance-based Criterion๋ ๋น ๋ฅธ ๊ณ์ฐ์ ๋ฌ์ฑํ๊ธฐ ์ํด ๋๋ฆฌ ์ฌ์ฉ๋๋ค.
Sparsity-based Criterion
- ๋ ๋์ ์ฐจ์์ ์ ๋ณด์ ์ด์ ์ ๋ง์ถ๋ค.
- ์ ์ฌํ ์ ๋ณด๋ฅผ ๊ณต์ ํ๋ ํํฐ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ ๋ชฉํ๋กํ์ฌ, ์ด๋ ๋ ์ ์ ๋งค๊ฐ ๋ณ์์ ์ถ์ถ ๋ฅ๋ ฅ์ด ์๋ค.
- Sparsity-based Criterion์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ ์ด์ด์์ ํํฐ๋ฅผ ํฌ์ํํ๋ Filter-Scanner Pruning ๊ธฐ๋ฒ๋ ์๋ค.
- ์ด๋ฌํ ์ข ๋ฅ์ ๋ฐฉ๋ฒ์ Non-structured and Structured Pruning์์ ๊ฐ์ฅ ๋ฎ์ ์ฑ๋ฅ ์ ํ๋ฅผ ๋ฌ์ฑํ๋ค.\
Reconstruction-based Criterion
- ์ ๋ ๊ฐ์ง ์ ํ๊ณผ ๋ฌ๋ฆฌ Reconstruction-based Criterion์ output feature map์ ์ง์ ์ด์ ์ ๋๋ค. ์ฃผ์ ์์ด๋์ด๋ Reconstruction error๋ฅผ ์ต์ํํ๋ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ Proning๋ ๋ชจ๋ธ์ ์ฌ์ ํ๋ จ๋ ๋ชจ๋ธ์ ๋ํ ์ต์ ์ ๊ทผ์ฌ์น๊ฐ ๋ ์ ์๋ค.
- ์ถ๋ ฅ์ ๋ ์ค์ํ ํํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด Greedy ํ์์ ์ ์ํ๋ค.
- Tabel 3์ฒ๋ผ Importance-based Criterion ๋ฐ Sparsity-based Criterion์ Reconstruction-based Criterion๋ณด๋ค ๋ ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํ ์ ์๋ค.