본문 바로가기

cnn6

[3분 딥러닝] 5. 이미지 처리 능력이 탁월한 CNN 이번 시간에는 이미지 처리에 많이 사용되는 CNN에 대해 알아보도록 하겠다. CNN은 1960년대에 신경과학자인 데이비드 휴벨(David Hubel)과 토르스텐 비젤(Torsten Wiesel)이 시각을 담당하는 신경세포를 연구하다가 서로 비슷한 이미지들이 뇌의 특정 부위를 지속적으로 자극하며 서로 다른 이미지는 다른 부위를 자극한다는 사실을 발견하여 발명되었다. 이미지의 각 부분에 뇌의 서로 다른 부분이 반응하여 전체 이미지를 인식하고, 이미지의 특징을 추출하여 우리 뇌가 인식한다는 것이다. CNN은 Convolutional Neural Network의 줄임말로서, 합성곱 신경망이라고도 한다. 이미지나 비디오같은 영상 인식에 특화된 설계로, 병렬 처리가 쉬워서 대규모 서비스에 적용할 수 있고, 최근에는.. 2020. 1. 28.
[PyTorchZeroToAll] 11. Advanced CNN 이번 시간에는 좀 더 발전된 CNN에 대해서 알아보도록 하겠다. 여러 필터의 사이즈 중에서 어떤 것을 사용해야할까? 위 예에서는 5 x 5, 3 x 3, 1 x 1의 필터들을 쓴 다음 합친다. 맨 처음에 1 x 1 필터로 convolution을 한 뒤 5 x 5, 3 x 3 등과 연결하고, average pooling도 따로 수행한다. 그렇다면 왜 1 x 1 convolution을 수행해야할까? 우리가 56 x 56 이미지를 가지고 있고, 그것의 깊이가 64라고 하자. 우리는 1 x 1 convolution을 여기에 적용하면 결과는 1 x 56 x 56이 될 것이다. dot product이기 때문에 결과의 채널이 1의 깊이를 가지게 되는 것이다. 1 x 1 convolutional layer로 우리는 필.. 2020. 1. 28.
[PyTorchZeroToAll] 10. CNN 이번 시간에는 신경망 구조 중 가장 유명한 CNN에 대해 알아보도록 하겠다. 이미지를 입력으로 받고, convolution을 해서 feature map들을 얻는다. subsampling을 한 뒤 linear layer로 이어져서 classification을 수행한다. convolution이 무엇인지 알아보자. 만약 사진 한 장이 있다면 그것은 가로폭(width), 세로폭(height), 그리고 색을 나타내는 R(빨강), G(초록), B(파랑)의 수치가 있을 것이다. softmax 함수를 적용하는 경우에는 모든 픽셀 정보를 입력으로 넣을 것이다. 그런데 convolution의 경우에는 이미지의 매우 작은 부분, 패치(patch)만 다룬다. 결국 전체 이미지를 다 보긴 하겠지만, 한 번에 한 패치만 처리한다.. 2020. 1. 28.
[DLBasic] 11 - 3. CNN case study 저번 시간까지 CNN의 기본적인 구성 요소를 알아보았다. 이것들을 응용해서 많은 형태를 구성할 수 있다. 가장 처음으로 만들어진 LeCun 교수님의 CNN 모델이다. 5 x 5의 필터를 사용했고 stride는 1이고 총 6개를 사용했다. 6개의 층으로 이루어진 feature map이 나오고 subsampling을 하면서 나아간다. 가장 기본적인 형태이다. 그 다음으로 살펴볼 것은 AlexNET이라는 이미지 경진대회에서 1등을 해서 주목을 많이 받았던 모델이다. 첫번째 layer에서는 color 이미지를 입력받아서 96개의 필터를 사용하고 stride는 4로 해서 output을 얻을 수 있다. 두번째 layer인 pooling layer이다. 3 x 3 필터를 사용하고 stride는 2를 사용했다. 그런 .. 2020. 1. 20.