답변 1
0
안녕하세요. backboss님!
CNN은 커널(혹은 필터)을 학습합니다.
타겟으로 한 클래스(개, 고양이 등)를 잘 찾아낼 수 있는 적합한 커널의 값을 찾아가는 과정이 바로 CNN 모델이 학습하는 것을 의미합니다!
self.conv1 = nn.Conv2d(1, 32, 3, 1)
self.conv2 = nn.Conv2d(32, 64, 3, 1)
self.conv3 = nn.Conv2d(64, 128, 3, 1)
실습 코드 중, 위의 코드를 통해 커널을 만들어준 것이며, 각각의 코드를 해석해보면
첫번째 코드는 1채널(저희가 사용한 데이터는 흑백 데이터이므로 채널이 1입니다.)을 입력 받고, 패딩을 1로 하는 3X3의 사이즈의 커널을 32개 만들어라.
두번째 코드는 32채널(첫번째 코드에서 32개의 커널이 만들어졌고, 그 커널들을 모두 입력으로 받습니다)을 입력으로 받고, 패딩을 1로 하는 3X3의 사이즈의 커널을 64개 만들어라.
세번째 코드는 64채널, 패딩을 1로 하는 3X3의 사이즈의 커널을 128개를 만드는 것을 의미합니다.
그리고 이렇게 만들어진 커널들은 각 이미지들을 순회하며 클래스들의 특징을 학습하게 됩니다.
궁금하신게 있으시면, 언제든지 추가로 질문 남겨주세요!
감사합니다.