CNN은 입력 이미지를 여러 레이어에 통과시켜 처리합니다. 초기 레이어는 모서리, 선과 같은 단순한 특성을 식별하고, 더 깊은 레이어는 더 복잡한 패턴, 모양, 궁극적으로는 전체 객체를 인식합니다. 이러한 계층적 방식으로 특성을 추출하는 방법 덕분에 CNN은 이미지 인식 및 기타 컴퓨터 비전 작업에 매우 효과적입니다.
CNN은 사진을 분석하여 객체를 식별하는 전문가 팀이라고 생각하면 됩니다. 각 레이어는 인식 어셈블리 라인에서 특정 작업을 수행합니다.
1. 컨볼루셔널 레이어: 특성 스캐너
이것이 첫 번째 전문가 그룹입니다. 각각에는 직선, 곡선, 특정 색상과 같이 하나의 간단한 특성이 주어집니다. 작은 돋보기('필터')를 전체 이미지 위로 슬라이드하면서 할당된 특성을 찾을 때마다 기록해 둡니다. 이렇게 하면 기본 특성의 위치를 나타내는 지도인 '특성 맵'이 생성됩니다.
2. 활성화 레이어(ReLU): 중요도 필터
초기 스캔 후 관리자(ReLU 함수)가 특성 맵을 검토합니다. 이들의 역할은 간단합니다. 강력한 신호는 유지하고 약한 신호는 버립니다. 비선형성을 도입하여 가장 중요하고 명확하게 식별된 특성만 추가 분석을 위해 전달되도록 합니다. 이렇게 하면 노이즈가 프로세스를 방해하는 것을 방지할 수 있습니다.
3. 풀링 레이어: 요약 도구
풀링 레이어는 지역 관리자 역할을 합니다. 풀링 레이어는 모든 세부정보를 살펴보는 대신 특성 맵의 작은 패치에서 발견한 내용을 요약합니다. 예를 들어 '최대 풀링' 레이어는 특성 맵의 2x2 영역을 살펴보고 가장 강력한 신호만 보고합니다. 이렇게 하면 데이터의 전체 크기가 줄어들어 네트워크가 더 효율적으로 작동하고 프레임의 어느 위치에 나타나든 객체를 인식할 수 있습니다('병진 불변'이라는 개념).
4. 완전 연결 레이어: 형사 반장
여러 차례 스캔하고 요약한 후 최종 특성 보고서가 형사 반장에게 전달됩니다. 이 레이어는 특성의 상위 수준 조합('수염 있음', '뾰족한 귀 있음', '털 질감 있음')을 살펴보고 최종 결정을 내립니다. 요약된 모든 발견 사항을 연결하여 '모든 증거를 바탕으로 이 이미지의 객체는 고양이입니다.'와 같은 결론을 도출합니다. 그런 다음 결과는 가능한 각 분류에 대한 확률을 제공하는 최종 출력 레이어(예: 소프트맥스)로 전달됩니다.
컨볼루션 및 기존 신경망은 모두 데이터를 처리하고 예측을 수행하도록 설계되었지만 아키텍처, 애플리케이션, 기타 주요 기능 면에서 상당한 차이가 있습니다.
기능 | 컨볼루셔널 신경망(CNN) | 기존 신경망 |
핵심 아키텍처 | 컨볼루셔널 레이어, 활성화 레이어, 풀링 레이어, 완전 연결 레이어로 구성됩니다. | 대부분 완전 연결(밀집) 레이어로 구성됩니다. |
입력 데이터 유형 | 정형 그리드형 데이터(예: 이미지, 동영상, 텍스트와 같은 1차원 시퀀스)에 가장 적합합니다. | 다양한 데이터 유형(일반적으로 테이블 형식 데이터 또는 평면화된 벡터)에 유연하게 대응합니다. |
특성 추출 | 필터를 통해 계층적 특성(모서리, 질감, 모양)을 자동으로 학습합니다. | 직접 연결을 통해 특성을 학습하며, 공간적 특성 학습에는 효과가 떨어지는 경우가 많습니다. |
공간적 관계 | 공간적 관계(예: 이미지의 픽셀 인접성)를 명시적으로 보존하고 활용합니다. | 각 입력 특성을 독립적으로 처리하고 입력이 평면화되면 공간적 관계가 손실됩니다. |
파라미터 공유 | 예, 가중치(필터/커널)는 입력의 여러 위치에서 공유됩니다. | 아니요, 각 연결에는 고유한 가중치가 있습니다. |
파라미터 수 | 특히 이미지와 같은 고차원 입력의 경우 가중치 공유 및 풀링으로 인해 일반적으로 파라미터 수가 적습니다. | 특히 고차원 입력의 경우 파라미터 수가 매우 많을 수 있습니다. |
병진 불변 | 입력에서 정확한 위치와 관계없이 특성을 인식하는 데 본질적으로 뛰어납니다. | 증강 데이터로 명시적으로 학습하지 않는 한 입력 특성의 변화에 더 민감합니다. |
컴퓨팅 효율성 | 파라미터 감소 및 전문 연산으로 인해 이미지/공간 데이터에 더 효율적입니다. | 밀집 연결로 인해 고차원 입력에 대해 계산 비용이 많이 들 수 있습니다. |
기본 적용 범위 | 이미지 분류, 객체 감지, 이미지 분할, 동영상 분석, 의료 이미지, 일부 NLP 작업 | 테이블 형식 데이터 분류/회귀, 단순 패턴 인식, 함수 근사, 일부 NLP |
주요 이점 | 시각적 데이터에 적합하고 계층적 특성, 병진 불변, 파라미터 감소를 학습하며 이미지 데이터에 대한 과적합이 덜 발생합니다. | 다양한 데이터 유형에 유연하게 대응하고 비공간 테이블 형식 데이터에 적합하며 기본 작업의 개념을 더 쉽게 이해할 수 있습니다. |
주요 제한사항 | 설계가 복잡할 수 있고 일반적으로 학습을 위해 대규모 데이터 세트가 필요하며 비공간적 테이블 형식 데이터에는 효과가 떨어집니다. | 고차원 공간 데이터에는 적합하지 않으며 공간적 관계를 무시하고 복잡한 입력에 많은 파라미터가 있는 경우 과적합이 발생하기 쉽습니다. |
기능
컨볼루셔널 신경망(CNN)
기존 신경망
핵심 아키텍처
컨볼루셔널 레이어, 활성화 레이어, 풀링 레이어, 완전 연결 레이어로 구성됩니다.
대부분 완전 연결(밀집) 레이어로 구성됩니다.
입력 데이터 유형
정형 그리드형 데이터(예: 이미지, 동영상, 텍스트와 같은 1차원 시퀀스)에 가장 적합합니다.
다양한 데이터 유형(일반적으로 테이블 형식 데이터 또는 평면화된 벡터)에 유연하게 대응합니다.
특성 추출
필터를 통해 계층적 특성(모서리, 질감, 모양)을 자동으로 학습합니다.
직접 연결을 통해 특성을 학습하며, 공간적 특성 학습에는 효과가 떨어지는 경우가 많습니다.
공간적 관계
공간적 관계(예: 이미지의 픽셀 인접성)를 명시적으로 보존하고 활용합니다.
각 입력 특성을 독립적으로 처리하고 입력이 평면화되면 공간적 관계가 손실됩니다.
파라미터 공유
예, 가중치(필터/커널)는 입력의 여러 위치에서 공유됩니다.
아니요, 각 연결에는 고유한 가중치가 있습니다.
파라미터 수
특히 이미지와 같은 고차원 입력의 경우 가중치 공유 및 풀링으로 인해 일반적으로 파라미터 수가 적습니다.
특히 고차원 입력의 경우 파라미터 수가 매우 많을 수 있습니다.
병진 불변
입력에서 정확한 위치와 관계없이 특성을 인식하는 데 본질적으로 뛰어납니다.
증강 데이터로 명시적으로 학습하지 않는 한 입력 특성의 변화에 더 민감합니다.
컴퓨팅 효율성
파라미터 감소 및 전문 연산으로 인해 이미지/공간 데이터에 더 효율적입니다.
밀집 연결로 인해 고차원 입력에 대해 계산 비용이 많이 들 수 있습니다.
기본 적용 범위
이미지 분류, 객체 감지, 이미지 분할, 동영상 분석, 의료 이미지, 일부 NLP 작업
테이블 형식 데이터 분류/회귀, 단순 패턴 인식, 함수 근사, 일부 NLP
주요 이점
시각적 데이터에 적합하고 계층적 특성, 병진 불변, 파라미터 감소를 학습하며 이미지 데이터에 대한 과적합이 덜 발생합니다.
다양한 데이터 유형에 유연하게 대응하고 비공간 테이블 형식 데이터에 적합하며 기본 작업의 개념을 더 쉽게 이해할 수 있습니다.
주요 제한사항
설계가 복잡할 수 있고 일반적으로 학습을 위해 대규모 데이터 세트가 필요하며 비공간적 테이블 형식 데이터에는 효과가 떨어집니다.
고차원 공간 데이터에는 적합하지 않으며 공간적 관계를 무시하고 복잡한 입력에 많은 파라미터가 있는 경우 과적합이 발생하기 쉽습니다.
CNN은 컴퓨터 비전을 혁신하여 머신이 이미지를 정확하게 '보고' 이해할 수 있도록 했습니다. 계층적 시각 데이터 표현을 학습하는 기능 덕분에 다음과 같은 다양한 컴퓨터 비전 작업에서 큰 진전을 이루었습니다.
핵심적인 컴퓨터 비전 작업인 이미지 분류는 이미지의 콘텐츠를 기반으로 전체 이미지에 라벨을 지정하는 작업입니다. CNN은 이 분야에서 탁월한 성능을 발휘하며 ImageNet과 같은 데이터 세트에서 최고의 결과를 달성합니다. CNN은 원시 픽셀 데이터에서 복잡한 특성을 학습할 수 있는 기능이 있어 이미지에서 객체, 장면, 심지어 감정까지 인식하는 데 매우 효과적입니다.
객체 감지는 이미지에서 객체를 식별하고 그 위치를 정확히 파악하여 분류를 뛰어넘습니다. CNN은 객체 감지 알고리즘에서 매우 중요한 역할을 하며, 자율주행차가 주변 환경을 인식하고 로봇이 복잡한 주변 환경을 탐색하며 보안 시스템이 위협을 감지할 수 있도록 지원합니다.
CNN의 적용 범위는 이미지 관련 작업을 훨씬 뛰어넘습니다. 특성의 공간적 계층 구조를 학습하는 기능이 있어 다음과 같은 다양한 영역에서 유용합니다.
Google Cloud는 기성 솔루션이 필요하든 자체 솔루션을 빌드할 강력한 플랫폼이 필요하든 CNN을 적용할 수 있는 완전한 생태계를 제공합니다.
사전 학습된 비전 기능: 모델을 처음부터 빌드하지 않고 앱에 강력한 비전 기능을 추가해야 하는 경우 Vision AI와 같은 서비스를 사용하면 객체 감지 및 텍스트 인식과 같은 작업을 위해 간단한 API를 통해 CNN 기반 모델에 액세스할 수 있습니다. 마찬가지로 Document AI는 CNN을 사용하여 복잡한 문서에서 데이터를 이해하고 추출합니다.
커스텀 모델 빌드, 학습, 배포: 자체 데이터로 CNN을 학습시켜야 하는 경우 Vertex AI는 통합 플랫폼을 제공합니다. 데이터 준비 및 학습부터 대규모 커스텀 CNN 모델 배포 및 모니터링에 이르기까지 전체 ML 수명 주기를 관리합니다.
고성능 학습 가속화: 대규모 최첨단 CNN 학습은 컴퓨팅 집약적입니다. Cloud TPU는 딥 러닝 모델의 학습 속도를 높이기 위해 특별히 빌드된 Google의 커스텀 설계 하드웨어 가속기로, 더 빠른 혁신을 가능하게 합니다.