본문 바로가기

파이토치12

[3분 딥러닝] 4. 패션 아이템을 구분하는 DNN 저번 시간에 이어서 Fashion MINIST 데이터셋 안의 패션 아이템들을 구분하는 데 사용되는 DNN에 대해서 알아보도록 하겠다. ※ 4.1 Fashion MNIST 데이터셋 알아보기 딥러닝에서는 모델만큼이나 데이터셋이 중요한데, 데이터셋은 우리가 풀고자 하는 문제를 정의하는 것이기 때문이다. 저번 시간에 다뤘던 MNIST 손글씨 데이터와 달리 Fashion MNIST 데이터셋은 숫자를 인식하는 것에서 더 넘어서서 패션 아이템들을 구분할 수 있다. Fashion MNIST는 28 x 28 픽셀의 70,000개의 흑백 이미지로, 신발, 드레스, 가방 등 10개의 카테고리로 존재한다. 원래는 이런 데이터를 받으면 데이터를 가공하고 파이프라인을 직접 만들어야하는데, 파이토치의 토치비전이 자동으로 내려받고 .. 2020. 1. 28.
[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.