Intro
- convolutional Neural Network
- 합성곱 신경망
why CNN so Successful?
- similar to simple and complex cells in V1 area of visual cortex
- david h.hubel, torsten wiesel 노벨상 탐
- feature extraction + classification
hierarchical representations
Honglak Lee and colleagues (2011) as published in “Unsupervised Learning of Hierarchical Representations with Convolutional Deep Belief Networks”
- 레이어가 깊어질수록 전체의 특징을 보게됨
Pre-Trained CNNs
- AlexNet
- VGG
- GoogLeNet
- Deep Residual Net
- 보통 만들어진 모델을 활용하여 사용한다.
- Transfer learning
- 파라미터를 고정한 상태로 아웃 레이어만 수정함 ( 분류 크기 )
- Fine tuning
- backpropagation을 통해 튜닝하여 사용함
bayesian model
- 베이지안 모델을 이용하여 모델을 정할 수 있다.
- 위에서 무슨 모델을 사용할지 정하는 과정
- learning to select pre-trained deep representations with bayesian evidence framework 라는 논문을 참고해보자.
CNN
Convolution
- cnn에서는 가중치를 공유해서 사용한다.
- 이를 필터/커널이라 부른다.
- 합성곱 연산은 다음과 같다.
- 필터를 들어온 행렬에 원소끼리 곱해준다.
- 그 값들을 더해서 출력 행렬에 값을 정한다.
- 이동하여 반복한다.
- input 과 filter 의 결과 행렬은
https://towardsdatascience.com/intuitively-understanding-convolutions-for-deep-learning-1f6f42faee1
가중치는 필터가 적용된 후 나온 행렬의 모든 원소에 더한다.
Padding
- 합성곱을 진행하면 결과 값의 크기가 작아진다.
- 만약 크기를 유지하고 싶다면 padding을 이용한다.
- 보통 0으로 값을 채우는 zero padding을 사용한다.
- 처음 5x5 행렬이 유지되는 것을 확인할 수 있다.
Strided Convolution
- 필터가 이동할 때 간격을 이야기한다.
- 왼쪽은 stride 가 1일 때, 오른쪽은 2일 때이다.
Multi-Channel
- 기본적으로 이미지는 채널이 여러 개이다.
- 기본적으로 rgb만 해도 3차원이다.
- 합성곱을 계산하기 위해서는 필터 또한 채널 크기의 깊이를 가져야 한다.
- 계산 과정은 아래의 이미지를 참고하자.
- 만약 필터의 개수가 K개이면 결과 값이 K개의 채널을 가지게 된다.
- 채널의 길이를 조정할 때는 1x1 Convolution을 사용한다.
1 x 1 Convolution
- 1x1 convolution은 기존 input의 크기를 그대로 출력한다.
- 이에 필터의 개수를 조절하여 output의 channel 길이를 조절한다.
Pooling
합성곱 층 이후 풀링한다.
- 특성 맵을 다운 샘플링하여 크기를 줄인다.
두 가지 방법이 있다.
- max pooling
- average pooling
주로 max pooling이 사용된다.
- 그림처럼 최대 값을 취하는 방식이다.
채널마다 독립적으로 수행된다.
- 즉 채널 길이가 유지된다.
LeNet-5 에 적용해보자
http://vision.stanford.edu/cs598_spring07/papers/Lecun98.pdf
- 32 x 32 입력이 들어온다.
- 합성곱
- 필터 : 5x5 , s=1, 개수 = 6
- 결과 : 28 x 28 x 6
- max pooling
- 2 x 2
- 결과 : 14 x 14 x 6
- 합성곱
- 필터 : 5 x 5, s=1, 개수 = 16
- 결과 : 10 x 10 x 16
- max pooling
- 2 x 2
- 결과 : 5 x 5 x 16 = 400
- Full connection
- 400 x 120 x 84 x 10 ( output )