Yolo 비전 선전
선전
지금 참여하기
용어집

합성곱 신경망(CNN)

합성곱 신경망(CNN)이 의료, 자율 주행 자동차 등에서 AI를 강화하여 컴퓨터 비전을 어떻게 혁신하는지 알아보세요.

컨볼루션 신경망(CNN)은 격자형 토폴로지를 가진 데이터, 특히 디지털 이미지를 처리하도록 설계된 특수한 딥러닝 아키텍처입니다. 시각 피질의 생물학적 구조에서 영감을 받은 CNN은 입력 데이터 내 공간적 관계를 보존하는 독특한 능력을 지닙니다. 이미지를 긴 숫자 목록으로 평면화하는 기존 신경망과 달리, CNN은 이미지의 작은 중첩 영역을 분석하여 단순한 경계선과 질감부터 복잡한 형태와 사물에 이르기까지 특징의 계층 구조를 자동으로 학습합니다. 이러한 능력 덕분에 CNN은 현대 컴퓨터 비전(CV) 시스템의 핵심 기반 기술이 되었습니다.

컨볼루션 신경망의 작동 원리

CNN의 힘은 복잡한 이미지를 처리하기 쉬운 형태로 축소하면서도 정확한 예측에 중요한 특징을 잃지 않는 능력에 있다. 이는 입력 볼륨을 출력 클래스나 값으로 변환하는 서로 다른 계층들의 파이프라인을 통해 달성된다:

  • 컨볼루션 레이어: 핵심 구성 요소입니다. 학습 가능한 필터(커널) 집합을 사용하며, 이 필터는 손전등처럼 입력 이미지 위를 미끄러지듯 이동합니다. 각 위치에서 필터는 컨볼루션이라는 수학적 연산을 수행하여 특정 패턴(예: 가로선이나 색상 그라데이션)을 강조하는 특징 맵을 생성합니다.
  • 활성화 함수: 컨볼루션 후 출력에 비선형 함수를 적용합니다. 가장 흔히 사용되는 선택은 ReLU(정류 선형 단위)로, 음수 픽셀 값을 0으로 변환합니다. 이는 비선형성을 도입하여 네트워크가 단순한 선형 관계를 넘어 복잡한 패턴을 학습할 수 있게 합니다.
  • 풀링 레이어: 다운샘플링이라고도 하며, 이 레이어는 특징 맵의 차원을 줄입니다. 맥스 풀링과 같은 기법은 영역 내에서 가장 중요한 특징(가장 높은 값)만 유지하여 계산 부하를 줄이고 과적합을 방지하는 데 도움이 됩니다.
  • 완전히 연결된 레이어: 최종 단계에서 처리된 특징들은 평탄화되어 표준 신경망(NN)으로 입력됩니다. 이 레이어는 이전 레이어들이 식별한 고수준 특징들을 활용하여 "고양이" 또는 "개"와 같은 최종 분류나 예측을 수행합니다.

실제 애플리케이션

CNN은 초인적인 정확도로 시각적 작업을 자동화함으로써 산업을 변화시켰습니다.

  • 의료 진단: 의료 분야에서 CNN(컨볼루션 신경망)은 방사선과 의사가 의료 영상에서 이상을 식별하는 데 도움을 주며, 이는 인간의 눈보다 빠릅니다. 예를 들어, 딥러닝 모델은 MRI 및 CT 영상을 분석하여 종양이나 골절의 detect 징후를 detect . 방사선학 분야의 AI연구는 이러한 도구가 진단 일관성과 속도를 어떻게 향상시키는지 보여줍니다.
  • 자율주행 시스템: 자율주행 차량은 주변 환경을 인지하기 위해 컨볼루션 신경망(CNN)에 크게 의존합니다. YOLO26과 같은 모델은 효율적인 CNN 백본을 활용하여 실시간 객체 탐지를 수행하며, 보행자, 교통 표지판 및 다른 차량을 식별하여 순간적인 운전 결정을 내립니다.

CNNs 대 비전 트랜스포머(ViT)

CNN은 오랫동안 비전 작업의 표준이었으나, 비전 트랜스포머(ViT) 라는 새로운 아키텍처가 등장했습니다.

  • CNN은 국소 특징을 활용해 이미지를 처리하며, "유도적 편향"(인접 픽셀 간 연관성 가정) 덕분에 소규모 데이터셋에서 매우 효율적이다. 이들은 에지 디바이스에서 실시간 추론이 필요한 시나리오에서 탁월한 성능을 발휘한다.
  • ViT는 이미지를 패치로 분할하고 전역 자기 주의 메커니즘을 사용하여 처리합니다. 이를 통해 이미지 전반에 걸친 장거리 의존성을 포착할 수 있지만, 효과적인 훈련을 위해서는 일반적으로 방대한 데이터셋과 더 많은 연산 능력이 필요합니다.

구현 예시

현대적인 라이브러리는 CNN 기반 모델을 사용하기 쉽게 만들어 줍니다. ultralytics 패키지는 YOLO26과 같은 최신 모델에 대한 접근을 제공합니다. 이 모델들은 신속한 추론을 위해 고도로 최적화된 CNN 아키텍처를 특징으로 합니다.

다음 예제는 사전 훈련된 CNN 모델을 로드하고 예측을 실행하는 방법을 보여줍니다:

from ultralytics import YOLO

# Load a YOLO26 model, which uses an advanced CNN architecture
model = YOLO("yolo26n.pt")

# Run inference on an image to identify objects
results = model("https://ultralytics.com/images/bus.jpg")

# Display the prediction results
results[0].show()

개발을 위한 도구

컨볼루션 신경망(CNN) 개발은 강력한 오픈소스 도구 생태계에 의해 지원됩니다. 엔지니어들은 일반적으로 다음과 같은 프레임워크를 사용합니다. PyTorch 또는 TensorFlow 을 사용하여 맞춤형 아키텍처를 구축합니다. 이러한 라이브러리는 컨볼루션과 역전파에 필요한 저수준 tensor 제공합니다.

컴퓨터 비전 프로젝트의 라이프사이클( 데이터 수집부터 배포까지)을 간소화하려는 팀을 위해 Ultralytics 포괄적인 솔루션을 제공합니다. 이 플랫폼은 복잡한 워크플로를 단순화하여 개발자가 인프라 관리 대신 CNN을 적용해 비즈니스 문제를 해결하는 데 집중할 수 있게 합니다. 또한 모델을 ONNX 또는 TensorRT 과 같은 형식으로 내보내 에지 디바이스에서 고성능 배포가 가능합니다.

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기