8-1. CNN (Convolution Neural Network)

CNN이 어떻게 인간의 사고방식을 흉내냈나?

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

CNN 동작 원리

image 12.png

  • 예를 들어 3x3사이즈의 입력 사진이 있다고 가정 하자.

  • 그중에서 왼쪽 위의 2x2사이즈의 픽셀만 가중치를 곱해서 편향치를 더하고 한개의 출력 값이 나왔다고 하자.

  • 같은 가중치 세트로 입력 사진을 모두 훑는 과정을 convolution 연산 과정이라고 말한다.

image.png

  • 3x3사진에 2x2사이즈의 가중치 세트가 돌아다니면 총 4개의 출력 값을 가진 노드가 생길 것이다.

  • 해당 연산 방법에 대한 장점은 FC 신경망과는 달리 해당 출력 값이 나온 위치에 대한 정보를 잃지 않고 각각 노드가 담당하고 있는 정보가 있기에 담당 노드라는 의미가 생기게 된다.

image.png

  • 위에서 말한 2x2사이즈의 가중치 세트는 커널 혹은 필터라고 부른다.

  • 커널의 사이즈에 따라 가중치 갯수가 달라지고 커널마다 편향치는 1개씩 존재한다.

  • 즉, 쉽게 말하면 우리가 이전에 배웠던 MLP에서 커널의 개념을 도입함으로써 FC가 아니라 특정 노드만 연결하여 위치 정보까지 추출하는 것이 CNN이다.

Updated: