본문 바로가기

AI Theory/CV

[케창딥] ch8. 컴퓨터 비전 ConvNet

합성곱 연산

  • Dense layer(fully connected layer)
    • 입력 특성 공간의 전역 패턴을 학습
  • 합성곱 층

    • 지역 패턴 학습
    • 평행 이동 불변성(translation invariant)
    • 패턴의 공간적 계층 구조 학습
    • 지역적이고 평행이동으로 변하지 않는 특성을 학습하므로 지각에 관한 문제에서 매우 효율적이므로 매우 작은 이미지 데이터셋에서 특성공학 없이 컨브넷 훈련해도 좋은 결과를 만들수 있다.

    합성곱 작동 방식

    1. 3D input feature map을 3*3 윈도우가 sliding하며 3D feature patch 추출
    2. 3D feature patch와 합성곱 커널의 점곱으로 1D patch로 변환
    3. 변환된 1D patch를 3D feature map으로 재구성

    이때 출력 높이와 너비는 입력 높이와 너비와 다를 수 있다. 패딩과 스트라이드 때문이다.

    padding

    • 입력과 동일한 높이와 너비를 가진 output feature map을 얻고 싶을 때
    • 입력 특성 맵의 가장자리에 적절한 개수의 행과 열을 추가해서 0으로 채운다
    • conv2d 층에서 padding 매개변수로 설정 가능하며 옵션은 2가지: valid(패딩 추가 안함), same(패딩추가)

    stride

    • 합성곱 진행시 두 번의 연속적인 윈도우 사이의 거리
    • 스트라이드 2를 사용했다는 것은 특성 맵의 너비와 높이가 2의 배수로 다운샘플링 되었다는 뜻이다
    • stride 합성곱은 분류 모델에서는 잘 사용되지 않으며 분류 모델은 max pooling 연산을 사용하는 경우가 많다.

    max pooling

    • stride 합성곱과 비슷하게 강제적으로 특성 맵을 다운샘플링함
    • input feature map에서 윈도우에 맞는 패치를 추출하고 추출한 패치에 하드코딩된 최댓값 추출 연산을 사용