합성곱 신경망의 구성 요소

Jaeseok Han·2024년 5월 15일

머신러닝&딥러닝

목록 보기
17/22

합성곱 신경망

1. 합성곱 신경망 소개

합성곱 신경망(Convoluation Neural Network, CNN)은 주로 이미지 처리에 사용되며, 이미지의 특징을 효과적으로 추출하여 분류, 검출, 분할 등의 작업을 수행한다.

1) 합성곱 층(Convolution Layer)

합성곱 층은 필터 또는 커널이라는 작은 위도우로 입력 데이터를 스캔하면서 합성곱 연상을 수행한다. 이러한 합성곱 연산을 통해 특징 맵(Feature Map)을 생성한다. 필터는 입력 이미지의 특정 패턴이나 감지하는데 사용된다.

2) 특성 맵(Feature Map)

합성곱 연산을 통해 얻은 출력을 특성 맵이라고 한다. 이 특성 맵은 입력 이미지에서 감지된 특징을 시각화한 것으로 이해할 수 있다.

3) 패딩과 스트라이드

  • 패딩(Padding)은 입력 데이터 주위에 가상의 원소를 추가하여 출력의 크기를 조절하는 기술이다. 주로 입력과 출력의 크기를 동일하게 맞출때 사용한다.

💡패딩을 사용하는 이유?
모서리에 있는 정보는 특성 맵으로 잘 전달되지 않을 가능성이 높음
반면 가운데 있는 정보는 두드러지게 표현되기 때문에 적절한 패딩은 이미지의 주변에 있는 정보를 잃어버리지 않도록 도와줌

  • 스트라이드(Stride)는 필터가 입력 데이터를 이동하는 간격을 나타내며, 스트라이드 값에 따라 출력의 크기가 변화한다.

1. 케라스 합성곱 층

케라스에서는 다양한 합성곱 층을 제공하여 합성곱 신경망을 구성할 수 있다. 주요 합성곱층에는 Conv2D, MaxPooling2D, AveragePooling2D등이 있다.

1) 패딩과 스트라이드 설정

패딩과 스트라이드는 각 합성곱 층의 인자를 통해 설정할 수 있다. 이를 통해 출력의 크기를 조절하거나 모델의 복잡도를 조절할 수 있다.

2) 풀링 층

풀링 층은 특성 맵의 크기를 줄이는 역할을 수행한다. 주로 최대 풀링(MaxPooling)이나 평균 풀링(AveragePooling)을 사용하며, 입력 데이터를 겹치지 않고 이동하면서 특정 영역의 최대값 또는 평균값을 추출한다.

3. 합성곱 신경망의 전체 구조

합성곱 신경망은 여러 개의 합성곱 층과 풀링 층으로 구성되며, 마지막에는 완전 연결층(Fully Connected Layer)을 추가하여 분류나 회귀와 같은 작업을 수행한다. 특히 컬러 이미지의 경우 RGB채널을 가진 3차원 배열(너비, 높이, 깊이)로 표현되며, 각 층의 출력은 다음 층의 입력으로 사용된다.
(완전 연결층은 일차원 배열로 변환하여 전달된다.)

0개의 댓글