upStage_CV_CNN

TOLL TERRY·2024년 1월 30일
0

Backbone 이해하기: CNN

CNN 기본 개념 다지기

컨볼루션 레이어 : 컴퓨터 비전 task를 수행하는데 유용한 특징들을 학습
Activation Func : 네트워크에 비선형성을 가해주는 역할
Pooling layer : feat map에 spatial agg를 시켜준다.

1. 컨볼루션 layer

  • 네트워크가 유용한 feature들을 학습할 수 있도록함.

filter(=kernel)

  • 인풋 이미지를 특정 크기의 필터를 이용하여, 컨볼루션 연산을 시행하여 필터 영역에 대한 특징을 추축함. - 예시로는 output이 2x2가 나옴

1. stride(S) : filter를 얼마만큼의 간격으로 움직일 것인가?

  • 위와 같이 output의 size를 (NFS+1)(\frac{N-F}{S} + 1)로정의할 수 잇음.
  • 입력이미지가 작아지게 된다는 것(컨볼루션 레이어를 거치면 작아지는 것을 의미한다.)

2. Padding(P) : feature map의 크기를 일정 수준으로 유지

  • zero padding : 0으로 채운 pixel을 주변에 채워넣어주는 것임
  • output size : (NF+2PS+1)(\frac{N-F + 2P}{S} + 1)로 변하게 됩니다.

Activation Func

  • 모델이 비선형성을 가질 수 있도록 만듦.
  • 비선형성이란, 데이터의 분포로부터 선형성만으로는 분류 못하는 것을 가능하게 비선형함수를 이용하여 구할 수 있게됨.
  • 컨볼루션 레이어만으로는 선형성을 판별할 수 있음 - 이를 activation func을 이용하여 비선형성을 가질 수 있도록 함.

Pooling Layer

  • feature map에 spatial aggregation을 시킴.

  • down sampling이 됨.
    224x224 --> 112x112 (output size)
    4x4 --> 2x2 (output size)

  • max pool이라면 : 가장 큰 값들만 가져오게 됨.

  • avg pool이라면 : 값들의 평균을 가져옴.

  • 장점 :
    모델의 파라미터 수가 줄어듬.
    receptive field가 달라지게 됨.

profile
행복을 찾아서(크리스 가드너)

0개의 댓글