728x90
반응형
CNN이란?
CNN은 이미지의 전체가 아닌 부분을 보는 것이 핵심 아이디어인데요. 이 부분에 해당하는 것을 filter라고 합니다.
쉽게 말하면 뉴럴네트워크에 Convolution과정을 하는 건데요. Convolution은 어떠한 filter를 통해서 하나의 새로 값을 얻어내는 것이라고 말할 수 있습니다. (사실 복잡하게 설명할 수 있지만 여기서는 간단하게 언급하겠습니다.)
image 의 사이즈가 7x7 이고 filter가 3x3 이라고 가정을 했을 때 image의 부분마다 새로운 값을 뽑아내야합니다.
filter의 size가 3x3 이니 9개의 parameter 가 있고 이 값이 가중치 W에 대해서 ReLu나 Sigmoid 같은 activation function을 거쳐서 새로운 값을 출력합니다. 이때 이미지를 훑는 간격을 stride라고 합니다. stride가 클수록 값을 뽑아내는 횟수가 적어지는 걸 알 수 있겠죠. 그리고 생각을 해보면 Convolution을 할 수록 크기가 작아질텐데 크기를 유지하기 위해 padding 을 추가할 수 있습니다.
과제
CIFAR-10 이미지 분류를 위한 CNN 구성
아래 코드를 확인하시면 CIFAR-10 을 통해서 학습을 하고 평가하고 그래프와 사진들도 확인할 수 있습니다.
https://github.com/Chung-god/ComputerVision/blob/main/CNN.ipynb
728x90
반응형
'공부 > 컴퓨터비젼' 카테고리의 다른 글
[컴퓨터비젼 과제] 6. SVM(Support Vector Machine) (0) | 2021.05.27 |
---|---|
[컴퓨터비젼 과제] Epipolar Geometry (0) | 2021.05.14 |
[컴퓨터비젼] 13. Stereo (0) | 2021.04.18 |
[컴퓨터 비젼] 11.Single-View Modeling (0) | 2021.04.18 |
[컴퓨터 비젼] SIFT(Scale Invariant Feature Transform (1) | 2021.04.12 |