[부스트 코스_딥러닝 기초다지기] CNN - 1. Convolution은 무엇인가?

이경영·2022년 10월 7일
0
  • Continuous convolution
  • Discrete convolution
  • 2D image convolution 을 거침


: 가장 기본적인 convolutional
=> 도장을 찍게되면 해당 위치에 있는 이미지에 필터를 곱함.

-> 적용 하고자 하는 필터 모양에 따라 블러가될수도, Emboss가 될수도, Outline의 형태가 될 수도 있다.

예를 들어 필터의 형식이 3*3 이고 각 필터에 1/9형식이 사용된다면
3*3이미지에 있는 값의 평균이 다음 Convolutional filter의 아웃풋이 됨 -> 블러된 이미지의 효과를 갖게됨


-> filter의 깊이(3)는 이미지의 깊이(3)과 같다는것이 숨겨져 있음.

28*28의 식 32-5+1=28
* 1이 붙는 식은 필터의 갯수가 1개이기 때문에

ReLU : 0보다 작은값은 0으로, 큰값은 그대로 쓰는

이 연산에 필요한 파라미터의 숫자를 잘 기억해야함

⇒ fully connected layer가 없어지는 추세, 파라미터 의존도가 높기 때문에.
⇒ 내가 학습하고자하는 어떤 모델의 파라미터의 숫자가 늘어나면 늘어날수록 학습이 어렵기 때문에. ⇒ 아무리 학습 잘 시켜도 test 성능이 잘 안나올 수 있다.

파라미터 숫자를 줄이고 Convolutional 레이어를 늘리는 방향으로 가게됨

GooGLeNet

파라미터 계산한번 해보기..!

Stride

Stride = 1 : 커널을 매 픽셀마다 하나씩 찍는것
Stride = 2 : 두칸을 옮겨서 하나씩 찍는것

Padding

이미지 외부의 간격을 하나 추가하는것

Stride와 Padding의 차이



AlexNet : Exercise

1*1 Convolution

  • Dimension reduction
  • To reduce the number of parameters while increasing the depth

    채널을 줄이는것 (128→32로) ⇒ Convolution layer를 더 깊게 쌓으면서 동시에 파라미터숫자를 줄일 수 있게 됨.

profile
꾸준히

0개의 댓글