DL Basic 4강) CNN

한량·2021년 8월 11일
0
post-custom-banner

Convolution

  • filter에 따라 이미지에 다양한 변형을 할 수 있다

  • filter의 dimension은 input의 dimension과 같고
    filter의 갯수는 output의 dimension과 같다

  • convolution + non-linear activation

CNN

  • convolution, pooling layer: feature extranction
  • fully connected layer: decision making(classification 등의 score를 출력)

Stride


Padding

  • 가장자리를 채워줌
  • 보통은 zero padding

Convolution Arithmetic

  • filter size * input의 channel 수 * output의 채널 수

  • fully connected layer의 parameter 수가 convolution layer의 1000배 정도로 차이난다
  • 그래서 요즘은 f-c layer를 줄이고 conv layer를 깊게 쌓아서 parameter 수는 줄이고 성능을 높이는 방향으로 발전중

1 x 1 convolution

  • layer는 깊게 쌓으면서 parameter는 줄이는 방식
  • 3x3 쓰는거에 비해 1x1은 spatial dimension을 유지하면서도 채널을 자유롭게 늘리거나 줄일 수 있다
    채널을 줄이면 압축하면서 노이즈를 줄이는 효과가 있고, 늘리면 더 많은 high level feature를 추출할 수 있는 장점이 있다
  • SeNet 같은데서 1x1로 attention을 주기도 한다


Attention?

"자연어 처리에선 Attention 기법이 많이 연구되었고 널리 쓰이고 있다. 그렇다면 이미지에서도 이미지에 따라 봐야할 부분을 달리해서 가중치를 더 준다면 이미지 분류나 이미지 감지에서 더 좋은 성능을 줄 수 있지 않을까? 이 attention 기능을 해주는 모듈이 바로 BAM, CBAM이다."


CNN vs MLP?

  • 가장 큰 차이는 이미지의 feature를 어떻게 추출하느냐의 차이
  • MLP: 이미지의 픽셀값을 바로 network의 input으로 넣음
  • CNN: Filter를 이용해 convolutional layer, pooling layer를 통과하고 그 결과인 feature map을 network에 input으로 넣음

출처: https://bluediary8.tistory.com/87

profile
놀고 먹으면서 개발하기
post-custom-banner

0개의 댓글