CNN (Convolutional Neural Network)

tjdxordlsmsa·2026년 2월 13일

CNN은 이미지 인식과 같은 컴퓨터 비전 분야의 데이터 분석을 위해 사용되는 인공신경망이다. 입력 데이터의 지역적 특징을 추출하는 데 특화된 구조로, 합성곱 연산을 주로 사용한다. CNN은 부분연결(Partial Connectivity), 가중치 공유, 계층적 특징 표현의 특징을 가진다.
CNN은 크게 Convolution Layer, Pooling Layer, Fully Connected Layer로 구성된다.

Convolution Layer는 Conv' Filter(가중치 행렬)로 합성곱 연산을 수행하는 층으로, 입력 데이터에서 feature를 추출해 출력값으로 Feature Map을 생성한다. Filter가 이미지를 스캔하면서 이미지의 특징을 학습하고, 공간적 구조를 보존하면서 특징을 추출한다.
다음으로 Pooling Layer는 Feature Map의 크기를 줄여 계산량을 감소시키고, 모델의 일반화 능력을 높이는 역할을 한다. 보통은 Pooling의 크기와 Stride 크기를 동일하게 하여 차원 축소의 효과를 극대화한다. Pooling 방식에는 크게 두 가지가 있는데, Max Pooling은 지정 영역 내에서 최댓값을 선택하여 중요한 정보를 보존하는 방식으로 노이즈에 강하다. Average Pooling은 지정 영역 내의 평균값을 선택하여 전체적인 특징을 추출하고 과적합을 방지하는 효과가 있다.
Pooling Layer를 통과한 데이터는 Flatten 과정을 통해 1차원 벡터로 변환하여 Fully Connected Layer로 연결된다. FCL은 CNN의 마지막 부분에 위치하게 되며 고정밀 학습을 수행하게 되며, 특징들을 종합적으로 분석해 최종적으로 분류(Classification)나 예측 작업을 수행한다.

이미지 출처: https://irenemjban.medium.com/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-cnn-convolutional-neural-networks-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-836869f88375

profile

0개의 댓글