컨볼루셔널 신경망이란 무엇인가요?

컨볼루셔널 신경망(CNN)은 시각적 데이터를 분석하기 위해 특별히 설계된 일종의 인공 신경망입니다. CNN은 인간의 시각 시스템에서 영감을 받아 시각적 데이터의 패턴을 식별하여 세상을 '보는' 방법을 학습합니다. 하지만 CNN의 핵심 강점은 단순히 이미지를 보는 것이 아니라 오디오 스펙트로그램부터 3D 의료 스캔에 이르기까지 그리드형 구조를 가진 모든 데이터에서 패턴을 인식하는 것입니다.

컨볼루셔널 신경망은 어떻게 작동하나요?

CNN은 입력 이미지를 여러 레이어에 통과시켜 처리합니다. 초기 레이어는 모서리, 선과 같은 단순한 특성을 식별하고, 더 깊은 레이어는 더 복잡한 패턴, 모양, 궁극적으로는 전체 객체를 인식합니다. 이러한 계층적 방식으로 특성을 추출하는 방법 덕분에 CNN은 이미지 인식 및 기타 컴퓨터 비전 작업에 매우 효과적입니다.

CNN 레이어

CNN은 사진을 분석하여 객체를 식별하는 전문가 팀이라고 생각하면 됩니다. 각 레이어는 인식 어셈블리 라인에서 특정 작업을 수행합니다.

1. 컨볼루셔널 레이어: 특성 스캐너

이것이 첫 번째 전문가 그룹입니다. 각각에는 직선, 곡선, 특정 색상과 같이 하나의 간단한 특성이 주어집니다. 작은 돋보기('필터')를 전체 이미지 위로 슬라이드하면서 할당된 특성을 찾을 때마다 기록해 둡니다. 이렇게 하면 기본 특성의 위치를 나타내는 지도인 '특성 맵'이 생성됩니다.

2. 활성화 레이어(ReLU): 중요도 필터

초기 스캔 후 관리자(ReLU 함수)가 특성 맵을 검토합니다. 이들의 역할은 간단합니다. 강력한 신호는 유지하고 약한 신호는 버립니다. 비선형성을 도입하여 가장 중요하고 명확하게 식별된 특성만 추가 분석을 위해 전달되도록 합니다. 이렇게 하면 노이즈가 프로세스를 방해하는 것을 방지할 수 있습니다.

3. 풀링 레이어: 요약 도구

풀링 레이어는 지역 관리자 역할을 합니다. 풀링 레이어는 모든 세부정보를 살펴보는 대신 특성 맵의 작은 패치에서 발견한 내용을 요약합니다. 예를 들어 '최대 풀링' 레이어는 특성 맵의 2x2 영역을 살펴보고 가장 강력한 신호만 보고합니다. 이렇게 하면 데이터의 전체 크기가 줄어들어 네트워크가 더 효율적으로 작동하고 프레임의 어느 위치에 나타나든 객체를 인식할 수 있습니다('병진 불변'이라는 개념).

4. 완전 연결 레이어: 형사 반장

여러 차례 스캔하고 요약한 후 최종 특성 보고서가 형사 반장에게 전달됩니다. 이 레이어는 특성의 상위 수준 조합('수염 있음', '뾰족한 귀 있음', '털 질감 있음')을 살펴보고 최종 결정을 내립니다. 요약된 모든 발견 사항을 연결하여 '모든 증거를 바탕으로 이 이미지의 객체는 고양이입니다.'와 같은 결론을 도출합니다. 그런 다음 결과는 가능한 각 분류에 대한 확률을 제공하는 최종 출력 레이어(예: 소프트맥스)로 전달됩니다.

CNN과 기존 신경망의 비교

컨볼루션 및 기존 신경망은 모두 데이터를 처리하고 예측을 수행하도록 설계되었지만 아키텍처, 애플리케이션, 기타 주요 기능 면에서 상당한 차이가 있습니다.

기능


컨볼루셔널 신경망(CNN)

기존 신경망

핵심 아키텍처


컨볼루셔널 레이어, 활성화 레이어, 풀링 레이어, 완전 연결 레이어로 구성됩니다.

대부분 완전 연결(밀집) 레이어로 구성됩니다.

입력 데이터 유형

정형 그리드형 데이터(예: 이미지, 동영상, 텍스트와 같은 1차원 시퀀스)에 가장 적합합니다.

다양한 데이터 유형(일반적으로 테이블 형식 데이터 또는 평면화된 벡터)에 유연하게 대응합니다.

특성 추출

필터를 통해 계층적 특성(모서리, 질감, 모양)을 자동으로 학습합니다.

직접 연결을 통해 특성을 학습하며, 공간적 특성 학습에는 효과가 떨어지는 경우가 많습니다.

공간적 관계

공간적 관계(예: 이미지의 픽셀 인접성)를 명시적으로 보존하고 활용합니다.

각 입력 특성을 독립적으로 처리하고 입력이 평면화되면 공간적 관계가 손실됩니다.

파라미터 공유


예, 가중치(필터/커널)는 입력의 여러 위치에서 공유됩니다.

