합성곱 연산의 원리와 작동 방식

by 송동훈 Hoon Song

CNN(Convolutional Neural Network)의 가장 중요한 구성 요소인 합성곱(Convolution) 연산은 이미지 데이터에서 공간적 특징을 효과적으로 추출하는 핵심 메커니즘이다. 합성곱 연산이 어떻게 작동하고 왜 효과적인지 자세히 알아보자.


합성곱 연산의 기본 개념

합성곱 연산은 입력 이미지의 픽셀들과 그 주변 픽셀들 간의 공간적 관계(Spatial Relationship)를 포착하여 중요한 특징(Feature)을 추출한다. 이는 다음과 같은 과정으로 이루어진다:

Screenshot 2025-04-14 at 9.23.44 PM.png

1. 필터(Filter)와 커널(Kernel):

필터는 이미지의 특정 패턴을 감지하도록 설계된 가중치 집합

커널은 단일 채널에 적용되는 필터의 구성 요소

일반적으로 3×3, 5×5 등 작은 크기의 행렬 형태

2. 합성곱 계산 과정:

커널을 입력 이미지 위에 올려놓고 대응되는 픽셀 값들끼리 곱한 후 합산

이 과정을 입력 이미지 전체에 걸쳐 커널을 이동시키며 반복

계산 결과로 특징 맵(Feature Map)이 생성됨

3. 수학적 표현:

각 위치에서의 출력값 = (커널과 해당 위치 이미지 영역의 원소별 곱의 합) + 바이어스

최종적으로 활성화 함수(주로 ReLU)를 적용


합성곱 연산의 주요 특성

Screenshot 2025-04-14 at 9.28.00 PM.png

1. 가중치 공유(Weight Sharing)

가중치 공유는 CNN의 가장 중요한 특징으로, 같은 필터를 이미지 전체에 반복적으로 적용하는 개념이다:

1) 작동 방식: 3×3 크기의 필터가 있다면, 이 9개의 가중치를 이미지의 모든 위치에 동일하게 적용

2) 장점:

학습해야 할 파라미터 수를 대폭 감소시킴

입력 이미지 크기에 상관없이 일정한 수의 파라미터만 학습

위치 불변성(Translation Invariance) 특성 강화

예를 들어, 32×32 이미지에 3×3 필터를 적용할 경우, 필터의 파라미터는 단 9개(+바이어스 1개)지만, 이를 이미지 전체 영역에 900번 이상 적용하여 특징을 추출한다.


2. 지역적 연결성(Local Connectivity)

각 뉴런은 입력의 전체가 아닌 일부 영역(수용장, Receptive Field)만 처리한다:

중요성: 픽셀들 사이의 공간적 관계 정보를 보존

이점: 인접한 픽셀들 간의 관계를 통해 에지, 텍스처 등의 지역적 특징 감지

결과: 이미지의 2D 구조를 효과적으로 활용할 수 있음


3. 다중 채널 처리

실제 합성곱 연산은 대부분 다중 채널을 가진 입력(컬러 이미지의 RGB 등)과 다중 필터를 사용한다:

1) 입력 다중 채널:

RGB 이미지는 3개 채널을 가짐

각 채널마다 별도의 커널 적용 (모두 다른 가중치 사용)

각 채널별 계산 결과를 합산하여 하나의 출력 채널 생성

2) 다중 필터 사용:

여러 개의 필터를 적용하여 여러 종류의 특징 추출

각 필터는 서로 다른 패턴(에지, 텍스처 등)을 감지

출력 채널(특징 맵)의 개수는 사용된 필터의 개수와 동일


4. 필터 크기와 패딩

필터 크기를 선택하고 패딩을 적용하는 방법에 따라 출력 크기가 달라진다:

1) 출력 크기 계산:

필터 적용 후 출력 크기 = (입력 크기 - 필터 크기 + 1)

예: 32×32 입력에 5×5 필터 적용 시 28×28 출력

2) 제로 패딩(Zero Padding):

입력 이미지 가장자리에 0을 추가하여 크기 유지

출력의 공간적 차원을 보존할 수 있음

가장자리 정보의 손실 방지


합성곱 연산의 계산 과정 예시

Screenshot 2025-04-14 at 9.23.44 PM.png

6×5 크기의 입력 이미지에 3×3 필터를 적용하는 예를 통해 살펴보자:

1. 필터를 입력의 왼쪽 상단부터 위치시킴

2. 대응되는 9개의 픽셀 값과 필터 가중치를 곱하고 합산

3. 결과값을 출력 특징 맵의 해당 위치에 기록

4. 필터를 한 칸 이동하여 과정 반복

5. 입력 전체를 훑을 때까지 계속

이 과정을 거치면 4×3 크기의 특징 맵이 생성된다. 여러 필터를 사용할 경우, 각각의 필터가 별도의 특징 맵을 생성한다.


합성곱 연산의 하이퍼파라미터

CNN에서 합성곱 연산과 관련된 주요 하이퍼파라미터는 다음과 같다:

1. 필터 크기(Kernel Size):

일반적으로 3×3, 5×5 등 소형 사이즈 사용

더 큰 필터는 더 넓은 수용 영역을 가짐

2. 필터 개수(Number of Filters):

추출할 특징의 다양성 결정

일반적으로 층이 깊어질수록 필터 수 증가

3. 스트라이드(Stride):

필터의 이동 간격

스트라이드가 클수록 출력 크기 감소

4. 패딩(Padding):

입력 주변에 추가하는 픽셀(주로 0)

출력 크기 유지 가능


CNN에서 합성곱 층이 중요한 이유


1. 파라미터 효율성:

전통적인 완전 연결 층과 비교해 훨씬 적은 파라미터로 학습 가능

예: 32×32×3 이미지를 처리할 때, 완전 연결 층은 3,072개의 입력에 각각 가중치 필요, 합성곱 층은 필터당 9~25개 정도의 가중치만 필요

2. 특징 계층 구조:

초기 층에서는 에지, 색상 등 단순한 특징 감지

깊은 층에서는 점점 더 복잡한 패턴과 구조 감지

3. 위치 불변성:

특징이 이미지 내 어디에 있든 감지 가능

맥스 풀링과 함께 사용하여 더욱 강화


합성곱 층은 CNN의 핵심 구성 요소로, 이미지 데이터의 공간적 구조를 활용하여 효과적으로 특징을 추출하는 역할을 한다. 이러한 특징 추출 능력은 컴퓨터 비전 분야에서 CNN이 탁월한 성능을 보이는 근본적인 이유이다.

keyword
일요일 연재
이전 19화합성곱 신경망(CNN)의 기본 원리와 특징