부본 CNN(컨볼루션 신경망)이란 무엇입니까? - Unite.AI
Rescale 미팅 예약

AI 101

CNN(컨볼루션 신경망)이란 무엇입니까?

mm
업데이트 on

아마도 Facebook이나 Instagram이 이미지 속 얼굴을 자동으로 인식하는 방법이나 Google에서 자신의 사진을 업로드하는 것만으로 유사한 사진을 웹에서 검색할 수 있는 방법에 대해 궁금하셨을 것입니다. 이러한 기능은 컴퓨터 비전의 예이며 다음을 통해 구동됩니다. CNN(컨볼루션 신경망). 그러나 컨볼루션 신경망이 정확히 무엇입니까? CNN의 아키텍처에 대해 자세히 살펴보고 작동 방식을 이해해 봅시다.

신경망이란 무엇입니까?

컨벌루션 신경망에 대해 이야기하기 전에 일반 신경망을 정의하는 시간을 가져보겠습니다. 있다 다른 기사 사용 가능한 신경망에 대한 주제이므로 여기서는 깊이 다루지 않겠습니다. 그러나 간단히 정의하자면 인간의 두뇌에서 영감을 얻은 계산 모델입니다. 신경망은 데이터를 가져오고 "가중치"를 조정하여 데이터를 조작하여 작동합니다. 가중치는 입력 기능이 서로 어떻게 관련되고 객체의 클래스와 관련되는지에 대한 가정입니다. 네트워크가 훈련됨에 따라 가중치 값이 조정되고 기능 간의 관계를 정확하게 캡처하는 가중치로 수렴되기를 바랍니다.

이것이 피드포워드 신경망이 작동하는 방식이며 CNN은 피드포워드 신경망과 컨볼루션 레이어 그룹의 두 부분으로 구성됩니다.

컨볼루션 신경망(CNN)이란 무엇입니까?

컨볼루션 신경망에서 발생하는 "컨볼루션"은 무엇입니까? 컨볼루션은 가중치 집합을 생성하는 수학적 연산으로, 본질적으로 이미지의 일부를 표현하는 것입니다. 이 가중치 세트를 다음과 같이 지칭합니다. 커널 또는 필터. 생성된 필터는 전체 입력 이미지보다 작으며 이미지의 하위 섹션만 포함합니다. 필터의 값은 이미지의 값과 곱해집니다. 그런 다음 필터를 이동하여 이미지의 새로운 부분을 표현하고 전체 이미지가 덮일 때까지 프로세스를 반복합니다.

이에 대해 생각하는 또 다른 방법은 입력 이미지의 픽셀을 나타내는 벽돌이 있는 벽돌 벽을 상상하는 것입니다. "창"이 필터인 벽을 따라 앞뒤로 미끄러지고 있습니다. 창을 통해 볼 수 있는 벽돌은 해당 값에 필터 내의 값을 곱한 픽셀입니다. 이러한 이유로 필터를 사용하여 가중치를 생성하는 이 방법을 종종 "슬라이딩 윈도우" 기술이라고 합니다.

전체 입력 이미지 주위로 이동되는 필터의 출력은 전체 이미지를 나타내는 XNUMX차원 배열입니다. 이 배열을 "기능 맵".

컨볼루션이 필수적인 이유

어쨌든 회선을 만드는 목적은 무엇입니까? 신경망이 이미지의 픽셀을 숫자 값으로 해석할 수 있어야 하기 때문에 회선이 필요합니다. 컨벌루션 레이어의 기능은 이미지를 신경망이 해석할 수 있는 수치로 변환한 다음 관련 패턴을 추출하는 것입니다. 컨벌루션 네트워크에서 필터의 역할은 이미지의 패턴을 학습할 신경망의 이후 레이어로 전달될 수 있는 값의 XNUMX차원 배열을 생성하는 것입니다.

필터 및 채널

사진: Wikimedia Commons를 통한 cecebur, CC BY SA 4.0(https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)

CNN은 입력 이미지에서 패턴을 학습하기 위해 하나의 필터만 사용하지 않습니다. 여러 필터가 사용됨, 서로 다른 필터에 의해 생성된 서로 다른 배열은 입력 이미지의 더 복잡하고 풍부한 표현으로 이어지기 때문입니다. CNN의 일반적인 필터 수는 32, 64, 128 및 512입니다. 필터가 많을수록 CNN이 입력 데이터를 검사하고 학습할 기회가 더 많아집니다.

CNN은 객체의 경계를 결정하기 위해 픽셀 값의 차이를 분석합니다. 그레이스케일 이미지에서 CNN은 흑백, 밝음과 어두움 용어의 차이만 볼 것입니다. 이미지가 컬러 이미지인 경우 CNN은 어둡고 밝은 점을 고려할 뿐만 아니라 빨강, 녹색 및 파랑의 세 가지 색상 채널도 고려해야 합니다. 이 경우 필터는 이미지 자체와 마찬가지로 3개의 채널을 소유합니다. 필터가 가진 채널 수를 깊이라고 하며 필터의 채널 수는 이미지의 채널 수와 일치해야 합니다.

컨볼 루션 신경망 (CNN) 아키텍처

의 전체 아키텍처를 살펴보겠습니다. 컨벌루션 신경망. 이미지 데이터를 숫자 배열로 변환하는 데 필요하기 때문에 모든 컨볼루션 네트워크의 시작 부분에 컨볼루션 레이어가 있습니다. 그러나 컨볼루션 레이어는 다른 컨볼루션 레이어 뒤에 올 수도 있습니다. 즉, 이러한 레이어를 서로 겹쳐 쌓을 수 있습니다. 다중 컨볼루션 레이어가 있다는 것은 한 레이어의 출력이 추가 컨벌루션을 거쳐 관련 패턴으로 함께 그룹화될 수 있음을 의미합니다. 실제로 이는 이미지 데이터가 컨벌루션 레이어를 통과하면서 네트워크가 이미지의 더 복잡한 특징을 "인식"하기 시작한다는 것을 의미합니다.

ConvNet의 초기 계층은 단순한 선을 구성하는 픽셀과 같은 저수준 기능을 추출하는 역할을 합니다. ConvNet의 이후 계층은 이러한 선을 모양으로 결합합니다. 표면 수준 분석에서 심층 수준 분석으로 이동하는 이 프로세스는 ConvNet이 동물, 사람 얼굴, 자동차와 같은 복잡한 모양을 인식할 때까지 계속됩니다.

데이터가 모든 컨벌루션 레이어를 통과한 후 CNN의 조밀하게 연결된 부분으로 진행됩니다. 조밀하게 연결된 레이어는 전통적인 피드포워드 신경망의 모습으로, 서로 연결된 레이어에 배열된 일련의 노드입니다. 데이터는 이러한 조밀하게 연결된 계층을 통해 진행되며, 컨볼루션 계층에서 추출한 패턴을 학습하고 이를 통해 네트워크가 객체를 인식할 수 있게 됩니다.

전문 분야의 블로거 및 프로그래머 기계 학습 깊은 학습 주제. 다니엘은 다른 사람들이 사회적 이익을 위해 AI의 힘을 사용하도록 돕기를 희망합니다.