아니요, 각 연결에는 고유한 가중치가 있습니다.

파라미터 수

특히 이미지와 같은 고차원 입력의 경우 가중치 공유 및 풀링으로 인해 일반적으로 파라미터 수가 적습니다.

특히 고차원 입력의 경우 파라미터 수가 매우 많을 수 있습니다.

병진 불변

입력에서 정확한 위치와 관계없이 특성을 인식하는 데 본질적으로 뛰어납니다.

증강 데이터로 명시적으로 학습하지 않는 한 입력 특성의 변화에 더 민감합니다.

컴퓨팅 효율성

파라미터 감소 및 전문 연산으로 인해 이미지/공간 데이터에 더 효율적입니다.

밀집 연결로 인해 고차원 입력에 대해 계산 비용이 많이 들 수 있습니다.

기본 적용 범위

이미지 분류, 객체 감지, 이미지 분할, 동영상 분석, 의료 이미지, 일부 NLP 작업

테이블 형식 데이터 분류/회귀, 단순 패턴 인식, 함수 근사, 일부 NLP

주요 이점

시각적 데이터에 적합하고 계층적 특성, 병진 불변, 파라미터 감소를 학습하며 이미지 데이터에 대한 과적합이 덜 발생합니다.

다양한 데이터 유형에 유연하게 대응하고 비공간 테이블 형식 데이터에 적합하며 기본 작업의 개념을 더 쉽게 이해할 수 있습니다.

주요 제한사항

설계가 복잡할 수 있고 일반적으로 학습을 위해 대규모 데이터 세트가 필요하며 비공간적 테이블 형식 데이터에는 효과가 떨어집니다.

고차원 공간 데이터에는 적합하지 않으며 공간적 관계를 무시하고 복잡한 입력에 많은 파라미터가 있는 경우 과적합이 발생하기 쉽습니다.

기능


컨볼루셔널 신경망(CNN)

기존 신경망

핵심 아키텍처


컨볼루셔널 레이어, 활성화 레이어, 풀링 레이어, 완전 연결 레이어로 구성됩니다.

대부분 완전 연결(밀집) 레이어로 구성됩니다.

입력 데이터 유형

정형 그리드형 데이터(예: 이미지, 동영상, 텍스트와 같은 1차원 시퀀스)에 가장 적합합니다.

다양한 데이터 유형(일반적으로 테이블 형식 데이터 또는 평면화된 벡터)에 유연하게 대응합니다.

특성 추출

필터를 통해 계층적 특성(모서리, 질감, 모양)을 자동으로 학습합니다.

직접 연결을 통해 특성을 학습하며, 공간적 특성 학습에는 효과가 떨어지는 경우가 많습니다.

공간적 관계

공간적 관계(예: 이미지의 픽셀 인접성)를 명시적으로 보존하고 활용합니다.

각 입력 특성을 독립적으로 처리하고 입력이 평면화되면 공간적 관계가 손실됩니다.

파라미터 공유


예, 가중치(필터/커널)는 입력의 여러 위치에서 공유됩니다.

아니요, 각 연결에는 고유한 가중치가 있습니다.

파라미터 수

특히 이미지와 같은 고차원 입력의 경우 가중치 공유 및 풀링으로 인해 일반적으로 파라미터 수가 적습니다.

특히 고차원 입력의 경우 파라미터 수가 매우 많을 수 있습니다.

병진 불변

입력에서 정확한 위치와 관계없이 특성을 인식하는 데 본질적으로 뛰어납니다.

증강 데이터로 명시적으로 학습하지 않는 한 입력 특성의 변화에 더 민감합니다.

컴퓨팅 효율성

파라미터 감소 및 전문 연산으로 인해 이미지/공간 데이터에 더 효율적입니다.

밀집 연결로 인해 고차원 입력에 대해 계산 비용이 많이 들 수 있습니다.

기본 적용 범위

이미지 분류, 객체 감지, 이미지 분할, 동영상 분석, 의료 이미지, 일부 NLP 작업

테이블 형식 데이터 분류/회귀, 단순 패턴 인식, 함수 근사, 일부 NLP

주요 이점

시각적 데이터에 적합하고 계층적 특성, 병진 불변, 파라미터 감소를 학습하며 이미지 데이터에 대한 과적합이 덜 발생합니다.

다양한 데이터 유형에 유연하게 대응하고 비공간 테이블 형식 데이터에 적합하며 기본 작업의 개념을 더 쉽게 이해할 수 있습니다.

주요 제한사항

설계가 복잡할 수 있고 일반적으로 학습을 위해 대규모 데이터 세트가 필요하며 비공간적 테이블 형식 데이터에는 효과가 떨어집니다.

고차원 공간 데이터에는 적합하지 않으며 공간적 관계를 무시하고 복잡한 입력에 많은 파라미터가 있는 경우 과적합이 발생하기 쉽습니다.

CNN과 컴퓨터 비전

