용어집

컨볼루션 신경망(CNN)

컨볼루션 신경망(CNN)이 어떻게 컴퓨터 비전을 혁신하여 의료, 자율 주행 자동차 등의 분야에서 AI를 지원하는지 알아보세요.

YOLO 모델을 Ultralytics HUB로 간단히
훈련

자세히 알아보기

컨볼루션 신경망(CNN)은 이미지와 동영상 같은 시각적 데이터를 분석하는 데 특히 적합한 딥 러닝 모델의 일종입니다. 기존 신경망과 달리 CNN은 입력 데이터에서 특징의 공간적 계층 구조를 자동으로 적응적으로 학습하도록 설계되었습니다. 이는 컨볼루션과 같은 수학적 연산을 수행하는 레이어를 통해 가장자리, 텍스처, 더 복잡한 모양과 같은 패턴을 감지하여 이루어집니다. CNN은 컴퓨터 비전(CV) 분야에 혁명을 일으켜 기계가 시각 정보를 해석하고 이해하는 방식을 크게 발전시켰습니다.

핵심 구성 요소 및 기능

CNN은 여러 유형의 레이어로 구성되며, 각 레이어는 시각적 데이터를 처리하는 데 고유한 목적을 가지고 있습니다:

  • 컨볼루션 레이어: 이 레이어는 필터를 사용하여 입력 이미지를 스캔하고 특정 패턴을 강조하는 특징 맵을 만듭니다. 각 필터는 수직 가장자리나 곡선과 같은 특정 특징을 감지하는 역할을 담당합니다. 컨볼루션 프로세스에 대한 심층적인 이해를 위해 컨볼루션을 살펴볼 수 있습니다.
  • 레이어 풀링: 일반적으로 컨볼루션 레이어 다음에 사용되는 풀링 레이어는 피처 맵의 공간 크기를 줄여 계산 부하를 줄이고 과적합을 방지하는 데 도움이 됩니다. 일반적인 유형에는 최대 풀링과 평균 풀링이 있습니다.
  • 활성화 함수: 활성화 함수는 네트워크에 비선형성을 도입하여 복잡한 패턴을 학습할 수 있도록 합니다. 인기 있는 옵션으로는 ReLU(정류 선형 단위) 와 그 변형인 Leaky ReLU 등이 있습니다.
  • 완전히 연결된 레이어: 이 레이어는 기존 신경망과 유사하게 모든 뉴런을 이전 레이어에서 다음 레이어로 연결합니다. 일반적으로 네트워크의 맨 끝에 배치되며 컨볼루션 레이어에서 추출한 특징을 기반으로 최종 분류 또는 예측을 담당합니다.
  • 드롭아웃 레이어: 이 레이어는 훈련 시간 동안 업데이트할 때마다 입력 단위의 일부를 0으로 임의로 설정하여 과적합을 방지하는 데 도움이 됩니다.

다른 신경망과의 주요 차이점

모든 신경망이 상호 연결된 노드라는 기본 개념을 공유하지만, CNN은 순환 신경망(RNN) 이나 기본 피드포워드 네트워크와 같은 다른 유형과는 크게 다릅니다:

  • 공간 계층 구조: CNN은 이미지와 동영상 분석에 매우 중요한 데이터의 공간 계층 구조를 포착하는 데 탁월합니다. 반면, RNN은 순차적 데이터용으로 설계되었기 때문에 자연어 처리(NLP)시계열 분석과 같은 작업에 더 적합합니다.
  • 매개변수 공유: CNN에서는 필터가 입력 공간 전체에서 공유되므로 완전히 연결된 네트워크에 비해 매개변수의 수가 크게 줄어듭니다. 이는 CNN의 효율성을 높여줄 뿐만 아니라 시각적 작업에서 일반화를 더 잘 수행하도록 도와줍니다.
  • 로컬 수용 필드: CNN의 뉴런은 수신 필드라고 하는 입력의 로컬 영역에만 연결되어 있어 로컬 패턴을 효과적으로 감지할 수 있습니다. 이는 각 뉴런이 이전 계층의 모든 뉴런에 연결되는 완전 연결 네트워크와 대조됩니다.

실제 애플리케이션

CNN은 다양한 영역에서 놀라운 역량을 발휘해 왔습니다. 다음은 실제 적용 사례를 보여주는 두 가지 구체적인 예입니다:

  1. 의료 이미지 분석: CNN은 의료 분야에서 엑스레이, CT 스캔, MRI 스캔과 같은 의료 이미지를 분석하는 데 광범위하게 사용됩니다. 이상 징후를 감지하고, 질병을 분류하고, 장기를 높은 정확도로 분류할 수 있습니다. 예를 들어, CNN은 종양, 골절 및 기타 상태를 식별하여 의사의 진단 및 치료 계획을 지원할 수 있습니다. 이미지에서 복잡한 패턴을 학습하는 CNN의 능력은 환자 치료 결과를 개선하는 데 매우 유용합니다. 의료 분야의 AI에 대해 자세히 알아보세요.
  2. 자율주행 차량: 자율 주행 자동차는 물체 감지, 이미지 분할, 장면 이해를 위해 CNN에 크게 의존합니다. CNN은 카메라의 시각 데이터를 처리하여 보행자, 다른 차량, 교통 표지판, 도로 경계를 식별합니다. 이 정보는 자율주행 차량의 안전과 효율성을 보장하는 실시간 주행 결정을 내리는 데 매우 중요합니다. 자율 주행 차량의 AI에 대해 자세히 알아보세요.

도구 및 프레임워크

사전 구축된 레이어, 최적화 알고리즘, 하드웨어 가속을 제공하는 다양한 도구와 프레임워크를 사용하면 CNN을 더 쉽게 개발하고 배포할 수 있습니다:

  • PyTorch: 유연성과 사용 편의성으로 유명한 오픈 소스 딥 러닝 프레임워크. PyTorch 동적 계산 그래프가 가능하여 연구자와 개발자들 사이에서 인기가 높습니다.
  • TensorFlow: Google 에서 개발한 TensorFlow 은 연구 및 프로덕션 환경을 모두 지원하는 또 다른 널리 사용되는 프레임워크입니다. 도구, 라이브러리, 커뮤니티 리소스로 구성된 포괄적인 에코시스템을 제공합니다.
  • Keras: 사용자 친화적인 신경망 라이브러리로 TensorFlow 또는 PyTorch. Keras는 딥 러닝 모델을 구축하고 훈련하는 과정을 간소화합니다.
  • Ultralytics YOLO: "YOLO", Ultralytics YOLO 모델은 CNN 아키텍처를 활용하여 높은 정확도와 속도를 달성하는 최첨단 객체 감지 모델입니다. 이러한 모델은 모델을 효율적으로 훈련, 배포 및 관리할 수 있는 도구를 제공하는 Ultralytics 허브에서 사용할 수 있습니다.

CNN의 복잡성을 이해함으로써 사용자는 AI와 머신 러닝을 발전시키는 데 있어 CNN의 중요성을 더 잘 이해할 수 있습니다. 이러한 네트워크는 산업 전반에 걸쳐 혁신을 지속적으로 주도하고 있으며, 최신 컴퓨터 비전 애플리케이션의 초석이 되고 있습니다.

모두 보기