CNN(Convolutional Neural Networks) 초보자 가이드: 단계별 설명

게시 됨: 2022-06-06

딥 러닝은 컴퓨터 비전, 인지 계산 및 시각적 데이터의 세련된 처리에 대한 다양한 접근 방식을 촉진했습니다. 그러한 사례 중 하나는 객체 또는 이미지 분류를 위해 CNN 또는 Convolutional Neural Networks를 사용하는 것입니다. CNN 알고리즘은 기계가 인간처럼 주변 세계를 (픽셀 형태로) 인식할 수 있게 함으로써 시각적 기반 분류에서 엄청난 이점을 제공합니다.

CNN은 근본적으로 기계가 레이어를 통해 시각적 데이터에서 수많은 매개변수를 처리, 분류 또는 식별할 수 있을 만큼 충분히 훈련되도록 하는 인식 알고리즘입니다. 이는 기계 또는 소프트웨어가 입력 데이터에서 필요한 개체를 정확하게 식별할 수 있도록 하여 고급 개체 식별 및 이미지 분류를 촉진합니다.

CNN 기반 시스템은 이미지 기반 훈련 데이터에서 학습하고 훈련 모델을 기반으로 미래 입력 이미지 또는 시각적 데이터를 분류할 수 있습니다. 훈련에 사용되는 데이터 세트에 다양한 유용한 시각적 신호(공간 데이터)가 포함되어 있는 한 이미지 또는 객체 분류기는 매우 정확합니다.

CNN은 오늘날 Google Lens의 이미지 분류 시스템이나 Tesla와 같은 자율 차량과 같은 널리 사용되는 구현에서 가장 널리 사용되는 딥 러닝 접근 방식 중 하나입니다. 이것은 특히 물체 감지 외에도 CNN의 도움으로 가능한 안정적인 패턴 인식 때문입니다.

세계 최고의 대학에서 온라인으로 머신 러닝배우십시오 . 석사, 대학원 대학원 과정, ML 및 AI 고급 인증 프로그램을 통해 빠르게 경력을 쌓을 수 있습니다.

목차

CNN의 응용

CNN 기반 시스템의 사용은 보안 시스템, 방어 시스템, 의료 진단, 이미지 분석, 미디어 분류 및 기타 인식 소프트웨어에서 볼 수 있습니다. 예를 들어 CNN은 RNN(Recurrent Neural Network)과 함께 사용하여 비디오 인식 소프트웨어 또는 동작 인식기를 구축할 수 있습니다.

이것은 비디오를 순차적으로 형성하는 프레임에서 사용 가능한 공간 정보를 분석하여 시스템이 비디오에서 실시간으로 객체를 식별할 수 있도록 하는 비디오 분류의 고급 응용 프로그램입니다.

이러한 프레임의 시퀀스에는 공간 및 시간 처리를 통해 데이터를 모델링하는 데 도움이 되는 시간 정보도 포함되어 있어 컨볼루션과 순환 레이어로 구성된 하이브리드 아키텍처를 사용할 수 있습니다. Tesla 자동차와 Waymo 차량은 CNN을 사용하여 카메라가 실시간으로 캡처한 데이터의 도움으로 도로와 들어오는 물체 또는 차량의 다양한 측면을 인식하고 분류합니다.

기계 학습 및 인공 지능에 대한 과정 살펴보기

IITM의 기계 학습 및 클라우드 고급 인증 LJMU의 기계 학습 및 AI 과학 석사 IITB의 기계 학습 및 AI 대학원 대학원 프로그램
IIITB의 기계 학습 및 NLP 고급 인증 프로그램 IIITB의 머신 러닝 및 딥 러닝 고급 인증 프로그램 IITR의 관리자를 위한 AI 고급 인증 프로그램

신경망은 라인 감지, 환경 분할, 내비게이션 및 자동 운전을 통해 차량 시스템을 강화합니다. 이러한 기능을 통해 자율 차량은 물체 회피, 차선 변경, 속도 증가, 감속 또는 필요한 경우 제동을 통한 완전 정지와 같은 분류 패턴을 기반으로 복잡한 결정을 내릴 수 있습니다.

그러나 이들은 GPS, RADAR, LiDAR와 같은 하드웨어 및 센서는 물론 방대한 양의 훈련 데이터 및 고성능 처리 환경을 필요로 하는 CNN의 고급 구현입니다. 이를 통해 딥 러닝 모델이 센서에서 들어오는 데이터를 실시간으로 처리하고 관련 조치를 취하는 의사 결정 시스템이 됩니다.

