5기(210102~)/C팀

모두의 딥러닝 Lec 18 ~ Lec 21 리뷰

KAU-Deeperent 2021. 2. 12. 01:40

C팀 : 김경태 남서아 김태현 백윤성 이상민

발표자 : 백윤성

 

이번 주는 CNN의 개념, 구조에 대해 배우고 데이터를 받아와 학습시켜보는 과정을 공부했습니다.

발표자는 CNN이 Vision에서 강점을 나타내는 것이 CNN의 어떤 특성 때문인지에 대해 찾아보았습니다. 추가로 저번 주 Batch Normalization에서 나온 학습 파라미터 Gamma, Beta를 왜 학습시키는지에 대해 리뷰하겠습니다.

 

 

1. CNN과 Vision

합성곱 신경망은 image processing에서 강점을 나타내며 자율 주행 자동차, 얼굴 인식 애플리케이션과 같이 객체 인식과 컴퓨터 비전이 필요한 분야에서 많이 사용합니다. 그렇다면 CNN은 왜 image processing에서 강점을 나타낼까요? 발표자는 CNN의 기원이 되는 신경생리학적 발견과 image의 특성에 대한 CNN의 가정에 대해 알아보았습니다.

 

1-1. CNN의 아이디어

실제 동물의 시각 피질 안의 뉴런은 CNN에서의 필터로 볼 수 있습니다. 눈을 통해 들어온 시각 이미지의 일부분의 특성에만 반응을 하여 특성을 추출하여 더 높은 수준의 뉴런에게 전달하는 것이 마치 네트워크의 input에 이미지가 들어와 layer를 거치는 단계와 유사하다고 볼 수 있습니다.

 

위 그림은 얼굴 인식 과정을 보여줍니다. 각 layer마다 노드들은 이미지의 특정 부분을 특징으로 추출하고 있습니다. 또한 layer가 진행되며 처음에는 일부 선만 추출하지만 점차 깊어질수록 눈, 코, 입 등의 얼굴의 부위를 추출하다가 최종적으로 하나의 얼굴을 인식하는 것을 볼 수 있습니다. 즉 CNN의 구조는 사람, 동물이 대상을 인지하는 과정을 모방하여 만든 것임을 알 수 있습니다. 

 

 

1-2. 이미지의 특성에 대한 CNN의 가정

AlexNet 논문에서 이미지가 가진 특성에 대한 CNN의 가정을 볼 수 있습니다.

 

이미지의 특성으로 stationarity와 locality를 언급하였습니다.

 

stationarity of statistics(정상성) : 시계열 데이터의 통계적인 특성이 시간이 지나도 변하지 않는다.

locality of pixel dependencies(지역성) : 이미지에서 한 점과 의미있게 연결된 점들은 주변에 있는 점들로만 국한된다.

 

각 특성이 어떤 것인지 자세히 살펴보고 왜 CNN과 잘 어울리는지 알아보겠습니다.

 

1-2-1. stationarity of statstics

stationarity는 쉽게 말해서 시간이 지나도 동일한 패턴이 반복되는 것이며 위 두 그래프는 stationarity가 나타나는 것과 나타나지 않은 그래프를 보여줍니다. 이것을 이미지에 접목시키면 stationarity를 가지는 이미지는 시간 대신 위치에 위치에 관계없이 동일한 패턴들이 반복되는 특징을 보여줍니다.

 

위 그림은 이미지의 stationarity를 잘 나타냅니다. 자동차라는 하나의 패턴이 위치에 상관없이 반복적으로 나타나는 것을 볼 수 있습니다. CNN은 이러한 패턴을 찾아내기에 최적입니다. 패턴을 학습한 필터가 이미지 전체를 이동하며 convolution 연산을 수행하는 것으로 stationarity의 특성을 가지는 이미지에서 반복적으로 나타나는 패턴들을 모두 찾아낼 수 있습니다.

 

1-2-2. locality of pixel dependencies

locality는 이미지가 작은 특징(ex. , , )들로 구성되어 있고 이 특징들은 이미지 전체가 아닌 일부 지역에 근접한 pixel들로만 구성되고 근접한 pixel끼리 종속성을 가진다는 것입니다.

위 그림에서 코는 파란색 네모칸 안의 pixel들로만 구성되어 있습니다. 또한 코를 구성하기 위해 파란색 네모칸 안의 pixel들끼리 종속적이며 만약 이 pixel들이 섞인다면 더이상 코로 볼 수 없습니다.

 

이러한 특성은 CNN의 sparse interaction의 특성을 가지는 필터로 이미지와 convolution 연산을 하는 것과 매우 어울립니다. sparse interaction이란 하나의 출력 유닛이 입력의 전체 유닛과 연결되어 있지않고 입력의 일부 유닛들만 연결되어 있는 것입니다. 즉 CNN의 각 필터는 이미지를 구성하는 각 입력 pixel 중 이미지의 일부 pixel들과 연결되어 특징을 추출하고 이러한 특징이 이미지를 처리하는 데 강점을 가집니다.

 

 

CNN의 과정 자체가 실제 사람, 동물의 시각 뉴런의 구성에서 아이디어를 얻어 만들어졌으며, 이미지의 두 특성 stationarity와 locality를 가정한 CNN 모델이 이미지를 잘 다루는 것은 당연하면서, sparse interaction의 특성을 가지는 필터를 공유하며 합성곱 연산을 하는 것이 이미지를 처리하는데 매우 잘 맞다고 볼 수 있습니다. 따라서 CNN 모델이 image processing에 강점을 나타내는 것을 알 수 있었습니다.

 

 

2. Batch Normalization parameters - Gamma, Beta

Gradient Vanishing / Exploding 문제를 야기하는 internal covariate shift 문제를 해결하기 위해 batch normalization을 사용하는 것을 보았습니다.

마지막 과정에서 gamma, beta로 scaling과 shift를 진행하는데 이런 과정이 어떤 영향을 주는지 알아보았습니다.

 

먼저 Activation functionnon-linearity를 잃는 것을 방지합니다.

scale, shift 과정 이전에 batch에 있는 input에 대해서 평균으로 빼주고 표준편차로 나눔으로서 normalize를 합니다. 이 경우 input의 모든 값은 평균 0, 표준편차 1로 되어 대부분 0 부근으로 위치하게 됩니다. 위 그림의 두 그래프는 activation function인 sigmoid와 tanh입니다. input이 0 부근으로 몰리게 된다면 non-liearity를 가지는 두 함수의 양 끝단의 값들은 거의 없어지게 되며 결국 linear한 성질을 띄게 됩니다. 따라서 scale과 shift는 이러한 성질을 방지해줍니다.

 

normalize 과정에서 모든 input값에 대해서 평균을 빼주는 것은 bias의 의미를 사라지게 합니다. shift를 통해서 이를 보완해주는 역할을 합니다. 또한 학습을 통해 각 layer마다 적절한 input distribution으로 조정을 가능하게 하여 모델의 본래의 표현력을 유지시켜줍니다.

 

마지막으로 identity mapping을 통해서 normalize하지 않은 것이 모델을 더 잘 표현한다면 두 parameter는

으로 학습해나갈 것이며 normalize하기 이전의 값으로 되돌릴 수 있습니다.