google.com, pub-9850333530125189, DIRECT, f08c47fec0942fa0 머신 러닝과 딥 러닝을 언제 사용해야 할까요
본문 바로가기
카테고리 없음

머신 러닝과 딥 러닝을 언제 사용해야 할까요

by ╰(*°▽°*)╯(¬_¬ ) 2022. 2. 18.
반응형

머신 러닝과 딥 러닝을 언제 사용해야 할까요?

기계 학습과 딥 러닝 모두에서 엔지니어는 소프트웨어 도구를 사용하여 컴퓨터가 예제 데이터 세트에서 학습하여 데이터의 추세와 특성을 식별할 수 있도록 합니다.

과학의 급속한 성장과 진화를 고려할 때 프로젝트를 진행하는 데 사용할 AI 기술을 이해하는 것은 어려울 수 있습니다. 이 기사에서는 머신 러닝과 딥 러닝의 차이점과 각각을 적용할 시기를 결정하는 방법에 대해 간략히 설명합니다.

정의: 머신 러닝 대 딥 러닝

기계 학습과 딥 러닝 모두에서 엔지니어는 MATLAB과 같은 소프트웨어 도구를 사용하여 컴퓨터가 예제 데이터 세트에서 학습하여 데이터의 추세와 특성을 식별할 수 있도록 합니다. 머신 러닝의 경우 훈련 데이터는 컴퓨터가 테스트 데이터, 궁극적으로 실제 데이터를 분류하는 데 사용할 수 있는 모델을 구축하는 데 사용됩니다. 전통적으로 이 워크플로의 중요한 단계는 모델의 정확성을 높이는 데 도움이 되는 기능(원시 데이터에서 파생된 추가 메트릭)의 개발입니다.

딥 러닝은 엔지니어와 과학자가 수동으로 기능을 생성하는 단계를 건너뛰는 기계 학습의 하위 집합입니다. 대신 데이터가 딥 러닝 알고리즘에 입력되고 출력을 결정하는 데 가장 유용한 기능이 무엇인지 자동으로 학습합니다.

기계 학습

엔지니어와 과학자가 데이터 내에서 수동으로 기능을 선택하고 모델을 훈련시키는 인공 지능의 한 분야. 일반적인 기계 학습 알고리즘에는 의사 결정 트리, 지원 벡터 기계, 신경망 및 앙상블 방법이 포함됩니다.

딥 러닝

알고리즘이 어떤 기능이 유용한 지 자동으로 학습하는 인간 두뇌의 신경 경로를 느슨하게 모델링한 기계 학습의 한 분야입니다. 일반적인 딥 러닝 알고리즘에는 CNN(컨볼루션 신경망), 순환 신경망 및 딥 Q 네트워크가 포함됩니다.

프로젝트 프로필

기계 학습은 일반적으로 출력을 예측하거나 추세를 파악하는 프로젝트에 사용됩니다. 이 예에서 제한된 데이터 본문은 기계가 나중에 새 입력 데이터에 대한 올바른 결정을 내리는 데 사용할 수 있는 패턴을 학습하는 데 사용됩니다. 기계 학습에 사용되는 일반적인 알고리즘에는 선형 회귀, 의사 결정 트리, 지원 벡터 기계(SVM), 나이브 베이즈, 판별 분석, 신경망 및 앙상블 방법이 포함됩니다.

딥 러닝은 더 복잡하며 일반적으로 이미지 분류, 이미지에서 객체 식별, 이미지 및 신호 향상과 관련된 프로젝트에 사용됩니다. 이러한 경우 이미지, 신호와 같이 공간적, 시간적으로 정리된 데이터에서 특징을 자동으로 추출하도록 설계된 심층 신경망을 적용할 수 있습니다. 딥 러닝에 사용되는 일반적인 알고리즘에는 CNN(Convolutional Neural Network), RNN(Recurrent Neural Network) 및 강화 학습(Deep Q 네트워크)이 있습니다.

더 빠른 결과가 필요한 경우 기계 학습 알고리즘이 더 바람직할 수 있습니다. 훈련 속도가 더 빠르고 계산 능력이 덜 필요합니다. 특징과 관찰의 수는 훈련 시간에 영향을 미치는 핵심 요소가 될 것입니다. 기계 학습을 적용하는 엔지니어는 대부분의 시간을 모델 정확도를 개선하기 위해 기능을 개발하고 평가하는 데 보낼 것으로 예상해야 합니다.