카메라 비전은 센서의 데이터를 사용하여 환경에 대한 3D 인식(시각 재구성, 깊이 분석 등)을 획득하고 거리를 정확하게(레이저를 통해) 분석할 수 있습니다. 따라서 모델은 차량이나 물체의 미래 위치를 예측하여 최종적으로 최선의 조치를 결정할 수 있습니다.

CNN 모델은 분류, 세분화, 현지화에 의존하고 예측을 구축합니다. 이를 통해 이러한 자동차는 주어진 상황에서 인간의 두뇌처럼, 때로는 인간 운전자보다 더 효과적으로 반응할 수 있습니다.

CNN은 특히 컴퓨터 비전과 표적 탐지와 관련하여 기계와 인간 사이의 격차를 해소하고 있습니다. 그러나 CNN을 이해하려면 먼저 신경망에 대해 배우고 2차원 시각 데이터에 CNN 알고리즘을 사용하는 것부터 시작해야 합니다.

딥 러닝에서 신경망이란 무엇입니까?

딥 러닝은 머신 러닝의 가장 중요한 분기 중 하나이며 ANN 또는 인공 신경망(ANN)을 사용하여 지도, 비지도 또는 반지도 머신 러닝 방법론으로 구현됩니다. 이러한 유형의 기계 학습 모델은 데이터의 상위 수준 기능에서 작업하기 위해 여러 계층의 처리에 의존합니다.

레이어는 기본적으로 계산 단위로 함께 쌓인 여러 노드 또는 블록입니다. 이 레이어는 인간의 뉴런을 효과적으로 에뮬레이트하고 인간의 두뇌와 동일한 방식으로 기능합니다. 계층을 점진적으로 구축함으로써 모델은 사전 처리된 데이터만 포함된 초기 입력 계층보다 훨씬 더 발전될 수 있습니다.

신경망 알고리즘은 최종 출력 레이어에 도달할 때까지 미래 레이어에 계산을 제공할 수 있는 출력을 추출합니다. 이것은 모든 후속 계층의 모든 노드가 이전 계층의 단일 노드에 연결되는 네트워크를 형성합니다. 모델이 2개 이상의 레이어를 사용할 때마다 DNN(심층 신경망)으로 분류됩니다. 이러한 네트워크는 주기를 형성하지 않고 여러 계층의 인식을 허용하므로 예측 및 데이터 처리에도 다양한 차원을 도입합니다.

기계 학습 및 인공 지능과 관련된 인기 기사 읽기

IoT: 역사, 현재 및 미래 기계 학습 자습서: ML 배우기 알고리즘이란 무엇입니까? 간단하고 쉬운
인도 로봇 공학 엔지니어 급여 : 모든 역할 기계 학습 엔지니어의 하루: 그들은 무엇을 하나요? 사물인터넷(IoT)이란
순열 대 조합: 순열과 조합의 차이점 인공 지능 및 기계 학습의 상위 7가지 트렌드 R을 사용한 기계 학습: 알아야 할 모든 것

다음은 딥 러닝에 사용되는 몇 가지 일반적인 프레임워크입니다.

  • 텐서플로우
  • 케라스
  • 아파치 MXNet

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

Convolutional Neural Networks는 주로 이미지를 처리하거나 이미지 인식을 위해 픽셀 데이터 작업에 사용되는 일종의 ANN입니다. CNN은 머신 비전 및 추천 기반 시스템을 사용하는 생성 및 설명 작업을 위해 딥 러닝에서 사용됩니다.

CNN은 DNN과 유사한 더 효율적인 ANN이지만 여전히 Feedforward Neural Network의 복잡성을 줄입니다. CNN은 일반적으로 특징 맵 레이어와 특징 추출 레이어의 두 가지 레이어에 의존하기 때문입니다. 각 노드의 입력은 이전 레이어의 로컬 수용 필드에서 로컬 기능을 추출합니다.

추출이 완료되면 로컬 기능과 다른 기능 간의 위치 관계가 표시되거나 매핑됩니다. 최종 해상도를 보다 정확하게 만들기 위해 컨볼루션 레이어 다음에는 로컬 평균을 계산하고 피쳐의 2차 추출을 계산하는 컴퓨팅 레이어가 옵니다. CNN은 대부분 두 개의 레이어로 작동하지만 다중 기능 추출 및 불변 왜곡의 통합으로 인해 예측이 매우 정확합니다.