CNN은 컴퓨터 비전을 혁신하여 머신이 이미지를 정확하게 '보고' 이해할 수 있도록 했습니다. 계층적 시각 데이터 표현을 학습하는 기능 덕분에 다음과 같은 다양한 컴퓨터 비전 작업에서 큰 진전을 이루었습니다.

이미지 분류

핵심적인 컴퓨터 비전 작업인 이미지 분류는 이미지의 콘텐츠를 기반으로 전체 이미지에 라벨을 지정하는 작업입니다. CNN은 이 분야에서 탁월한 성능을 발휘하며 ImageNet과 같은 데이터 세트에서 최고의 결과를 달성합니다. CNN은 원시 픽셀 데이터에서 복잡한 특성을 학습할 수 있는 기능이 있어 이미지에서 객체, 장면, 심지어 감정까지 인식하는 데 매우 효과적입니다.

객체 감지

객체 감지는 이미지에서 객체를 식별하고 그 위치를 정확히 파악하여 분류를 뛰어넘습니다. CNN은 객체 감지 알고리즘에서 매우 중요한 역할을 하며, 자율주행차가 주변 환경을 인식하고 로봇이 복잡한 주변 환경을 탐색하며 보안 시스템이 위협을 감지할 수 있도록 지원합니다.

CNN의 적용 범위

CNN의 적용 범위는 이미지 관련 작업을 훨씬 뛰어넘습니다. 특성의 공간적 계층 구조를 학습하는 기능이 있어 다음과 같은 다양한 영역에서 유용합니다.

  • 자연어 처리: CNN은 문장을 1차원 '이미지'로 처리하여 텍스트를 분석할 수 있으며, 여기서 각 단어나 문자는 특성입니다. 이를 통해 텍스트 데이터 내에서 패턴과 관계를 식별할 수 있으므로 감정 분석(텍스트를 긍정, 부정 또는 중립으로 분류) 및 언어 번역(한 언어에서 다른 언어로 문장 매핑)과 같은 작업에 유용합니다.
  • 의료 이미지 분석: 의료 분야에서 CNN은 의료 이미지(엑스레이, MRI, CT 스캔)의 대규모 데이터 세트로 학습하여 질병을 나타내는 미묘한 패턴과 이상 징후를 감지할 수 있습니다. 이는 유방촬영술에서 종양을 감지하고, 엑스레이에서 골절을 식별하고, CT 스캔에서 장기를 분할하는 등의 작업에서 방사선 전문의를 지원하여 진단 정확도와 효율성을 개선하고 맞춤형 치료 계획을 수립하는 데 도움을 줄 수 있습니다.
  • 신약 개발: CNN은 분자 구조를 분석하여 신약 개발을 가속화할 수 있습니다. CNN은 분자 구조와 속성 간의 관계를 학습하여 잠재적 의약품 후보의 효능, 독성, 기타 특성을 예측할 수 있습니다. 방대한 화합물 라이브러리를 '인 실리코' 스크리닝하면 기존의 신약 개발 방식에 소요되는 시간과 비용을 줄일 수 있습니다.
  • 재무 모델링: 순차 데이터를 분석하는 CNN의 기능은 재무 용도에도 적합할 수 있습니다. CNN은 시계열 재무 데이터(주가, 환율, 경제 지표)를 1차원 '이미지'로 처리하여 기존 통계 방법이 놓칠 수 있는 추세, 패턴, 이상치를 식별할 수 있습니다. 이를 통해 금융 기관은 더 많은 정보를 바탕으로 투자 결정을 내리고 시장 변동성을 예측하며 위험을 보다 효과적으로 관리할 수 있습니다.

Google Cloud를 통한 CNN 활용

Google Cloud는 기성 솔루션이 필요하든 자체 솔루션을 빌드할 강력한 플랫폼이 필요하든 CNN을 적용할 수 있는 완전한 생태계를 제공합니다.

사전 학습된 비전 기능: 모델을 처음부터 빌드하지 않고 앱에 강력한 비전 기능을 추가해야 하는 경우 Vision AI와 같은 서비스를 사용하면 객체 감지 및 텍스트 인식과 같은 작업을 위해 간단한 API를 통해 CNN 기반 모델에 액세스할 수 있습니다. 마찬가지로 Document AI는 CNN을 사용하여 복잡한 문서에서 데이터를 이해하고 추출합니다.

커스텀 모델 빌드, 학습, 배포: 자체 데이터로 CNN을 학습시켜야 하는 경우 Vertex AI는 통합 플랫폼을 제공합니다. 데이터 준비 및 학습부터 대규모 커스텀 CNN 모델 배포 및 모니터링에 이르기까지 전체 ML 수명 주기를 관리합니다.

고성능 학습 가속화: 대규모 최첨단 CNN 학습은 컴퓨팅 집약적입니다. Cloud TPU는 딥 러닝 모델의 학습 속도를 높이기 위해 특별히 빌드된 Google의 커스텀 설계 하드웨어 가속기로, 더 빠른 혁신을 가능하게 합니다.

다음 단계 수행

$300의 무료 크레딧과 20여 개의 항상 무료 제품으로 Google Cloud에서 빌드하세요.

Google Cloud