μκΈ°μ±
(Kisung Seo)
1β
-
(Department of Electronics Engineering, Seokyeong University, Korea)
Copyright Β© The Korean Institute of Electrical Engineers(KIEE)
Key words
Convolutional neural network, Filter reduction, Genetic algorithm
1. μλ‘
λ₯λ¬λ κΈ°λ²μ€μ νλμΈ CNN (Convolutional Neural Networks)μ μ물체μ μκ° μ²λ¦¬ λ°©μμ μμ©ν κ²μΌλ‘ μμ μΈμλΆμΌμμ
νμν μ±λ₯μ 보μ΄κ³ μλ€
(1,2). CNNμ νΉμ§μ μ μ¬μ μ μΆμΆνμ§ μκ³ , μ
λ ₯ μΈ΅μ μμ λ°μ΄ν°λ₯Ό μ§μ μ
λ ₯νμ¬ μ»¨λ³Όλ£¨μ
μΈ΅μ ν΅ν΄ νΉμ§μ΄ μλ μΆμΆλλ κΈ°λ₯μ κ°μ§κ³ μλ€
(3). ꡬ체μ μΌλ‘, λ€μΈ΅μΌλ‘ ꡬμ±λ λ€μ€ νν° κΈ°λ°μ μλμ νν° μμ± λ°©μμΌλ‘ μΈν΄, λ¨μΌ(μμ) νν° λ° λ―ΈλΆμ΄λ μκ³ λ¦¬μ¦μ μ¬μ©ν΄ νν°λ₯Ό μ€κ³νλ
μ ν΅μ μΈ μ κ·Όλ²
(4)κ³Ό λλΉλλ€.
CNN κΈ°λ°μ λ€μΈ΅ λ° λ€μ€ νν°λ₯Ό νμ΅μ μν΄μ κ°μ νλ©΄μ 물체λ₯Ό μΈμνλ κ²μ μ΄λ―Έ λ°μ΄λ μ±λ₯μ μΈμ λ°κ³ μμΌλ©° μΈ΅μ΄ κΉμ΄μ§μλ‘ μ νλλ λμ±
λμμ§κ³ μλ€
(5,6). GPUλ±μ λ₯λ¬λ μ°μ° νκ²½μ λ°λ¬λ‘ μΈ΅κ³Ό νν°μλ₯Ό λλ¦° λ°©λν κ·λͺ¨μ λͺ¨λΈμ΄ μ±λ₯ ν₯μμ μ£Όλνκ³ μμΌλ©°
(7,8), μΈ΅μ κ·λͺ¨κ° 컀μ§μλ‘ κ΅¬μ‘°μ μ΅μ νκ° λ μ΄λ ΅κ³ λ°©λν μ°μ°λμ νμλ‘ νλ€. κΈ°μ‘΄μ κ²½νμ μΈ μΈ΅ ꡬμ±μμ λ²μ΄λ μ§νμ°μ°μ μ΄μ©νμ¬ CNNμ
ꡬ쑰λ₯Ό μ΅μ ννλ €λ μλκ° μ°κ΅¬λμ΄ μλ€
(9-12). λμ± μ΅κ·ΌμΈ 2018λ
μλ RNNμ μ¬μ©νμ¬ CNN λͺ¨λΈμ μμ±νκ³ κ°ννμ΅μ ν΅ν΄ λ€νΈμν¬μ μ±λ₯μ μ΅λν νλλ‘ RNNμ νμ΅μν€λ NASNet
(13) λ° PNASNet
(14) μ°κ΅¬κ° μ μλμκ³ μ΄μ λ³΄λ€ μ°μν μ±λ₯μ 보μ¬μ£Όκ³ μλ€. RNNμ μ¬μ©ν μ΄μ λ CNNμ ꡬ쑰μ μ°κ²°μ΄ κ°λ³κΈΈμ΄ μ€νΈλ§μΌλ‘ μ ν©νκ² ννλ μ μκΈ°
λλ¬Έμ΄λ€. ννλ CNNμ κ²μ¦ λ°μ΄ν°μ λν΄μ μ±λ₯μ νκ°νκ³ , μ΄ κ²°κ³Όλ₯Ό 보μμΌλ‘ μ¬μ©νμ¬ μ μ±
κ²½μ¬(policy gradient) λ₯Ό κ³μ°νκ³
RNNμ κ°±μ νλ λ°©μμ΄λ€
(13). ννΈ μ§νμ°μ°μ μ¬μ©νμ¬ CNNμ ꡬ쑰λ₯Ό μ΅μ ννλ AmoebaNet
(15) μ°κ΅¬κ° μ μλμμΌλ©°, λ°©λν κ·λͺ¨μ νμμ ν¨μ¨ννκΈ° μν΄μ κ°μ²΄ μ νμ λμ΄ κ°λ
μ λμ
νμλ€(aging evolution bytournament
selection). μ΄ μ°κ΅¬λ κ΅¬κΈ νμμ GPU 500λ μ΄μμ 10μΌ μ΄μ ν¬μ
ν κ²μΌλ‘, NASNet/PNASNetκ³Ό κ²½μν λ§ν κ²°κ³Όλ₯Ό μ»κ³
μλ€
(15).
ννΈμΌλ‘ CNN ꡬ쑰μ μΌλΆμΈ νν° μλ₯Ό μ€μ΄λ μ°κ΅¬κ° μλλκ³ μλ€. μ΄κ²μ μ΄λ―Έ μ€κ³λ λ€νΈμν¬μμ 컨볼루μ
μΈ΅μ νν°μ€μμ μν₯λ ₯μ΄ μ μ κ²λ€μ
μμ ν¨μΌλ‘μ¨ μ 체 λ€νΈμν¬κ° μ°¨μ§νλ λ©λͺ¨λ¦¬ μ©λμ μ€μ΄κ³ , μ²λ¦¬ μλλ₯Ό κ°μμν€λ νΉμ±μ΄ μμΌλ©°, μμΆ(compression)μ΄λ κ°μ§μΉκΈ°(pruning)μ
μ°κ΅¬λ‘ λΆλ₯λλ€
(16-21).
CNN μΈ΅μμ νν°μ μμ λ₯Ό ν΅ν΄ λ€νΈμν¬μ μ©λμ μΆμνλ κ²μ CNNμ μΈ΅ κ΅¬μ‘°κ° κ²°μ λ μνμμ μΈλΆμ μΈ κ°μ μ μ§ννλ κ²μΌλ‘, μ€ κ΅¬μ‘°μ μΈ
μ΅μ νμ ν΄λΉνλ€. μκΈ°ν λλΆλΆμ μ§νμ°μ° κ΄λ ¨ ꡬ쑰 μ°κ΅¬κ° CNN μΈ΅μ μ€κ³μ μ΄μ μ λ§μΆκ³ μλ κ²μ λΉν΄, λ³Έ λ
Όλ¬Έμμλ μ¬μ μ°κ΅¬
(22)μ μ΄μ΄μ μ§νμ°μ°μ κΈ°λ°μ νν° μμ μ΅μ ν μκ³ λ¦¬μ¦ μ°κ΅¬λ₯Ό νμ₯νμ¬ μννλ€. νν° μμ μ μ§νμ°μ°μ μ¬μ©ν μ°κ΅¬λ λ³Έ μ°κ΅¬μ μΈμλ μμ§κΉμ§
μλλμ§ μκ³ μλ€.
μ μνλ μ§νμ°μ° κΈ°λ°μ νν° μΆμ μ κ·Όλ²μ λ¨μ§ κ°μ€μΉ κΈ°λ°μ μμ μ ν΅ν λ€νΈμν¬μ μΆμκ° μλλΌ, νν°μ μμΉ λ° μ ν κ΄κ³λ₯Ό κ³ λ €νμ¬, νΉμ§μ
λν ννλ ₯μ΄ λ ν₯μλ νν° μ§ν©μ μ 곡νλλ° μλ€. μ¦, CNNμ΄ μλμ μΌλ‘ μ νν νν°λ₯Ό μ§νμ°μ°(GA)λ₯Ό ν΅ν΄μ μ μ νμ¬, μ μ μμ νν°λ‘μ
μ΅λν μ±λ₯μ μ μ§νλλ‘ λλͺ¨νλ€. μ§νμ°μ°μ ꡬνμ CNNμ μμ ν νν°λ₯Ό μ μ μλ‘ νννλ€.
6κ°μΈ΅(conv 3, νλ§3)μΌλ‘ ꡬμ±λ λΉκ΅μ μκ·λͺ¨μ CNN λ€νΈμν¬μ λν΄μ ν΄λΉ λ°μ΄ν°λ₯Ό μΆ©λΆν νμ΅μν¨ ν, νμ΅λ λ€νΈμν¬μ κ°μΈ΅μ νν°λ₯Ό
μ§νμ°μ°μ ν΅ν΄ μ¬κ΅¬μ±νκ³ μ΄λ₯Ό ν
μ€νΈ λ°μ΄ν°μ λν΄μ μ ν©λλ₯Ό κ³μ°νλ©΄μ μ΅μ νλ₯Ό μ§ννλ€. νν°μ μΆμμ¨μ μ 체 νν°μ 10-30%λ₯Ό μ€μ νκ³
μΌμ μΈλμ μ§νμ°μ°μ μννμ¬ λΆλ₯μ±λ₯μΈ μ νλ(accuracy)μ κ°μ μ λΉκ΅νλ€. λΆκ°μ μΌλ‘ μ΅μ’
μΈλμμ μ»μ΄μ§ μΆμλκ³ μ μ λ CNN νν°λ€μ
λν΄μ μΆκ°μ μΈ νμ΅μ μ§ννμ¬ μ±λ₯κ°μ μ¬λΆλ₯Ό κ΄μ°°νλ€.
μ μλ λ°©λ²μ CIFAR10μ λν΄μ μ€νμ μννκ³ μλ³Έ λ€νΈμν¬μ λλΉ λΆλ₯μ±λ₯μ μ μ§ μμ€μ ν΅ν΄ νν° μμ μ μ ν¨μ¨μ±μ μ
μ¦νλ€.
2. CNN λ€νΈμν¬ μ΅μ ν λ¬Έμ λΆμ
CNN λ€νΈμν¬λ
κ·Έλ¦Ό. 1κ³Ό κ°μ΄ νΉμ§ μΆμΆκ³Ό κ°μΈνμ κ΄μ¬νλ 컨볼루μ
(convolution) μΈ΅κ³Ό νλ§(pooling) μΈ΅μ΄ μμ°¨μ μΌλ‘ λ°λ³΅λλ©°, νλ°λΆμ λΆλ₯ λͺ©μ μ
μ¬μ©λλ μμ μ°κ²°(fully connected) μΈ΅μ΄ μμΉνλ€. μΌλ°μ μΈ λ€νΈμν¬ μ΅μ ν λ¬Έμ λ ꡬ쑰μ νλΌλ―Έν°λ‘ λ³μλ₯Ό ν¬ν¨νλ€. CNN λ€νΈμν¬μμ
CNN ꡬ쑰μ κ΄ν λ³μλ€μ 컨볼루μ
μΈ΅μ, νλ§ μΈ΅μ, 컨볼루μ
μΈ΅λ΄μ νν° μ λ° ν¬κΈ°λ±μ΄ μμΌλ©°, ν¨λ©, 보ν, νλ§ μ°μ°μ λ°©μλ±μ΄ ν¨κ» μ‘΄μ¬νλ€.
λν 컨볼루μ
μΈ΅κ³Ό νλ§ μΈ΅μ λ°°μ΄μ λν μ‘°ν©κ³Ό μΈ΅κ°μ λΆκΈ°λ κ°λ₯νμ¬ κ΅¬μ‘°μ κ°λ₯ 볡μ‘λλ λμ± μ¦κ°νλ€. λ€νΈμν¬ κ΅¬μ‘°μΈμ νμ΅λ₯ , κ°μ€μΉ κ°±μ λ²,
κ°μ€μΉ μ΄κΈ°ν, λ°°μΉ μ κ·ν, νμ±ν ν¨μλ±μ νμ΄νΌ νλΌλ―Έν°κ° λΆκ°μ μΌλ‘ μ‘΄μ¬νλ, μ΄λ€ μ€ μλΉμκ° κΈ°μ‘΄ μ°κ΅¬μμ μλΉν νμμ΄ λ κ²½μ°κ° λ§μΌλ―λ‘,
CNN λ€νΈμν¬ μ΅μ νλ ꡬ쑰μ μΈ λ¬Έμ κ° μ€μ μΌλ‘ λ³Ό μ μλ€.
(9-12,23)
κ·Έλ¦Ό. 1. CNN λͺ¨λΈ ꡬ쑰
Fig. 1. CNN model structure
κ·Έλ°λ°, μ§κΈκΉμ§ κΈ°μ‘΄ ꡬ쑰μ λΆμκ³Ό κ°μ μ ν΅ν΄ λ§μ΄ μλ €μ§ λ€νΈμν¬λ€μ΄ μ‘΄μ¬νκ³ , μ΄λ€ λ€νΈμν¬λ€μ μΌμ ν κ΅¬μ± ννλ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ, μ 체
λ³ν 곡κ°μ λν μμμ νμ보λ€λ κ³μ° λΉμ©μ κ³ λ €ν μν₯λ ₯ μλ λΆλΆ νμμ΄ λ ν¨μ¨μ μΌ μ μλ€. CNN νν°λ μ ν΄μ§ κ°μλ§νΌ μμλ‘ μμ±λκΈ°
λλ¬Έμ μλ―Έκ° λ¨μ΄μ§λ νν°κ° ν¬ν¨λ μ μλ€. νμ΅μ ν΅ν΄ νν°κ° κ°μ λμ§λ§, λΆνμν μ¬λΆμ΄ μ¬μ ν μ‘΄μ¬ν μ μλ€.
μ ν΄μ§ μΈ΅ ꡬ쑰μμ μΈ΅ λ΄μ μ μ©ν νν° μ νμ΄λ λΆνμν νν°λ₯Ό ν¨μ¨μ μΌλ‘ μ κ±°νλ λ¬Έμ λ μ€κ΅¬μ‘° μ΅μ νμ ν΄λΉνλ©°, νμ€μ μΈ λμ λ°©μμ΄λ€. CNN
ꡬ쑰/μ΅μ ν λ¬Έμ μ λν λΆλ₯ κ°λ
λκ°
κ·Έλ¦Ό. 2μ λμ μλ€.
κ·Έλ¦Ό. 2. CNN ꡬ쑰/μ΅μ ν λ¬Έμ λΆλ₯
Fig. 2. Classification of CNN structure/parameter optimization
3. CNN νν° μ ν μ΅μ ν
λλΆλΆμ ꡬ쑰 λλ νλΌλ―Έν° μ΅μ ν λ¬Έμ λ λ°©λν κ²½μ°μ μλ‘ κ΅¬μ±λ νμ κ³΅κ° λλ¬Έμ μ§νμ°μ° λ°©μμ΄ μ¬μ©λκ³ μλ€. λν λ¬Έμ μ ννμ μμ΄μ
CNN νν°μ ꡬμ±κ³Ό μ μ μ ννμ΄ λΆν©λλ―λ‘, λ³Έ μ°κ΅¬μμλ μ§νμ°μ°μ μ¬μ©ν νν° μ΅μ ν λ¬Έμ λ₯Ό λ€λ£¨κ³ μ νλ€. νΉν, DNNμ κ° λ
Έλκ° νλμ
κ°μ€μΉ κ°μΌλ‘ μ°κ²°λ κ²μ λΉν΄μ CNNμ νν°λ n X n κ°μ κ°μ€μΉλ‘ ꡬμ±λμ΄ μκΈ° λλ¬Έμ νλμ νν°λΌλ μ΄λ₯Ό λ¨μν κ°μ€μΉ κ°μ κΈ°μ€μΌλ‘
μ²λ¦¬νκΈ° νλ€λ€.
3.1 μ§ν μ°μ°
μ§νμ°μ°μ μ μ μ νν, μ μ μ μμ±, μ ν©λ νκ°, μ ν, μ μ μ°μ° λΆλΆμΌλ‘ ꡬμ±λμ΄ μλ€. μ΄μ€μμ ꡬ쑰/νλΌλ―Έν° μ΅μ ν λ¬Έμ μ λν΄μ λ°μ νκ²
κ΄λ ¨λ λΆλΆμ ν΄μ μ μ μ νν λ°©λ²κ³Ό μμ± λ° νμμ΄λ€. λ³Έ λ
Όλ¬Έμμ λ€λ£¨λ νν°μ μ νμ μ‘°ν© μ΅μ ν λ¬Έμ μ ν΄λΉνλ©°, GA (Genetic Algorithm)
λ°©μμΌλ‘ ꡬννλ€. μ ν λλ μμ ν νν°λ€μ GA μ€νΈλ§μΌλ‘ νννλ€.
GAμ μνκ³Όμ μ λ€μκ³Ό κ°λ€. μ΄κΈ°μ μ€νΈλ§μΌλ‘ ꡬμ±λ κ° κ°μ²΄λ€μ μμλ‘ μμ±νλ€. κ·Έλ¦¬κ³ κ° κ°μ²΄λ₯Ό ν΄μνμ¬ κ΅¬ν ν보 ν΄λ₯Ό μ ν©λ ν¨μλ‘ νκ°νλ€.
μ΄ν, μ£Όμ΄μ§ μ ν λ°©λ²μ μν΄ μ μ μ°μ°μ μ°Έμ¬ν κ°μ²΄λ€μ μ ννλ€. μ νλ κ°μ²΄λ€μ λμμΌλ‘ μ μ μ°μ°μ(κ΅λ°°, λμ°λ³μ΄) μννλ€. κ·Έλ¦¬κ³ μ΄
μ 체과μ μ μ’
λ£μ‘°κ±΄μ΄ λ§μ‘±λ λκΉμ§ λ°λ³΅νλ€. GAμμμ κ΅λ°° μ°μ°μλ μμμ μ μμ λΆλͺ¨μ μ€νΈλ§μ μΌλΆλ₯Ό κ΅μ²΄νλ λ°©μμΌλ‘ μνλλ€.
3.2 νν°μ μ ν/μμ λ¬Έμ μ μ μ μ νν
컨볼루μ
μΈ΅μμ νν°μ μ νκ³Ό μμ λ λμ μ μλ©΄μ΄λ€. νν°μ νν(representation) μΈ‘λ©΄μμ 보면 μ’μ νν°λ₯Ό μ ννλ κ²μ΄ CNN λ€νΈμν¬μ
μ±λ₯μ ν₯μμν¬ μ μλλ°, μ΄κ²μ νμμ±μ΄ λ¨μ΄μ§λ νν°λ₯Ό μμ νκ³ λ¨λ μνμ κ°λ€. μμΆ(compression)μ΄λ κ°μ§μΉκΈ°(pruning)μ
κ΄μ μμλ μμ μμ©μ΄ λ λΆν©λλ€. λ³Έ λ
Όλ¬Έμμλ νν°μ μ ν λ° μμ μ μλ―Έκ° μλ‘ μλμ μ΄λ―λ‘ κ²½μ°μ λ°λΌ νΌμ©νκΈ°λ‘ νλ€. μλμ μΌλ‘ λΆνμν
νν°λ₯Ό μμ νκΈ° μν΄μ κ° μΈ΅μ νν° μ λ²μ λ΄μμ νν° λ²νΈλ₯Ό μ μ μλ‘ κ΅¬μ±νλ€.
κ·Έλ¦Ό. 3κ³Ό κ°μ΄ nκ°μ μΈ΅μΌλ‘ ꡬμ±λ CNN λ€νΈμν¬μ κ° μ»¨λ³Όλ£¨μ
μΈ΅λ§λ€ μμ ν νν° λ²νΈλ‘ ꡬμ±λ μ€νΈλ§μ΄ λμλλ€. μ μ νμ μμ ν λ²νΈλ₯Ό, λ°λλ‘
νννμ μμ λκ³ λ¨μ νν°λ‘ ꡬμ±νμ¬ μ±λ₯μ νκ°νλ€. μ νν νν°λ³΄λ€ μμ ν νν° μκ° μ κΈ° λλ¬Έμ μ μ μ κΈΈμ΄λ₯Ό μ€μ΄κΈ° μν΄μ μμ ν νν°λ₯Ό
μ μ μλ‘ νννλ€.
κ·Έλ¦Ό. 3μμ μ μ μ 맨 μμ μ«μ 2λ conv 1μΈ΅μμ 2λ²μ§Έμ νν°λ₯Ό μμ νλ€λ μλ―Έμ΄λ€. νμ μμμ μμ ν νν°λ₯Ό, ν°μμ 보쑴ν νν° λ²νΈλ₯Ό λνλΈλ€.
κ·Έλ¦Ό. 3. 3 CNN νν° μμ λ₯Ό μν μ μ μ νν
Fig. 3. GA chromosome for deleting CNN filters
3.3 μ μ μ κ³΅κ° νμ
κ·Έλ¦Ό. 3μ λ¨μ§ 3κ°μ 컨볼루μ
μΈ΅μΌλ‘ ꡬμ±λ μκ·λͺ¨μ CNN λ€νΈμν¬λ₯Ό μλ‘ λ€μμ§λ§, 컨볼루μ
μΈ΅μ΄ λμ΄λκ±°λ μΈ΅ λΉ νν°μκ° μ¦κ°λ λκ·λͺ¨μ λ€νΈμν¬μΌ
κ²½μ°, μ μ μμ κΈΈμ΄λ λ§€μ° μ»€μ§λ€. μ΄μ λ°λΌ νμ 곡κ°μ΄ λ°©λν΄μ§λ©°, μ΄λ‘ μΈνμ¬ κ΅λ°°λ λ³μ΄ μ°μ°μμ νμ 곡κ°μ μ΄λμ΄ ν¨μ¨μ μ΄μ§ λͺ»νλ€.
μ΄λ₯Ό 보μνκΈ° μν΄μ μΌλ°μ μΈ 1μ κ΅λ°° μ°μ°μ μΈμ λ€μν νμμ μν΄μ 2μ κ΅λ°° μ°μ°μλ₯Ό ν¨κ» μ¬μ©νλ€(
κ·Έλ¦Ό. 4). λν, λμ°λ³ μ°μ°μμ κ²½μ°λ ν κ°μ²΄ λ΄μμ λ€μμ μμκ° λ³μ΄ λ μ μλλ‘ κ΅¬ννλ€.
κ·Έλ¦Ό. 4. μ μ μ°μ°μ a) 1μ κ΅λ°°, b) 2μ κ΅λ°°
Fig. 4. Genetic operations a) one-point crossover, b) two- point crossover
3.4 μ§νμ°μ° μν λ°©μ
μ§νμ°μ°μ μ¬μ©ν CNN ꡬ쑰 μ΅μ νμ λν κ΅¬κΈ νλ±μ μΌλΆ μ°κ΅¬μμλ 500μ¬λμ λκ·λͺ¨ GPUλ₯Ό μ¬μ©νμ¬ κ° κ°μ²΄λ§λ€ νμ΅κ³Ό ν
μ€νΈλ₯Ό μννμμ§λ§,
λ³Έ λ
Όλ¬Έμμλ μ νλ μ»΄ν¨ν
μμμΌλ‘ ν¨μ¨μ μΈ μ§νμ°μ°μ μννκΈ° μν΄μ, νμ΅ μμ΄ ν
μ€νΈλ§μΌλ‘ κ°μ²΄μ μ ν©λλ₯Ό νκ°νλ€.
Algorithm 1 Evolution of CNN Filter Deletion
|
1: CNN training for train dataset
2: t β 0
3: initialize P(t) // individuals for filter selection
4: procedure Evaluate P(t)
5: CNN test for test dataset
6: calculate accuracy
7: while not termination-condition do
8: t β t+1
9: select P(t) from P(t-1)
10: crossover and mutation P(t)
11: procedure evaluate P(t)
12: CNN test for test dataset
13: calculate accuracy
|
μ§νμ°μ° κΈ°λ°μ CNN νν° μμ λ₯Ό μν μ 체 μκ³ λ¦¬μ¦μ Algorithm 1κ³Ό κ°λ€. μ¬μ μ νμ΅ λ°μ΄ν°μ λν΄μ νμ΅λ CNN λ€νΈμν¬λ₯Ό λμμΌλ‘
μμ ν νν° μ μ μλ₯Ό κ°μ²΄λ‘ μμ±νκ³ , ν
μ€νΈ λ°μ΄ν°μ λν΄μ μ΄λ€μ μ νλ μ±λ₯μ νκ°νλ€. μ§ν μ°μ°μ μΈλλ₯Ό μ¦κ°μν€λ©΄ κ°μ²΄λ₯Ό μ ννκ³ κ΅λ°°μ
λμ°λ³μ΄ μ°μ°μ μννλ©°, μμ ν CNNμ μ±λ₯ νκ° κ³Όμ μ λ°λ³΅μ μΌλ‘ μννλ€.
λ³Έ λ
Όλ¬Έμμλ λ€μκ³Ό κ°μ΄ 3κ°μ§ μ§νμ°μ° μν λ°©μμ μ μνκ³ μ΄λ₯Ό λΉκ΅νλ€(
κ·Έλ¦Ό. 5). 첫째, μ¬μ μ μ ν΄μ§ μμ μ¨(15~30%) λ§νΌμ νν°λ₯Ό ν λ²μ μμ νκ³ , μ΄ν μΆ©λΆν μΈλ(500 epochs)λ₯Ό μ¬νμ΅μμΌ νν° μμ μ
λ°λΌ λ¨μ΄μ§ λΆλ₯ μ νλ μ±λ₯μ λμ΄ μ¬λ¦¬λλ‘ νλ€(
κ·Έλ¦Ό. 5 μλ¨). λμ§Έ, κ° μ»¨λ³Όλ£¨μ
μΈ΅μ λν΄μ μμ°¨μ μΌλ‘ μμ νλλ°, 첫 μΈ΅λ§μ μμ νκ³ μΌλΆ μ¬νλ ¨(100 epochs)μ μνν ν λ λ²μ§Έ μΈ΅μ
μμ νλ€. λ€μ μ¬νλ ¨μ μν ν, μ΄λ₯Ό λ€μ μΈ΅μ λν΄μ λ°λ³΅νλ€(
κ·Έλ¦Ό. 5 μ€λ¨). μ
μ§Έ, μ ν΄μ§ μμ μ¨μ nλ²μΌλ‘ λλμ΄ μννκ³ κ·Έ μ¬μ΄λ§λ€ μ¬νλ ¨(100 epochs)μ μννλ€.
κ·Έλ¦Ό. 5. νν° μμ 3 κ°μ§ λ°©λ² (a) μ 체 νλ² μμ , (b) μΈ΅λ³ μμ , (c) λ°λ³΅μ λΆλΆ μμ
Fig. 5. Filter deletion methods (a) one time deletion (b) layer by layer deletion
(c) iteratively partial deletion
μ¬μ μ€νμ ν΅ν΄ μ΄μ κ°μ λ°©μμ λ³νκ° μ±λ₯μ μλΉν μν₯μ λ―ΈμΉ μ μμμ νμ
νμκ³ , μ΄λ₯Ό κ°μ νμ¬ λ°©λ²ννκ³ μ μνλ€.
4. μ€ ν
CNN νν° μμ μ€νμ
ν 1μ λμ¨ Conv12 λ€νΈμν¬μ λν΄μ CIFAR10 λ°μ΄ν°λ₯Ό μ¬μ©νλ€. μ§ν μ°μ° κ³Όμ μ λ€μκ³Ό κ°μ GA νλΌλ―Έν°λ₯Ό μ¬μ©νμ¬ GTX-1080Ti
GPU νκ²½μμ μνλλ€.
ν 1. Conv12 λ€νΈμν¬μ νλΌλ―Έν°
Table 1. Parameters of Conv12 model
Layer
|
Output Shape
|
Filter Size
|
Parameters
|
Input
|
32 x 32 x 3
|
|
0
|
Conv1
|
31 x 31 x 32
|
2 x 2
|
0.42K
|
Pool1
|
15 x 15 x 32
|
2 x 2
|
0
|
Conv2
|
14 x 14 x 64
|
2 x 2
|
8.26K
|
Conv2
|
13 x 13 x 64
|
2 x 2
|
16.45K
|
Pool2
|
6 x 6 x 64
|
2 x 2
|
0
|
FC
|
|
|
295.04K
|
Output
|
|
|
1.29K
|
μ€νμ μ¬μ©λ GA νλΌλ―Έν°λ λ€μκ³Ό κ°λ€.
1. Number of generations: 20
2. Population sizes: 50
3. Selection: Tournament (size=7)
4. Crossover: 0.85
5. Mutation: 0.2
ν 2λ GA κΈ°λ°μ μ 체 νλ² μμ λ°©λ²μΌλ‘ μ 체 νν°μ 15.6%λ₯Ό μμ ν ν μ§νμ°μ° μ΅μ’
μΈλμμ μλ³Έ λ€νΈμν¬μ 89.7% μ νλλ₯Ό μ»μκ³ , μμ
ν λ€νΈμν¬λ₯Ό 500 epochs μ¬νμ΅νμ¬ 98.3%μ μ±λ₯μ μ»μλ€. μ΄λ₯Ό ν΅ν΄ λ³Έ μ°κ΅¬μμ μλν GA κΈ°λ°μ νν° μμ λ°©λ²μ΄ μ ν¨ν¨μ μ
μ μλ€.
ν 2. GA κΈ°λ° νν° μΆμ-μ μ νλ² μμ (15.6% μμ μ¨)
Table 2. GA-based filtering reduction 1-one time deletion (15% reduction rate)
ACC Data
|
Original
|
GA Filter Selection
|
Retrain after GA Filter Selection (epoch 500)
|
CIFAR-10
|
64.60%
|
57.94%
(89.7%)
|
63.55%(98.3%)
|
ν 3μ κ°μ λ°©λ²μΌλ‘ μ 체 νν°μ 31.3%λ₯Ό μμ ν ν μλ³Έ λ€νΈμν¬μ 83.2% μ νλλ₯Ό μ»μκ³ , μμ ν λ€νΈμν¬λ₯Ό 500 epochs μ¬νμ΅νμ¬
93.4%μ μ±λ₯μ μ»μλ€.
ν 1μ λΉνμ¬ νν°λ₯Ό λλ°° κ°λ μμ νμΌλ―λ‘ λΉμ°ν λΆλ₯ μ±λ₯μ΄ λ§μ΄ μ νλμκ³ , μ¬νμ΅ νμλ
ν 1μ λΉν΄μ μλ³Έ λ€νΈμν¬ μ±λ₯κ³Ό 6.4% μ°¨μ΄λ¨μ μ μ μλ€. κ·Έλ¬λ μμ μ¨μ λΉν΄μλ μ±λ₯ μ νκ° μ μΌλ―λ‘ μ μ κ·λͺ¨μ λ€νΈμν¬μ μ²λ¦¬ μλμ
κ°μλ₯Ό νμλ‘ νλ κ²½μ°μλ μ μ©νλ€κ³ λ³Ό μ μλ€.
ν 3. GA κΈ°λ° νν° μΆμ-μ μ νλ² μμ (15.6% μμ μ¨)
Table 3. GA-based filtering reduction 2 - one time deletion (31% reduction rate)
ACC Data
|
Original
|
GA Filter Selection
|
Retrain after GA Filter Selection (epoch 500)
|
CIFAR-10
|
64.60%
|
53.74%
(83.2%)
|
60.33%(93.4%)
|
μ μλ 3κ°μ§ μ§νμ°μ° λ°©λ²μ λΉκ΅ κ²°κ³Όκ°
ν 4μ λμ μλ€. μ 체 μμ (One time deletion) λ°©λ²μ λΉν΄ μΈ΅λ³ μμ (Layer by layer)μ λ°λ³΅μ λΆλΆ μμ (Iteratively
Partial Deletion)κ° ν¨μ¬ λ μ°μνμμΌλ©°, 15%μ 31% μμ μ¨ κ°μ μ±λ₯ μ°¨μ΄λ λ§€μ° μ μλ€. μ΄λ μΌλΆ μμ μ μ¬νλ ¨μ ν΅ν΄μ
μ§μμ μΈ μ΅μ νκ° μνλμκΈ° λλ¬ΈμΌλ‘ 보μΈλ€. λ°λ³΅μ λΆλΆ μμ κ° μΈ΅λ³ μμ μ λΉν΄μλ μ½κ° λ μ°μν μ±λ₯μ λνλ΄μλ€.
ν 4. 3κ°μ§ GA κΈ°λ° νν° μΆμ λ°©λ²μ λΉκ΅(15%/31% μμ μ¨)
Table 4. Comparison of three GA-based filter reduction methods (15%/31% reduction
rate)
ACC Reduction Rate
|
One Time Deletion
|
Layer by Layer Deletion
|
Iteratively Partial Deletion
|
15%
|
89.7%
|
99.6%
|
99.8%
|
15% (Retrain)
|
98.3%
|
99.7%
|
99.9%
|
31%
|
83.2%
|
97.7%
|
98.6%
|
31% (Retrain)
|
93.4%
|
98.7%
|
99.2%
|
CIFAR-10 λ°μ΄ν° μ€ κ³ μμ΄ μ΄λ―Έμ§μ λν νμ±ν 맡μ΄
κ·Έλ¦Ό. 6μ μκ°νλμ΄ μλ€. μ’μΈ‘μ μλ³Έ λ§΅μ΄ λμ μκ³ , μ€κ°μ μ§νμ°μ° κΈ°λ°μ λ°λ³΅μ λΆλΆ μμ λ₯Ό ν΅ν΄ μ»μ νν°μ ν΄λΉνλ νμ±ν λ§΅μ΄ λμ μλ€.
μλ κ²μμ λΆλΆμ μμ λ νν°μ λμνλ κ²μ΄λΌ κ²κ² νμλμ΄ μλ€. μλ³Έ 맡μ λΉν΄μ, νμ±ν μ λκ° μ½ν 맡λ€μ΄ μ κ±°λκ³ , λλΆλΆ μ μλ―Έν 맡λ€λ‘
ꡬμ±λμ΄ μμμ μ μ μλ€. μ°μΈ‘μ μ κ±°λ νν°μ ν΄λΉνλ νμ±ν 맡μ΄λ€.
κ·Έλ¦Ό. 6. νμ±ν 맡μ μκ°ν (a) μλ³Έ 맡, (b) μμ ν 맡, (c) μ κ±°λ 맡
Fig. 6. Visualization of the activation map (a) original activations (b) updated activations
(c) removed activations
5. κ²° λ‘
CNN λ€νΈμν¬μ μ±λ₯μ μ μ§νλ©΄μ, μ©λκ³Ό κ³μ°λΉμ©μ μΆμνκΈ° μν΄μ μ§νμ°μ° κΈ°λ°μ νν° μμ λ°©λ²μ μ μνμλ€. μ§νμ νν° μμ μ μ¬νλ ¨ κ³Όμ μ
μΈ΅λ³ μνκ³Ό λ°λ³΅μ λΆλΆ μμ λ°©μμ ꡬννκ³ μ 체 νλ² μμ λ°©μκ³Ό λΉκ΅νμλ€. 6κ°μΈ΅(conv 3, νλ§3)μΌλ‘ ꡬμ±λ μκ·λͺ¨μ CNN λ€νΈμν¬μ
μ¬μ©νμ¬ CIFAR10 λ°μ΄ν°μ λν΄μ μ€νμ μννμκ³ , μλ³Έ λ€νΈμν¬μ λλΉ λΆλ₯μ±λ₯μ 99%, μΆμμ¨μ μ΅λ 31%λ₯Ό μ»μ μ μμλ€. μ΄λ₯Ό
ν΅ν΄ μ§νμ°μ°μ νν° μμ μ μ μ©ν μ μλ κ°λ₯μ±μ λ°κ²¬νμκ³ , ν₯ν μΆμμ¨μ νλ λ° κ°μ€μΉ κΈ°λ°μ κ°μ§μΉκΈ°(pruning) μκ³ λ¦¬μ¦κ³Όμ λΉκ΅λ
μνν μμ μ΄λ€.
κ°μ¬μ κΈ
λ³Έ μ°κ΅¬λ 2017νλ
λ μκ²½λνκ΅ κ΅λ΄μ°κ΅¬λΉ μ§μμ μνμ¬ μ΄λ£¨μ΄μ‘μ.
References
Schmidhuber J., 2015, Deep Learning in Neural Networks: An Overview, Neural Networks,
Vol. 61, pp. 85-117
LeCun Y., Bengio Y., Hinton G., 2015, Deep learning, Nature, Vol. 521, pp. 436-444
LeCun Yann, et al., 1998, Gradient based learning applied to document recognition,
Proceedings of the IEEE, pp. 2278-2324
Park Yunwon, Kweon In So, 2016, Ambiguous Surface Defect Image Classification of AMOLEDD
is playsin Smartphones, IEEE Trans. Industrial Informatics, Vol. 12, No. 2, pp. 597-607
Simonyan K., Zisserman A., 2014, Very Deep Convolutional Networks for Large-Scale
Image Recognition, International Conference on Learning Representations
Szegedy C., Liu W., Jia Y., Sermanet P., Reed S., Anguelov D., Erhan D., Vanhoucke
V., Rabinovich A., 2015, Going Deeper with Convolutions, Computer Vision and Pattern
Recognition
He K., Zhang X., Ren S., Sun J., 2016, Deep Residual Learning for Image Recognition,
Computer Vision and Pattern Recognition
Zagoruyko S., Komodakis N., 2016, Wide Residual Networks, arXiv: 1605.07146
Fernando C. et al., 2016, Convolution by Evolution: Differentiable Pattern Producing
Networks, In Proceedings of the 2016 Genetic and Evolutionary Computation Conference,
Denver, CO, USA, pp. 109-116
Rikhtegar A., Pooyan M., Manzuri-Shalmani M., 2016, Genetic algorithm-optimised structure
of convolutional neural network for face recognition applications, IET Computer Vision,
Vol. 10, No. 6, pp. 559-566
Xie L., Yuille A., 2017, Genetic CNN, CVPR
Suganuma M., Shirakawa S., Nagao T., 2017, A Genetic Programming Approach to Designing
Convolutional Neural Network Architectures, Proceedings of GECCO 2017, pp. 497-504
Zoph B., Le Q. V., 2016, Neural Architecture Search with Reinforcement Learning, CoRR
abs/1611.01578
Liu C., Zoph B., Shlens J., Hua W., Li L. J., Fei-Fei L., Murphy K., 2018, Progressive
Neural Architecture Search, ECCV
Real E., Aggarwal A., Huang Y., Le Q. V., 2018, Aging Evolution for Image Classifier
Architecture Search
Hu H., Peng R., Tai Y. W., Tang C. K., 2016, Network trimming: A data-driven neuron
pruning approach towards efficient deep architectures, arXiv preprint arXiv:1607.03250
Li H., Kadav A., Durdanovic I., Samet H., Graf H. P., 2016, Pruning Filters for Efficient
ConvNets, CoRR abs/1608.08710
Huang Q., Zhou K., You S., Neumann U., 2018, Learning to prune filters in convolutional
neural networks, arXiv preprint arXiv:1801.07365
Chen C., Tung F., Vedula N., Mori G., 2018, Constraint- Aware Deep Neural Network
Compression, ECCV, Vol. 8, pp. 409-424
Han S., Mao H., Dally W. J., 2015, Deep compression: Compressing deep neural networks
with pruning, trained quantization and huffman coding, arXiv preprint arXiv:1510.00149
Luo J. H., Wu J., Lin W., 2017, ThiNet: A Filter Level Pruning Method for Deep Neural
Network Compression, ICCV, pp. 5068-5076
Kim J., Lee M., Choi J., Seo K., 2018, GA-based Filter Selection for Representation
in Convolutional Neural Networks, ECCV 2018 Workshop on Compact and Efficient Feature
Representation and Learning in Computer Vision
Seo K., 2018, Analysis of evolutionary optimization methods for CNN structures, Transactions
of the Korean Institute of Electrical Engineers, Vol. 67, No. 6, pp. 767-772
μ μμκ°
1986λ
μ°μΈλνκ΅ μ 기곡νκ³Ό μ‘Έμ
(νμ¬)
1988λ
μ°μΈλνκ΅ λνμ μ 기곡νκ³Ό μ‘Έμ
(μμ¬)
1993λ
μ°μΈλνκ΅ λνμ μ 기곡νκ³Ό μ‘Έμ
(λ°μ¬)
1999~2003λ
Michigan State University, Genetic Algorithms Research and Applications
Group, Research Associate
2002~ 2003λ
Michigan State University, Electrical & Computer Engineering, Visiting Assistant Professor
2011~2012λ
Michigan State University, BEACON (Bio/ computational Evolution in Action
CONsortium) Center, Visiting Scholar
1993λ
~νμ¬ μκ²½λνκ΅ μ μ곡νκ³Ό κ΅μ
κ΄μ¬λΆμΌλ μ§νμ°μ°, λ₯λ¬λ, λ¨Έμ λΉμ , κΈ°μμμΈ‘, μ§λ₯λ‘λ΄