카테고리 없음

CNN (Convolution Neural Network)

Roiei 2021. 8. 16. 17:59
반응형

2015년에 AlexNet 10%의 성능향상

 

Convolution

filer learning parameter

    +--+--+--+--+--+
    |xij  |  |  |  |    3x3 filter
    +--+--+--+--+--+    +--+--+--+    +--+--+--+
    |  |  |  |  |  |  x |wij  |  | =  |  |  |  |
    +--+--+--+--+--+    +--+--+--+    +--+--+--+
    |  |  |  |  |  |    |  |  |  |    |  |  |  |
    +--+--+--+--+--+    +--+--+--+    +--+--+--+
    |  |  |  |  |  |    |  |  |  |    |  |  |  |
    +--+--+--+--+--+    +--+--+--+    +--+--+--+
    |  |  |  |  |  |
    +--+--+--+--+--+                      ^
                                          |
                                    feature map

𝜎(w11*x11 + w12*x12 + ...)

𝜎: activation function

 

5x5가 줄어들지 않게 하기 위해서

원본 5x5 padding 하여 출력도 5x5가 되게 하기도 함

stride 1이 아닌 2로 하면 2칸씩 이동하면서 convolution 적용

 

1x1 convolution

RGB image의 경우 3 channels

 

N1xN2xN3      fxf         (N1 - f + 1)x(N2 - f + 1)

 

fxfxN3가 실제로 이나 , 반복 3회로 cover하기에

fxf filter라고 함

 

보통 conv. pooling layer가 하나의 set으로 구성됨

 

max pooling

pooling layer에서는 learning parameter가 없음

 

LeNet-5

이안리쿤이 제시한 최초 CNN model

 

 

CNN이 혁신적인 이유

1) locality

filter마다 각각의 특징을 보는 것임

locality

 

그래서 출력을 feature map이라고 함

locality의 개념을 포함한 개념

FCL는 이게 안 됨

 

FCL

filter size input size와 같다면 이게 FCL

, 모든 입력 feature와 연결되는 것

, 전체로 보기에 각 부분의 data의 특징을 못 찾음 !

 

2) 속도

5x5 filter 3이면 75

chanel 6개면, 75*6 = 450

max pooling에서는 learning param 0

 

CNN은 결국 전체 image에서의 부분들(locality)에 맞는 특징들을 가지고 (, 부분에 대한 특징) 학습을 하기에, 객체인식(전체 영상의 부분) 등을 할 수 있음

그런데 FCL 로도 이를 구현 할 수 있으나, 시간이 많이 걸림

 

 

ResNet의 layer 수

layer가 많을 수록 back-propagation이 잘 안되기에 20개 까지 밖에 사용 못 함

 

skip connection

ResNet skip connection을 사용해서

 

전전 layer 값도 같이 반영 하기에 값이 희미해지지 않고 뒤의 layer에 반영하게 됨

        [] --> [] --> [] --> []
        |              ^
        +--------------+

back-propagation 문제를 해결

 

 

 

 

 

반응형