전체 글(327)
-
10. CNN Example
**정리 : layer가 깊어질 수록 image의 height, width는 줄어들고 channels는 증가하는 경향을 볼 수 있다.** layer가 깊어짐에 따라 image크기가 너무 크게 바뀐다면 학습이 잘 되지 않는다. 순차적으로 감소해야함을 기억하자.
2023.09.15 -
9. Pooling Layers
Max pooling 왜 하나? - 한 특성(feature like 수염, 눈 etc...)이 필터의 한 부분에서 검출(detect)되면 최대값을 남긴다(keep the high number) - 특성이 검출되지 않은 부분에서도 최대값을 남기긴 하지만 여전히 작은값 (예시에서는 2,3)으로 남게 된다. 이때 max pooling filter에 적용되는 filter size, stride, padding 등 모두 hyperparameter (no parameter, no train) pooling filter : 2D. - 즉 각 채널에 개별적으로 적용되는 것. - Max 값을 취하는 방식이기 때문에 parameter가 따로 존재하지는 않는다. stride, filter size만 hyperparamete..
2023.09.15 -
8. Simple Convolutional Network Example
마지막 Convolution operation 후 모든 벡터를 선형으로 변환(Linear) 이후 작업해야할 task에 따라 sigmoid or softmax를 통해 predict를 생성
2023.09.15 -
7. One Layer of a Convolution Network
기존 layer의 forward propagation을 생각해보면 A[l] = g(Z[l]), Z[l] = np.dot(W[l], A[l-1]) + b[l] - W[l]이 filter가 된다. 이젠 np.dot 처럼 행렬곱이 convolution 연산을 수행할 뿐. - Z[l] = W * A[l-1] + b , 이때 *는 convolution operation.
2023.09.15 -
6. Convolutions Over Volume
shape : (height, width, number of channels) - input and filter's number of channels must be same. convolution operation? - sum of 27 element-wise multiplys filter는 vertical or horizontal filter처럼 특징을 추출하는 filter이다. - 여러개를 사용할 수록 모델은 여러 특징을 검출하는 모델이 될 수 있으므로 이미지 영상처리에서 매우 강력한 효과를 보여준다.
2023.09.15 -
5. Strided Convolutions
이전 convolution 연산은 stride=1인 경우를 본 것이다. n은 input size, f는 filter size, p는 padding, s는 stride라고 할 때 output shape은 ((n+2p-f) / s) + 1이 된다. 원래 수학적 정의로 convolution filter란 flipped matrix로 합성곱을 진행해야하지만, 딥러닝에서는 filter내의 weight를 학습하므로 flipped(뒤집는) 행위가 크게 차이를 내지 않는다. 따라서 그냥 편하게 이 또한 convolution
2023.09.15