• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    해결됨

커널 관련 질문 드립니다.

23.02.09 14:39 작성 조회수 262

0

 CNN 에서 커널이 참 중요 한데

커널 데이터는 누가 어떻게 만들어 주나요

답변 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개를 만드는 것을 의미합니다.

그리고 이렇게 만들어진 커널들은 각 이미지들을 순회하며 클래스들의 특징을 학습하게 됩니다.

 

궁금하신게 있으시면, 언제든지 추가로 질문 남겨주세요!

감사합니다.