동일한 기능 맵 평면에 있는 노드는 가중치를 공유하기 때문에 동시에 학습할 수 있습니다. 이것은 네트워크의 복잡성을 줄이고 다차원 입력 이미지의 입력을 허용합니다. 다른 신경망과 달리 CNN은 처리 요구 사항이 낮기 때문에 이미지를 저해상도 이미지로 변환할 필요가 없습니다.

이 모델은 CNN이 데이터를 과대적합하는 경향이 없으므로 덜 복잡하게 만든다는 점을 제외하면 다층 인식과 유사합니다. 이것은 매개변수에 페널티를 부여하거나 건너뛴 연결을 트리밍하여 다층 퍼셉트론 접근 방식을 정규화하여 수행됩니다.

CNN은 복잡성 수준에 따라 패턴을 조합하기 위해 데이터의 계층적 패턴을 사용합니다. Convolutional Neural Networks는 특히 이미지와 비디오의 경우 다른 분류 알고리즘에 비해 전처리가 거의 필요하지 않습니다. NLP를 사용하면 로봇 공학, 의료 진단 및 자동화의 고급 응용 프로그램에 CNN을 사용할 수도 있습니다. CNN은 대부분의 비지도 머신 러닝 기술과 잘 작동하며 자동화된 학습 방법론을 통해 모델 필터를 독립적으로 최적화합니다.

다음은 CNN의 사용 가능한 아키텍처입니다.

  • 구글넷
  • 알렉스넷
  • 르넷
  • ZFNet
  • 레스넷
  • VGGNet

다음은 CNN 구현의 예입니다.

임의의 이미지 세트에서 새, 고양이, 개, 자동차 및 인간을 분류해야 한다고 가정해 보겠습니다. 시작하려면 먼저 미래 계산을 위한 벤치마크로 사용할 수 있는 훈련 데이터 세트를 찾아야 합니다. 좋은 훈련 데이터 세트의 예로는 새, 고양이, 개, 자동차 및 인간의 64×64 픽셀 사진 50,000개가 있습니다.

이러한 각 대상은 연결된 정수 값이 있는 클래스 레이블이 됩니다. 클래스 레이블은 'birds', 'cats', 'dogs', 'cars' 및 'humans'가 될 것이며 값은 0, 1, 2, 3 및 4입니다. CNN 모델이 이 데이터 세트와 벤치마크를 사용하여 훈련되면 , 무작위 입력 데이터에서 시각적 신호를 식별한 다음 레이블에 따라 분류할 수 있습니다. 최종 모델은 이러한 물체를 특징으로 하는 임의의 이미지 세트에서 다섯 가지 유형의 물체(레이블)를 정확하게 식별할 수 있습니다.

다음은 CNN 모델을 구축하는 데 필요한 단계입니다.

  • 데이터세트를 로드합니다.
  • 픽셀 데이터를 준비합니다.
  • 모델을 정의합니다.
  • 모델 평가.
  • 결과를 발표합니다.
  • 완전한 샘플링.
  • 기본 모델을 개발합니다.
  • 모델 개선을 위한 정규화 기술을 구현합니다.
  • 데이터를 보강합니다.
  • 최종 모델 및 추가 평가.

CNN Deep Learning은 뛰어난 경력 전망을 가진 유망한 분야입니다. CNN에서 경력을 쌓을 계획이라면 upGrad의 기계 학습 및 딥 러닝 프로그램에서 고급 인증 프로그램을 확인할 수 있습니다 .

기존 신경망(기타 ANN)과 CNN의 차이점은 무엇입니까?

인공 신경망(ANN)과 CNN과 같은 고전적인 신경망의 가장 큰 차이점은 CNN의 마지막 레이어만 완전히 연결되고 ANN에서는 각 뉴런이 다른 모든 뉴런에 연결된다는 사실에 있습니다.

심층 신경망이란 무엇입니까?

딥 러닝은 표현 학습이 포함된 인공 신경망을 기반으로 하는 기계 학습과 관련된 광범위한 개념에서 비롯됩니다.

NLP를 CNN과 함께 사용할 수 있습니까?

문장 분류와 유사하게 CNN은 감성 분류, 기계 번역, 텍스트 요약, 답변 선택 등과 같은 여러 NLP 작업에 사용할 수 있습니다.