• toc {:toc}

Introduction

LeNet 을 톡해 convolution(μ΄ν•˜ conv) 이 λ‚˜μ˜¨ 이후, AlexNet 을 톡해 ConvNets 이 large-scale 이미지, λΉ„λ””μ˜€ 인식에 쒋은 μ„±κ³Όλ₯Ό 거둠에 따라 ConvNets 의 μ„±λŠ₯을 μ¦κ°€μ‹œν‚€λŠ” 방법에 λŒ€ν•œ μ—°κ΅¬λ‘œ λ°©ν–₯이 μ΄μ–΄μ‘Œλ‹€.

ν•΄λ‹Ή 논문은 conv 의 νŠΉμ§•λ§΅μ„ μ‹œκ°ν™”ν•˜κ³ , μ–΄λ–»κ²Œ μ‚¬μš©ν•΄μ•Ό conv λ₯Ό 더 효과적으둜 μ‚¬μš©ν•  수 μžˆλŠ”μ§€ μ œμ‹œν•œ 논문이닀. λ…Όλ¬Έμ—μ„œλŠ” AlexNet 을 λͺ¨λΈλ‘œ μ„€μ •ν•΄ μ‹€ν—˜μ„ μ§„ν–‰ν–ˆλ‹€.

image

Fig1

λ…Όλ¬Έμ—μ„œλŠ” Layer 1 μ—μ„œλŠ” edge, corner 와 같은 low-level 의 νŠΉμ§•μ„ 뽑아내고, 측이 κ±°λ“­λ μˆ˜λ‘, μ§ˆκ°μ΄λ‚˜ ν˜•νƒœμ™€ 같은 high-level 의 νŠΉμ§•μ„ λ½‘μ•„λ‚Έλ‹€λŠ” 것을 μ œμ•ˆν–ˆλ‹€.

image

Fig2

Fig2 의 (c) μ—μ„œλŠ” receptive window size 와 stride λ₯Ό 더 μž‘κ²Œ λ§Œλ“œλŠ” 경우 더 λšœλ ·ν•œ νŠΉμ§•μ„ λ§Œλ“€κ³  죽은 νŠΉμ§•λ“€μ΄ 더 덜 보인닀고 μ œμ‹œν•œλ‹€.

λ‹€μŒκ³Ό 같은 연ꡬ에 이어 VGGNet μ—μ„œλŠ” 첫 번째 μΈ΅μ—μ„œ 더 μž‘μ€ receptive window size λ₯Ό μ μš©ν•˜κ³ , λ„€νŠΈμ›Œν¬μ˜ 깊이λ₯Ό μ¦κ°€μ‹œν‚€λŠ” 방법을 μ œμ‹œν–ˆλ‹€.


VGGNet

VGGNet 의 Layer κ΅¬μ‘°λŠ” λ‹€μŒκ³Ό κ°™λ‹€.

image

Fig3
  • Input : 224x224 RGB 이미지
  • Pre-processing : Train set 의 R, G, B 평균값을 각 픽셀에 λΉΌμ€€λ‹€.
  • Conv
    • Kernel size : 3x3
    • Stride : 1
    • Padding : same (좜λ ₯ νŠΉμ§•λ§΅μ˜ 크기가 μž…λ ₯κ³Ό κ°™κ²Œ λ§Œλ“ λ‹€. Stride=1 μ΄λ―€λ‘œ Padding=1)
  • 1x1Conv : Configuration C 에 μ‚¬μš©λ˜λŠ” 1x1conv λŠ” 같은 μ°¨μ›μœΌλ‘œμ˜ μ„ ν˜• λ³€ν™˜ ν›„ ReLU 둜 μΈν•œ λΉ„μ„ ν˜•μ„±μ˜ 증가λ₯Ό μœ„ν•΄ μ μš©ν–ˆλ‹€.
  • MaxPooling
    • Size : 2x2
    • Stride : 2
    • Conv μ—μ„œλŠ” νŠΉμ§•λ§΅ 크기λ₯Ό μœ μ§€ν•˜κ³  MaxPooling μ—μ„œ 크기λ₯Ό 쀄인닀.
    • νŠΉμ§•λ§΅μ˜ 크기가 1/4 둜 쀄어듀면 좜λ ₯ 채널은 2 배둜 μ¦κ°€μ‹œν‚΄μœΌλ‘œμ¨ νŠΉμ§•μ„ λ³΄μ‘΄ν•˜κ³  κΉŠμ€ νŠΉμ§•μ„ 뽑아내렀 ν•œλ‹€.
  • Parameters : 138M (VGGNet-16 이 주둜 많이 μ‚¬μš©λ¨)

VGGNet 의 νŠΉμ§•λ§΅ λ³€ν™”λŠ” μ•„λž˜ κ·Έλ¦Όκ³Ό κ°™λ‹€.

image

Fig4

Discussion

Why use smaller filters? (3x3 conv)