딥 러닝 모델은 훈련하는 데 시간이 걸립니다. 사전 훈련된 네트워크 및 공개 데이터 세트는 전이 학습을 통해 훈련을 단축할 수 있지만 때로는 구현하기가 복잡할 수 있습니다. 일반적으로 딥 러닝 알고리즘은 하드웨어 및 컴퓨팅 성능에 따라 훈련하는 데 1분에서 몇 주가 소요될 수 있습니다. 딥 러닝을 적용하는 엔지니어는 대부분의 시간을 모델을 훈련하고 심층 신경망의 아키텍처를 수정하는 데 소비할 것으로 예상해야 합니다.

머신 러닝 대 딥 러닝 선택 시 고려 사항

데이터 고려 사항

사용 가능한 데이터 세트를 이해하면 주어진 작업에 기계 학습 또는 딥 러닝을 적용해야 하는지 여부를 결정하는 데 도움이 될 수 있습니다.

일반적으로 사용 가능한 구조화된 데이터가 더 제한적일 때 기계 학습이 사용됩니다. 대부분의 기계 학습 알고리즘은 모델을 표 형식 데이터(독립적인 행과 열로 구성됨)로 훈련하도록 설계되었습니다. 데이터가 표 형식이 아닌 경우 머신 러닝을 적용할 수 있지만 일부 데이터 조작이 필요합니다. 즉, 센서 데이터는 일반적인 통계 메트릭(평균, 중앙값, 표준 편차, 왜도, 첨도 등) 그런 다음 전통적인 기계 학습 기술과 함께 사용됩니다.

딥 러닝은 일반적으로 수천만 개의 매개변수가 있고 훈련 데이터에 과적합되지 않는 네트워크를 보장하기 위해 많은 양의 훈련 데이터를 필요로 합니다. 컨볼루션 신경망은 이미지 데이터에 대해 작동하도록 설계되었지만 신호에 대한 스펙트로그램과 같은 시간-주파수 계산을 수행하여 센서 데이터에도 사용할 수 있습니다. LSTM(Long Short-Term Memory) 네트워크와 같은 순환 신경망은 신호 및 텍스트와 같은 순차적 데이터에서 작동하도록 설계되었습니다.

사용 가능한 하드웨어 및 배포

어떤 AI 접근 방식을 적용해야 하는지 결정하는 것도 사용 가능한 하드웨어에 달려 있습니다.

기계 학습 알고리즘은 계산 능력이 덜 필요합니다. 예를 들어, 데스크톱 CPU는 이러한 모델을 훈련하는 데 충분합니다.

딥 러닝 모델의 경우 일반적으로 더 높은 메모리 및 컴퓨팅 요구 사항으로 인해 특수 하드웨어가 필요합니다. 컨볼루션과 같은 심층 신경망 내에서 수행되는 작업은 GPU의 병렬 아키텍처에 적합하기 때문에 특수 하드웨어도 적합합니다.

딥 러닝 모델은 상당한 컴퓨팅 성능을 필요로 합니다. GPU를 사용할 수 있는 경우 또는 CPU에서 훈련을 실행할 시간이 있는 경우(훨씬 더 오래 걸릴 경우) 고려해야 합니다.

클러스터 또는 클라우드에서 딥 러닝 모델을 훈련하는 것은 GPU 확보와 관련된 높은 비용으로 인해 딥 러닝으로 인기를 얻었습니다. 이 옵션을 사용하면 여러 연구원이 하드웨어를 공유할 수 있습니다.

임베디드 GPU에 대한 배포는 배포된 환경에서 빠른 추론 속도를 제공할 수 있기 때문에 인기를 얻었습니다. GPU Coder를 사용하면 Intel , NVIDIA 및 Arm의 최적화된 라이브러리를 활용하는 MATLAB의 딥 러닝 모델에서 코드를 생성할 수 있습니다. NVIDIA GPU용 GPU Coder 지원 패키지를 사용하면 생성된 CUDA 코드를 임베디드 GPU에서 독립 실행형 애플리케이션으로 교차 컴파일하고 배포할 수 있습니다.

진화하는 과학을 위한 지침

시행착오가 항상 있기는 하지만 위의 내용은 기계 학습 및 딥 러닝을 처음 접하는 엔지니어와 과학자를 위해 의사 결정을 안내하고 전반적인 설계 프로세스를 가속화하는 데 도움이 될 수 있습니다. 딥 러닝과 머신 러닝의 차이점을 이해하고 프로젝트의 최종 애플리케이션을 파악하고 데이터 및 하드웨어 가용성을 고려함으로써 설계 팀은 해당 프로젝트에 가장 적합한 접근 방식을 더 빨리 파악할 수 있습니다.

댓글