• toc {:toc}

Introduction

object recognition 연ꡬ가 μ§„ν–‰λ˜λ©΄μ„œ 더 큰 데이터셋, 더 κ°•λ ₯ν•œ λͺ¨λΈ, Overfitting 을 λ°©μ§€ν•  수 μžˆλŠ” 기술이 μ—°κ΅¬λ˜κ³  μžˆλ‹€. LabelMe, ImageNet κ³Ό 같은 더 큰 데이터셋을 닀루기 μœ„ν•΄ 큰 learning capacity λ₯Ό κ°€μ§€κ³  μžˆλŠ” λͺ¨λΈμ„ ν•„μš”λ‘œ ν–ˆκ³  ILSVRC(ImageNet Large Scale Visual recognition Challenge)-2012 λŒ€νšŒμ— μ‚¬μš©λ˜λŠ” ImageNet 데이터셋에 λŒ€ν•΄ κ°€μž₯ 쒋은 κ²°κ³Όλ₯Ό κ°–λŠ” λͺ¨λΈμ„ μ œμž‘ν–ˆλ‹€.


AlexNet

λ…Όλ¬Έμ˜ 첫 번째 μ €μžκ°€ Alex Khrizevsky 이기 λ•Œλ¬Έμ— μ €μžμ˜ 이름을 λ”°μ„œ AlexNet 이라 λΆ€λ₯Έλ‹€.

The Architecture

1. ReLUs

λ‰΄λŸ°μ˜ Activation ν•¨μˆ˜μ˜ 기본적인 방법은 tanh(x) 이닀. ν•˜μ§€λ§Œ AlexNet 은 tanh λŒ€μ‹  속도가 5~6 λ°° 정도 더 λΉ λ₯Έ ReLUs(Rectified Linear Units) λ₯Ό μ‚¬μš©ν–ˆλ‹€. ReLU λ₯Ό μ‚¬μš©ν–ˆμ„ λ•Œ ν•™μŠ΅, 예츑의 속도가 μ¦κ°€ν•˜κ³  μ •ν™•λ„λŠ” μœ μ§€ν•  수 μžˆμ—ˆλ‹€.

2. Local Response Normalization

LRN(Local Response Normalization) μ—λŠ” 신경생리학에 μ‚¬μš©λ˜λŠ” μΈ‘λ©΄ μ–΅μ œ (lateral inhibition) μ΄λΌλŠ” κ°œλ…μ„ ν™œμš©ν•΄ μ‚¬μš©λλ‹€.

β€˜μΈ‘λ©΄ μ–΅μ œλŠ” ν•œ μ˜μ—­μ— μžˆλŠ” μ‹ κ²½ 세포가 μƒν˜Έ κ°„ μ—°κ²°λ˜μ–΄ μžˆμ„ λ•Œ ν•œ κ·Έ μžμ‹ μ˜ μΆ•μƒ‰μ΄λ‚˜ μžμ‹ κ³Ό 이웃 신경세포λ₯Ό λ§€κ°œν•˜λŠ” 쀑간신경세포 (interneuron) λ₯Ό 톡해 이웃에 μžˆλŠ” μ‹ κ²½ 세포λ₯Ό μ–΅μ œν•˜λ €λŠ” κ²½ν–₯이닀.’
μ •μ˜λ§ŒμœΌλ‘œλŠ” μ΄ν•΄ν•˜κΈ° μ–΄λ ΅λ‹€.

μœ„ 그림을 보면 4개의 검정색 μ •μ‚¬κ°ν˜• 쀑간에 νšŒμƒ‰ μ •μ‚¬κ°ν˜•μ΄ λ³΄μ΄λŠ” 것 κ°™λ‹€. ν•˜μ§€λ§Œ μ‹€μ œλ‘œ 이 그림은 κ· μΌν•œ 검은색 μ •μ‚¬κ°ν˜•λ“€μ΄ 흰색 μ„ μœΌλ‘œ λ‘˜λŸ¬μ‹Έμ—¬ 있기만 ν•˜κ³  νšŒμƒ‰μ˜ μ •μ‚¬κ°ν˜•μ€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€. κ²€μ •μƒ‰μ˜ κ°•ν•œ 자극이 비ꡐ적 μ•½ν•œ ν°μƒ‰μ˜ μžκ·Ήμ„ μ „λ‹¬ν•˜λŠ” 것을 μ–΅μ œν•˜λ €λŠ” κ²½ν–₯이 μžˆλ‹€λŠ” 것이닀.
LRN은 이와 같은 μΈ‘λ©΄ μ–΅μ œμ˜ 원리λ₯Ό κ΅¬ν˜„ν•œ 것이닀. κ°•ν•˜κ²Œ ν™œμ„±ν™”λœ λ‰΄λŸ° μ£Όλ³€ 이웃듀에 λŒ€ν•΄μ„œ normalization을 μ‹€ν–‰ν•œλ‹€. 주변에 λΉ„ν•΄ μ–΄λ–€ λ‰΄λŸ°μ΄ κ°•ν•˜κ²Œ ν™œμ„±ν™” λ˜μ–΄ μžˆλ‹€λ©΄, 주변을 normalizationν•¨μœΌλ‘œμ¨ λ”μš± ν™œμ„±ν™”λ˜μ–΄ 보일 것이닀. ν•˜μ§€λ§Œ κ°•ν•˜κ²Œ ν™œμ„±ν™”λœ λ‰΄λŸ°λ“€μ΄ 주변에 λ§Žλ‹€λ©΄ normalization을 μ§„ν–‰ν•œ ν›„ 값이 μž‘μ•„μ§„λ‹€.
λ…Όλ¬Έμ—μ„œλŠ” LRN의 ν•˜μ΄νΌνŒŒλΌλ―Έν„° κ°’μœΌλ‘œ $k=2, n=5, \alpha=0.0001, \beta=0.75$으둜 μ„€μ •ν–ˆλ‹€.