AlexNet κ³Ό Related Work μ—μ„œ μ†Œκ°œν•œ Visualizing and Understanding Convolutional Networks μ—μ„œλŠ” 11x11conv λ₯Ό stride 4 둜, 7x7conv λ₯Ό stride 2 둜 첫 번째 μΈ΅μ—μ„œ μ‚¬μš©ν•˜λ©΄μ„œ 넓은 λ²”μœ„μ˜ νŠΉμ§•μ„ λ½‘μ•„λ‚΄λŠ” 방식을 μ‚¬μš©ν–ˆμœΌλ‚˜, VGGNet μ—μ„œλŠ” 3x3conv λ₯Ό stride 1 둜 μ—¬λŸ¬ 번 μ‚¬μš©ν•˜λŠ” 방식을 μ‚¬μš©ν–ˆλ‹€. μ™œ VGGNet μ—μ„œλŠ” 이런 방식을 μ‚¬μš©ν–ˆμ„μ§€ λΆ„μ„ν•΄λ³΄μž.

1. More non-linearity

image

Fig5

μœ„ 그림은 10x10 μž…λ ₯에 7x7 conv 와, 3x3 conv λ₯Ό stride 1 둜 μ΄λ™μ‹œν‚€λ©° 4x4 νŠΉμ§•λ§΅μ„ λ§Œλ“œλŠ” 그림이닀.

7x7conv 의 경우 1 번의 conv 연산을 ν†΅ν•΄μ„œ 4x4 νŠΉμ§•λ§΅μ„ 좜λ ₯ν•œλ‹€. ν•˜μ§€λ§Œ 3x3conv λŠ” 7x7conv κ°€ 1 번의 연산을 3 번의 연산을 ν†΅ν•΄μ„œ 좜λ ₯ν•œλ‹€. Conv μ—°μ‚° 이후 ReLU λ₯Ό ν†΅κ³Όν•˜κΈ° λ•Œλ¬Έμ— conv 연산을 μ—¬λŸ¬ 번 μˆ˜ν–‰ν• μˆ˜λ‘ λ‹€μ–‘ν•œ νŠΉμ§•κ³΅κ°„μœΌλ‘œ λ³€ν˜•μ‹œν‚€κ³  λΉ„μ„ ν˜•μ„±μ„ μ¦κ°€μ‹œν‚€λŠ” 효과λ₯Ό κ°€μ Έμ˜¨λ‹€. λΉ„μ„ ν˜•μ„±μ„ μ¦κ°€μ‹œν‚€λ©΄ κ²°μ • ν•¨μˆ˜κ°€ 더 λšœλ ·ν•œ 결정을 ν•  수 μžˆλ„λ‘ λ§Œλ“ λ‹€.

2. Decrease the number of parameters

7x7conv 와 3x3conv λ₯Ό 비ꡐ해봀을 λ•Œ νŒŒλΌλ―Έν„°μ˜ 수λ₯Ό κ³„μ‚°ν•΄λ³΄μž.

  • νŒŒλΌλ―Έν„°μ˜ 계산
  • μž…λ ₯κ³Ό 좜λ ₯의 채널이 λͺ¨λ‘ 채널이고 bias κ°€ μ—†λ‹€κ³  κ°€μ •ν•œλ‹€.
  • 7x7conv 의 νŒŒλΌλ―Έν„°
  • 3x3conv 의 νŒŒλΌλ―Έν„°

즉, 3x3 을 μ—¬λŸ¬ 번 μ‚¬μš©ν•˜λ”λΌλ„ 7x7 을 ν•  λ•Œμ— λΉ„ν•΄ νŒŒλΌλ―Έν„°μ˜ μˆ˜κ°€ μž‘λ‹€λŠ” 것을 μ•Œ 수 μžˆλ‹€.

νŒŒλΌλ―Έν„°μ˜ μˆ˜κ°€ ν¬λ‹€λŠ” 것은 그만큼 μ—°μ‚°λŸ‰μ΄ λ§Žλ‹€λŠ” 의미이고, μ΄λŠ” κ³§ 깊게 μŒ“μ„ 수 μ—†λ‹€λŠ” μ˜λ―Έμ΄λ‹€. 이λ₯Ό VGGNet μ—μ„œλŠ” 3x3conv λ₯Ό μ‚¬μš©ν•˜μ—¬ νŒŒλΌλ―Έν„°μ˜ 수λ₯Ό κ°μ†Œμ‹œν‚΄μœΌλ‘œμ¨ 더 κΉŠμ€ 측을 μŒ“μ„ 수 μžˆλ„λ‘ λ§Œλ“€μ—ˆλ‹€.


Result

image

Fig6

A μ—μ„œ E 둜 갈수둝 측을 깊게 μŒ“μ€ κ΅¬μ‘°μž„μ„ μƒκ°ν•˜λ©΄ 측이 κΉŠμ–΄μ§ˆμˆ˜λ‘ μ˜€μ°¨κ°€ 더 쀄어듀어 μ„±λŠ₯이 μ¦κ°€ν•˜λŠ” 것을 확인할 수 μžˆλ‹€.

VGGNet 은 3x3conv λ₯Ό μ‚¬μš©ν•¨μœΌλ‘œμ¨ λΉ„μ„ ν˜•μ„±μ˜ 증가, νŒŒλΌλ―Έν„° κ°μ†Œμ˜ 효과λ₯Ό 톡해 ConvNets 의 더 쒋은 μ„±λŠ₯을 μ΄λŒμ–΄λƒˆλ‹€.

μ°Έκ³ λ¬Έν—Œ

μ—°κ²°λ¬Έμ„œ