본문 바로가기

합성곱2

# 2. Convolution Neural Network (CNN) - Code 지난 포스트에서는 CNN의 개념에 대해 살펴보았다. 이번 포스트에서는 CNN을 실제로 구현 및 학습하는 코드를 직접 작성해본다. 코드는 Pytorch를 기반으로 작성했다. 1. 필요한 모듈 import import torch import torchvision import torchvision.transforms as transforms 필자는 시각데이터(이미지)를 다룰 것이기 때문에 torchvision 모듈을 택했다. 2. transform 정의 transform = transforms.Compose( [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))] ) 이미지를 텐서형태로, 평균은 0.5, 표준편차도 0.5로.. 2021. 5. 6.
# 1. Convolution Neural Network (CNN) - Theory 이번 포스트에서는 합성곱(Convolution) 연산을 기반으로 이미지에서 특징을 검출하는데에 적합한 신경망인 CNN에 대해 알아본다. 먼저 CNN의 전체적인 구조에 대해 살펴보자. Input으로 이미지가 들어오면 Convolution, Activation function, Pooling 세 가지의 레이어가 반복적으로 나타난다. 이 과정은 이미지로부터 작은 특징들부터 조합하여 점점 큰 특징들을 검출하는 과정이다. 그 후에는 Flatten 과정을 통해 검출한 특징들에 대한 이미지(feature map)를 일렬로 펼치는 작업을 수행한다. 마지막으로 Fully Connected 레이어를 통해 모든 클래스에 대해 일치할 확률을 출력한다. CNN의 구조에 나오는 기본용어에 대해서 간략하게 정리해보자. 그전에, 이.. 2021. 5. 3.