3. Overlapping Pooling

CNN μ—μ„œ pooling layer λŠ” convolution 을 톡해 얻은 νŠΉμ„±λ§΅μ„ μ••μΆ•, μš”μ•½ν•˜λŠ” 역할을 ν•œλ‹€.

μ „ν†΅μ μœΌλ‘œ μ‚¬μš©λ˜μ—ˆλ˜ pooling 은 κ²Ήμ³μ„œ μ§„ν–‰λ˜μ§€ μ•Šμ•˜λ‹€. 즉, size 와 stride κ°€ κ°™λ‹€.

ν•˜μ§€λ§Œ, AlexNet μ—μ„œλŠ” size 보닀 stride λ₯Ό 더 크게 μ μš©ν•΄ overlapping polling 을 μ‚¬μš©ν–ˆλ‹€.

값을 μ‚¬μš©ν–ˆλ‹€.

LeNet-5 λŠ” pooling layer 둜 average pooling 을 μ‚¬μš©ν–ˆμ§€λ§Œ AlexNet μ—μ„œλŠ” maxpooling 을 μ‚¬μš©ν–ˆλ‹€.

논문에 λ”°λ₯΄λ©΄ non-overlapping 에 λΉ„ν•΄μ„œ top-1, top-5 였차율이 각각 0.4%, 0.3% κ°μ†Œν–ˆλ‹€κ³  ν•œλ‹€.


Overall Architecture

Alexnet{: .center}

AlexNet 은 5 개의 convolution layer, 3 개의 fully-connected layer 총 8 개의 layer 둜 κ΅¬μ„±λ˜μ–΄ μžˆλ‹€.

λ§ˆμ§€λ§‰ fully-connected layer 의 output 은 ImageNet 의 class κ°€ 1000 κ°œμ΄λ―€λ‘œ 1000 개의 softmax 둜 λ‚˜νƒ€λ‚Έλ‹€.

AlexNet 은 2 개의 GPU λ₯Ό μ‚¬μš©ν•΄ λ³‘λ ¬μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— 두 갈래둜 연결이 λœλ‹€.

두 번째, λ„€ 번째, λ‹€μ„― 번째 convolution layer 듀은 같은 GPU 에 μžˆλŠ” 이전 layer 만 μ—°κ²°λ˜μ–΄ 있고 μ„Έ 번째 convolution layer λŠ” 2 개의 GPU 에 μžˆλŠ” 이전 layer λͺ¨λ‘ μ—°κ²°λ˜μ–΄ μžˆλ‹€.

μΆ”κ°€λ‘œ, μ‚¬μ§„μ—λŠ” input size κ°€ 224 둜 λ‚˜νƒ€λ‚˜ μžˆμ§€λ§Œ μ‹€μ œ 계산이 μ„±λ¦½λ˜λ €λ©΄ 227x227 의 ν˜•νƒœκ°€ λœλ‹€.

LayerSortKernelOutputKernel SizeStridePaddingActivation Function
InputInput3(RGB)227x227----
C1Conv9655x5511X114-ReLU + LRU
P1MaxPooling9627x273x32--
C2Conv25613x135x522ReLU + LRU
P2MaxPooling25613x133x32--
C3Conv38413x133x311ReLU
C4Conv38413x133x311ReLU
C5Conv25613x133x311ReLU
P3MaxPooling2566x63x32--
FC1Fully Connected-4096---ReLU
FC2Fully Connected-4096---ReLU
FC3Fully Connected-4096---Softmax

μ°Έκ³ 

[1] AlexNet λ…Όλ¬Έ λ³Έλ¬Έ