나선형 신경망

완료됨

비고

자세한 내용은 텍스트 및 이미지 탭을 참조하세요.

필터를 사용하여 이미지에 효과를 적용하는 기능은 이미지 편집 소프트웨어를 사용하여 수행할 수 있는 것과 같은 이미지 처리 작업에 유용합니다. 그러나 컴퓨터 비전의 목표는 종종 이미지에서 의미 또는 적어도 실행 가능한 통찰력을 추출하는 것입니다. 에서는 많은 양의 기존 이미지를 기반으로 기능을 인식하도록 학습된 기계 학습 모델을 생성해야 합니다.

팁 (조언)

이 단원에서는 기계 학습의 기본 원칙에 익숙하고 신경망을 사용한 딥 러닝에 대한 개념 지식이 있다고 가정합니다. 기계 학습을 처음 접하는 경우 Microsoft Learn에서 기계 학습 개념 소개 모듈을 완료하는 것이 좋습니다.

컴퓨터 비전의 가장 일반적인 기계 학습 모델 아키텍처 중 하나는 심층 학습 아키텍처의 한 유형인 CNN(나선형 신경망)입니다. CNN은 필터를 사용하여 이미지에서 숫자 기능 맵을 추출한 다음, 기능 값을 딥 러닝 모델에 공급하여 레이블 예측을 생성합니다. 예를 들어 이미지 분류 시나리오에서 레이블은 이미지의 주요 주제를 나타냅니다(즉, 이미지란?). 예측되는 레이블이 지정된 이미지의 과일 유형이 되도록 다양한 종류의 과일(예: 사과, 바나나 및 오렌지)의 이미지를 사용하여 CNN 모델을 학습시킬 수 있습니다.

CNN에 대한 학습 프로세스 중에 필터 커널은 처음에 임의로 생성된 가중치 값을 사용하여 정의됩니다. 그런 다음 학습 프로세스가 진행됨에 따라 모델 예측이 알려진 레이블 값에 대해 평가되고 필터 가중치가 조정되어 정확도가 향상됩니다. 결국 학습된 과일 이미지 분류 모델은 다양한 종류의 과일을 식별하는 데 도움이 되는 기능을 가장 잘 추출하는 필터 가중치를 사용합니다.

다음 다이어그램에서는 이미지 분류 모델의 CNN 작동 방식을 보여 줍니다.

나선형 신경망 다이어그램

  1. 알려진 레이블(예: 사과, 1: 바나나 또는 2: 오렌지)이 있는 이미지는 모델을 학습하기 위해 네트워크에 공급됩니다.
  2. 네트워크를 통해 공급되는 각 이미지에서 기능을 추출하는 데 하나 이상의 필터 계층이 사용됩니다. 필터 커널은 임의로 할당된 가중치로 시작하고 기능 맵이라는 숫자 값 배열을 생성합니다. 추가 계층은 기능 맵을 "풀" 또는 "축소"하여 필터에서 추출한 주요 시각적 기능을 강조하는 더 작은 배열을 만들 수 있습니다.
  3. 기능 맵은 기능 값의 단일 차원 배열로 평면화됩니다.
  4. 기능 값은 완전히 연결된 신경망에 공급됩니다.
  5. 신경망의 출력 계층은 softmax 또는 유사한 함수를 사용하여 가능한 각 클래스에 대한 확률 값(예: [0.2, 0.5, 0.3])을 포함하는 결과를 생성합니다.

학습하는 동안 출력 확률은 실제 클래스 레이블과 비교됩니다. 예를 들어 바나나(클래스 1)의 이미지는 값 [0.0, 1.0, 0.0]을 가져야 합니다. 예측 클래스 점수와 실제 클래스 점수의 차이는 모델의 손실 계산하는 데 사용되며, 완전히 연결된 신경망의 가중치와 기능 추출 계층의 필터 커널은 손실을 줄이기 위해 수정됩니다.

학습 프로세스는 최적의 가중치 집합이 학습될 때까지 여러 epoch에 걸쳐 반복됩니다. 그런 다음 가중치를 저장하고 모델을 사용하여 레이블을 알 수 없는 새 이미지의 레이블을 예측할 수 있습니다.

비고

CNN 아키텍처에는 일반적으로 기능 맵의 크기를 줄이고 추출된 값을 제한하며 기능 값을 조작하는 여러 나선형 필터 계층과 추가 계층이 포함됩니다. 이 간소화된 예제에서는 필터를 사용하여 이미지에서 숫자 기능을 추출한 다음, 신경망에서 이미지 레이블을 예측하는 데 사용되는 주요 개념에 집중하기 위해 이러한 계층을 생략했습니다.