Convolutional Neural Network (CNN)
컨볼루션 신경망(CNN)이 현대 컴퓨터 비전을 어떻게 구동하는지 탐구해 보십시오. 레이어와 응용 분야에 대해 배우고 실시간 AI를 위해 Ultralytics YOLO26를 실행하는 방법을 배우십시오.
합성곱 신경망(CNN)은 격자 형태의 토폴로지, 특히 디지털 이미지를 처리하기 위해 설계된 특수 딥러닝 아키텍처입니다. 시각 피질의 생물학적 구조에서 영감을 받은 CNN은 입력 데이터 내의 공간적 관계를 보존하는 데 탁월한 능력을 발휘합니다. 이미지를 긴 숫자 목록으로 평탄화하는 기존의 신경망과 달리, CNN은 이미지의 작고 겹치는 영역을 분석하여 단순한 가장자리와 질감부터 복잡한 모양과 객체에 이르기까지 특징의 계층 구조를 자동으로 학습합니다. 이러한 능력 덕분에 CNN은 현대 컴퓨터 비전(CV) 시스템의 기반 기술로 자리 잡았습니다.
Link to this section합성곱 신경망의 작동 원리#
CNN의 강점은 좋은 예측을 얻는 데 중요한 특징을 손실하지 않으면서 복잡한 이미지를 처리하기 쉬운 형태로 축소하는 능력에 있습니다. 이는 입력 볼륨을 출력 클래스나 값으로 변환하는 일련의 개별 계층 파이프라인을 통해 달성됩니다.
- 합성곱 계층: 이는 핵심 구성 요소입니다. 이 계층은 손전등처럼 입력 이미지를 훑으며 이동하는 학습 가능한 필터(또는 커널) 세트를 사용합니다. 각 위치에서 필터는 합성곱이라는 수학적 연산을 수행하며, 가로선이나 색상 변화와 같은 특정 패턴을 강조하는 특징 맵을 생성합니다.
- 활성화 함수: 합성곱 이후, 출력값에 비선형 함수가 적용됩니다. 가장 일반적인 선택은 음수 픽셀 값을 0으로 바꾸는 ReLU(Rectified Linear Unit)입니다. 이는 비선형성을 도입하여 신경망이 단순한 선형 관계를 넘어 복잡한 패턴을 학습할 수 있게 합니다.
- 풀링 계층: 다운샘플링이라고도 하며, 이 계층은 특징 맵의 차원을 축소합니다. 맥스 풀링과 같은 기법은 영역 내에서 가장 중요한 특징(최댓값)만을 유지하여 연산 부하를 줄이고 과적합을 방지하는 데 도움을 줍니다.
- 완전 연결 계층: 마지막 단계에서 처리된 특징들은 평탄화되어 표준 신경망(NN)으로 전달됩니다. 이 계층은 이전 계층에서 식별된 고수준 특징들을 사용하여 "고양이" 또는 "개"와 같은 최종 분류나 예측을 수행합니다.
Link to this section실제 애플리케이션 사례#
CNN은 초인적인 정확도로 시각적 작업을 자동화하여 산업을 혁신했습니다.
- 의료 진단: 의료 분야에서 CNN은 방사선 전문의가 의료 스캔 영상에서 이상 징후를 인간의 눈보다 빠르게 식별하도록 돕습니다. 예를 들어, 딥러닝 모델은 MRI 및 CT 스캔을 분석하여 종양이나 골절의 초기 징후를 탐지합니다. AI 영상 의학 관련 연구는 이러한 도구들이 진단의 일관성과 속도를 어떻게 향상하는지 보여줍니다.
- 자율 시스템: 자율 주행 자동차는 주변 환경을 인식하기 위해 CNN에 크게 의존합니다. YOLO26과 같은 모델은 효율적인 CNN 백본을 활용하여 실시간 객체 탐지를 수행하며, 보행자, 교통 표지판 및 기타 차량을 식별하여 찰나의 순간에 주행 결정을 내립니다.
Link to this sectionCNN 대 비전 트랜스포머(ViT)#
CNN이 오랫동안 비전 작업의 표준이었지만, 최근에는 비전 트랜스포머(ViT)라는 새로운 아키텍처가 등장했습니다.
- CNN은 로컬 특징을 사용하여 이미지를 처리하며, "귀납적 편향(인접한 픽셀끼리 관련이 있다고 가정함)" 덕분에 더 작은 데이터셋에서도 매우 효율적입니다. CNN은 에지 디바이스에서 실시간 추론이 필요한 시나리오에서 탁월한 성능을 발휘합니다.
- ViT는 이미지를 패치로 분할하고 글로벌 셀프 어텐션 메커니즘을 사용하여 처리합니다. 이를 통해 이미지 전체에 걸친 장거리 종속성을 캡처할 수 있지만, 일반적으로 효과적인 학습을 위해 방대한 데이터셋과 더 많은 컴퓨팅 파워가 필요합니다.
Link to this section구현 예시#
현대적인 라이브러리를 사용하면 CNN 기반 모델을 간편하게 활용할 수 있습니다. ultralytics 패키지는 신속한 추론을 위해 고도로 최적화된 CNN 아키텍처를 특징으로 하는 YOLO26과 같은 최첨단 모델에 대한 액세스를 제공합니다.
다음 예제는 사전 학습된 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()Link to this section개발 도구#
CNN 개발은 강력한 오픈 소스 도구 생태계의 지원을 받습니다. 엔지니어들은 일반적으로 PyTorch나 TensorFlow와 같은 프레임워크를 사용하여 맞춤형 아키텍처를 구축합니다. 이러한 라이브러리는 합성곱 및 역전파에 필요한 저수준 텐서 연산을 제공합니다.
데이터 수집부터 배포에 이르기까지 컴퓨터 비전 프로젝트의 수명 주기를 간소화하려는 팀을 위해 Ultralytics Platform은 포괄적인 솔루션을 제공합니다. 이 플랫폼은 복잡한 워크플로우를 단순화하여 개발자가 인프라 관리 대신 비즈니스 문제 해결을 위한 CNN 적용에 집중할 수 있도록 합니다. 또한 모델은 ONNX나 TensorRT와 같은 형식으로 내보내 에지 디바이스에서 고성능으로 배포할 수 있습니다.






