CNN
8-1. CNN (Convolution Neural Network)
CNN이 어떻게 인간의 사고방식을 흉내냈나?
- 신경 연결들 (connections)을 잘 끊어냈다.
- 즉, FC가 아니라는 것.
- 이미지들을 인식할 때 우리의 뇌의 일부분만 활성화 된다.
- 첫 레이어에서 모든 픽셀의 값을 보는 것이 좋은 것은 아니다.
- 위치별 특징을 추출한다.
- 위치 정보를 유지한 채로 특정 패턴을 찾는다.
- 머신 같은 경우는 사진이라는 것 자체도 처음 보고 눈,코,입 이러한 특징들도 모르기 때문에 특정 패턴의 위치적인 조합을 통해 이미지를 식별하는 것.
- 애초에 convolution이라는 연산이 위치별 패턴을 찾는 연산이기에 이걸 신경망에 적용하는 것만으로도 사전 정보를 잘 준 것.
CNN 동작 원리

-
예를 들어 3x3사이즈의 입력 사진이 있다고 가정 하자.
-
그중에서 왼쪽 위의 2x2사이즈의 픽셀만 가중치를 곱해서 편향치를 더하고 한개의 출력 값이 나왔다고 하자.
-
같은 가중치 세트로 입력 사진을 모두 훑는 과정을 convolution 연산 과정이라고 말한다.

-
3x3사진에 2x2사이즈의 가중치 세트가 돌아다니면 총 4개의 출력 값을 가진 노드가 생길 것이다.
-
해당 연산 방법에 대한 장점은 FC 신경망과는 달리 해당 출력 값이 나온 위치에 대한 정보를 잃지 않고 각각 노드가 담당하고 있는 정보가 있기에 담당 노드라는 의미가 생기게 된다.

-
위에서 말한 2x2사이즈의 가중치 세트는 커널 혹은 필터라고 부른다.
-
커널의 사이즈에 따라 가중치 갯수가 달라지고 커널마다 편향치는 1개씩 존재한다.
-
즉, 쉽게 말하면 우리가 이전에 배웠던 MLP에서 커널의 개념을 도입함으로써 FC가 아니라 특정 노드만 연결하여 위치 정보까지 추출하는 것이 CNN이다.