AI/Survey

합성곱 신경망(CNN)

moxie2ks 2025. 4. 29. 18:01
728x90
반응형

개요

합성곱 신경망(Convolutional Neural Network, CNN)은 주로 이미지 처리와 컴퓨터 비전 분야에서 광범위하게 사용되는 딥러닝 아키텍처이다. 시각적 데이터의 패턴 인식에 특화된 구조로, 인간의 시각 체계에서 영감을 받아 설계되었다. 2012년 AlexNet이 ImageNet 경진대회에서 우승한 이후, CNN은 컴퓨터 비전 분야의 중추적 기술로 자리 잡았다.

설명

CNN은 일반적인 완전 연결 신경망과 달리 합성곱 계층(Convolutional Layer), 풀링 계층(Pooling Layer), 그리고 완전 연결 계층(Fully Connected Layer)으로 구성된다. 합성곱 계층에서는 필터(또는 커널)가 입력 이미지를 스캔하면서 특징을 추출한다. 이 과정은 수학적으로 합성곱 연산으로 표현되며, 원본 이미지의 공간적 특성을 유지하면서 특징 맵(Feature Map)을 생성한다. 풀링 계층에서는 특징 맵의 차원을 축소하여 계산 복잡성을 줄이고 위치 불변성(Position Invariance)을 강화한다. 마지막으로, 완전 연결 계층은 추출된 특징을 기반으로 분류 작업을 수행한다.

CNN의 핵심 연산인 합성곱은 다음과 같이 표현된다:

(f * g)(t) = ∫ f(τ) g(t - τ) dτ

여기서 f는 입력 신호, g는 필터, t는 시간 또는 공간 변수를 나타낸다. 이산 신호에서는 합으로 표현된다:

(f * g)[n] = Σ f[m] g[n - m]

특징

CNN의 주요 특징은 다음과 같다:

  1. 지역적 수용 영역(Local Receptive Field): 각 뉴런은 이전 계층의 일부 영역만 연결되어 있어, 이미지의 지역적 특징을 효과적으로 포착한다.
  2. 가중치 공유(Weight Sharing): 동일한 특징 맵 내의 모든 뉴런이 같은 가중치를 공유하여 파라미터 수를 크게 줄인다.
  3. 다양한 계층적 특징 학습: 얕은 계층에서는 에지나 텍스처와 같은 저수준 특징을, 깊은 계층에서는 객체 부분이나 전체 객체와 같은 고수준 특징을 학습한다.
  4. 이동 불변성(Translation Invariance): 특징이 이미지 내에서 위치가 변해도 인식할 수 있다.
  5. 크기 감소(Dimensionality Reduction): 풀링 연산을 통해 특징 맵의 크기를 줄여 계산 효율성을 높인다.

예제

CNN 아키텍처의 대표적인 예는 다음과 같다:

  1. LeNet-5 (1998): Yann LeCun이 개발한 초기 CNN 모델로, 필기체 숫자 인식(MNIST 데이터셋)에 사용되었다. 5개의 계층으로 구성되었다.
  2. AlexNet (2012): ImageNet 경진대회에서 혁신적인 성능을 보여준 모델로, 8개의 계층과 ReLU 활성화 함수, 드롭아웃 등의 기법을 도입했다.
  3. VGGNet (2014): 옥스포드 대학의 VGG 그룹이 개발한 모델로, 3x3 합성곱 필터만을 사용하여 네트워크 깊이의 중요성을 강조했다.
  4. GoogLeNet/Inception (2014): 인셉션 모듈을 도입하여 다양한 필터 크기를 병렬로 사용했다.
  5. ResNet (2015): 마이크로소프트 연구팀이 개발한 모델로, 잔차 학습(Residual Learning)을 통해 그래디언트 소실 문제를 해결하고 152개 이상의 계층을 가진 깊은 네트워크를 가능하게 했다.

CNN의 응용 분야는 다음과 같다:

  • 이미지 분류(Image Classification)
  • 객체 감지(Object Detection)
  • 이미지 분할(Image Segmentation)
  • 얼굴 인식(Face Recognition)
  • 의료 영상 분석(Medical Image Analysis)
  • 자율 주행 자동차의 컴퓨터 비전(Computer Vision for Autonomous Vehicles)

결론

합성곱 신경망은 컴퓨터 비전 분야에서 혁명적인 발전을 이끌었으며, 현대 인공지능 시스템의 핵심 구성 요소로 자리 잡았다. 계층적 특징 추출 능력과 가중치 공유를 통한 효율적인 파라미터 사용으로 이미지 인식에 탁월한 성능을 보인다. 최근에는 3D CNN, 그래프 CNN 등으로 확장되어 비디오 분석, 그래프 데이터 처리 등 더 다양한 분야에 적용되고 있다. 또한, 자연어 처리나 오디오 신호 처리 등 비 이미지 데이터에도 CNN의 개념이 응용되고 있어, 그 활용 범위가 계속해서 확장되고 있다. 향후 CNN은 더욱 최적화된 구조와 학습 알고리즘의 개발을 통해 계속해서 발전할 것으로 예상된다.

참고문헌

  1. LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278-2324. http://yann.lecun.com/exdb/publis/pdf/lecun-01a.pdf
  2. Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). ImageNet classification with deep convolutional neural networks. Advances in neural information processing systems, 25. https://proceedings.neurips.cc/paper/2012/file/c399862d3b9d6b76c8436e924a68c45b-Paper.pdf
  3. Stanford University CS231n: Convolutional Neural Networks for Visual Recognition. https://cs231n.github.io/
  4. Deep Learning by Ian Goodfellow, Yoshua Bengio, and Aaron Courville. https://www.deeplearningbook.org/
  5. TensorFlow CNN 튜토리얼. https://www.tensorflow.org/tutorials/images/cnn
728x90
반응형