Day 23: 8-1, 이미지 딥러닝, 왜 CNN이 답인가?

2023. 3. 14. 22:26딥러닝 이론

오늘 공부한 내용은 Ch. 8-1, 정보 이론 기초입니다:

- 이미지 딥러닝 - 왜 CNN을 쓰는가요? MLP와의 비교

- Convolution연산이 뭔가? Filter는 무엇인가?

 

이제 MLP파트를 마무리하고 CNN에 대해 배워볼까요? 우리가 배운 MLP는 input에서 hidden layer를 통해 weights and biases를 거쳐 forward propagation을 하고 다시 gradient descent를 통해 loss를 업데이트하는 backprop을 한다. CNN (convolutional neural network)은 convolution이라는 연산을 통한 다음에 다시 hidden layer에서  forward prop을 하고 backprop을 하게 된다. 비슷하지만 image applications에서 좋은 결과를 낸다고 알려져 있다. 과연 왜 그런 것일까? 오늘은 그 부분에 대해 간략하게 얘기해 보겠습니다.

 

1. 이미지 딥러닝 - 왜 CNN을 쓰는가요? MLP와의 비교

MLP을 안 쓰고 CNN을 쓰는 데는 단연히 좋은 이유가 있겠죠:

1. CNN은 신경다발(connections)을 잘 끊어내요

  • MLP는 모든 픽셀을 다 본다. 하지만 사실 모든 픽셀을 다 볼 필요가 없다!
  • 우리의 뇌가 이미지를 봤을 때 모든 신경세포가 다 활성화 되지 않는다 -> CNN도 이미지를 분석 할 때 모든 노드들이 활성화하지 않는다, 부분만이 활성화한다!

2. 위치별 특징을 잘 추출한다 -> 패턴을 잘 찾는다:

  • MLP는 모든 픽셀을 다 흡수해서 하나하나를 데이터 사용하지만 이미지상의 위치에 기반하진 안는다. CNN은 filter를 통해 convolution이라는 연산을 수행해 작은 chunk의 이미지를 학습하면서 패턴을 찾을 수 있다.

2. Convolution 연산, 그리고 filtering

Convolution은 n by n size의 filter를 사용해 수학적 계산을 하는 것이다. 이의 효과는 위에 기재한 것과 동일하다. 자세한 건 8장에 천천히 다룰 것입니다. 수학적인 부분은 밑에 있는 GIF를 참조하세요!

https://en.wikipedia.org/wiki/Convolution

 

수고하셨습니다~