Azure Machine Learning에서의 딥 러닝 대 기계 학습
이 문서에서는 딥 러닝 대 기계 학습을 비교하고, 더 광범위한 AI 범주에 어떻게 부합하는지 설명합니다. 사기 감지, 음성 및 얼굴 인식, 감정 분석 및 시계열 예측과 같은 Azure Machine Learning에서 빌드할 수 있는 딥 러닝 솔루션에 대해 알아봅니다.
솔루션에 사용할 알고리즘을 선택하는 방법에 대한 지침은 Machine Learning 알고리즘 치트 시트를 참조하세요.
Azure Machine Learning의 기초 모델은 특정 사용 사례에 맞게 미세 조정할 수 있는 미리 학습된 딥 러닝 모델입니다. Azure Machine Learning의 기초 모델(미리 보기) 및 Azure Machine Learning(미리 보기)에서 기초 모델을 사용하는 방법에 대해 자세히 알아봅니다.
딥 러닝, 기계 학습 및 AI
딥 러닝과 기계 학습과 AI를 비교하여 이해하려면 다음 정의를 고려합니다.
딥 러닝은 인공신경망을 기반으로 하는 기계 학습의 하위 집합입니다. 인공신경망 구조는 여러 입력, 출력 및 숨겨진 레이어로 구성되기 때문에 학습 프로세스가 깊어집니다. 각 레이어에는 입력 데이터를 다음 레이어가 특정 예측 작업에 사용할 수 있는 정보로 변환하는 장치가 포함되어 있습니다. 이 구조 덕분에 머신은 자체 데이터 처리를 통해 학습할 수 있습니다.
기계 학습은 머신이 경험을 통해 작업을 개선할 수 있도록 하는 기술(예: 딥 러닝)을 사용하는 AI의 하위 집합입니다. 학습 프로세스는 다음 단계를 기반으로 합니다.
- 알고리즘에 데이터를 피드합니다. (이 단계에서는 기능 추출을 수행하는 등의 방법으로 모델에 추가 정보를 제공할 수 있습니다.)
- 이 데이터를 사용하여 모델을 학습시킵니다.
- 모델을 테스트한 후 배포합니다.
- 배포된 모델을 사용하여 자동화된 예측 작업을 수행합니다. (즉, 배포된 모델을 호출 및 사용하여 모델에서 반환된 예측을 받습니다.)
AI(인공 지능)는 컴퓨터가 인간의 지능을 모방할 수 있도록 하는 기술입니다. 여기에는 기계 학습이 포함됩니다.
생성 AI는 기술(예: 딥 러닝)을 사용하여 새로운 콘텐츠를 생성하는 인공 지능의 하위 집합입니다. 예를 들어, 생성 AI를 사용하여 이미지, 텍스트 또는 오디오를 만들 수 있습니다. 이러한 모델은 미리 학습된 방대한 지식을 활용하여 이 콘텐츠를 생성합니다.
기계 학습 및 딥 러닝 기술을 사용하면 사용자 인텔리전스와 일반적으로 관련된 작업을 수행하는 컴퓨터 시스템과 애플리케이션을 빌드할 수 있습니다. 이러한 작업에는 이미지 인식, 음성 인식 및 언어 번역이 포함됩니다.
딥 러닝 대 기계 학습 기술 비교
이제 기계 학습과 딥 러닝을 대략적으로 알아보았으므로 두 기술을 비교해 보겠습니다. 기계 학습에서는 추가 정보를 사용하여(예: 기능 추출 수행을 통해) 정확한 예측을 만드는 방법을 알고리즘에 지시해야 합니다. 딥 러닝에서는 인공신경망 구조 덕분에 자체 데이터 처리를 통해 정확한 예측을 만드는 방법을 알고리즘이 학습할 수 있습니다.
다음 표에서 두 기술에 대해 자세히 설명합니다.
모든 기계 학습 | 딥 러닝만 해당 | |
---|---|---|
데이터 요소 수 | 적은 양의 데이터를 사용하여 예측을 만들 수 있습니다. | 예측을 수행하려면 많은 양의 학습 데이터를 사용해야 합니다. |
하드웨어 종속성 | 저사양 머신에서 작동할 수 있습니다. 컴퓨팅 능력이 많이 필요하지 않습니다. | 고성능 머신에 의해 결정됩니다. 본질적으로 많은 수의 행렬 곱하기 연산을 수행합니다. GPU는 이러한 작업을 효율적으로 최적화할 수 있습니다. |
기능화 프로세스 | 사용자가 기능을 정확하게 식별하고 만들어야 합니다. | 데이터의 고급 기능을 학습하고 자체적으로 새 기능을 만듭니다. |
학습 방법 | 학습 프로세스를 더 작은 단계로 나눕니다. 그런 다음, 각 단계의 결과들을 하나의 출력으로 결합합니다. | 엔드투엔드 단위로 문제를 해결하여 학습 프로세스를 진행합니다. |
실행 시간 | 몇 초에서 몇 시간까지 학습하는 데 비교적 적은 시간이 소요됩니다. | 딥 러닝 알고리즘에는 많은 레이어가 포함되어 있기 때문에 일반적으로 학습하는 데 시간이 오래 걸립니다. |
출력 | 출력은 일반적으로 점수 또는 분류와 같은 숫자 값입니다. | 출력에는 텍스트, 점수 또는 사운드와 같은 여러 형식이 있을 수 있습니다. |
전이 학습이란?
딥 러닝 모델을 학습하기 위해서는 많은 양의 학습 데이터, 고성능 컴퓨팅 리소스(GPU, TPU) 및 더 긴 학습 시간이 필요합니다. 시나리오에서 사용할 수 있는 항목이 없는 경우 전이 학습이라는 기술을 사용하여 학습 프로세스를 단축시킬 수 있습니다.
전이 학습은 한 가지 문제를 해결하는 과정에서 획득한 지식을 다른 관련 문제에 적용하는 기술입니다.
신경망의 구조로 인해 첫 번째 레이어 세트는 일반적으로 하위 수준의 기능을 포함하는 반면, 최종 레이어 세트는 의심스러운 도메인에 더 가까운 상위 수준의 기능을 포함합니다. 새 도메인 또는 문제에 사용하기 위해 최종 레이어의 용도를 다시 설정하면 새 모델을 학습하는 데 필요한 시간, 데이터 및 컴퓨팅 리소스의 양을 크게 줄일 수 있습니다. 예를 들어 자동차를 인식하는 모델이 이미 있는 경우 전이 학습을 사용하여 트럭, 오토바이 및 기타 차량 종류도 인식하도록 해당 모델의 용도를 다시 설정할 수 있습니다.
Azure Machine Learning에서 오픈 소스 프레임워크를 사용하여 이미지 분류에 대해 전이 학습을 적용하는 방법에 대해 알아봅니다. 전이 학습을 사용하여 딥 러닝 PyTorch 모델을 학습.
딥 러닝 사용 사례
인공신경망 구조 덕분에 딥 러닝은 이미지, 사운드, 비디오 및 텍스트와 같은 비정형 데이터의 패턴을 식별하는 데 뛰어납니다. 이러한 이유로 딥 러닝은 의료, 에너지, 재무 및 교통을 비롯한 많은 산업을 신속하게 탈바꿈시키고 있습니다. 이러한 산업은 이제 기존의 비즈니스 프로세스를 재고하고 있습니다.
딥 러닝을 위한 가장 일반적인 애플리케이션 중 몇 가지가 다음 단락에 설명되어 있습니다. Azure Machine Learning에서는 오픈 소스 프레임워크에서 빌드한 모델을 사용하거나 제공된 도구를 사용하여 모델을 빌드할 수 있습니다.
명명된 엔터티 인식
명명된 엔터티 인식은 텍스트의 일부를 입력으로 사용하고 미리 지정된 클래스로 변환하는 딥 러닝 방법입니다. 이 새로운 정보는 우편 번호, 날짜, 제품 ID일 수 있습니다. 그런 다음, 정보를 정형화된 스키마에 저장하여 주소 목록을 빌드하거나 ID 유효성 검사 엔진에 대한 벤치마크로 사용할 수 있습니다.
개체 감지
딥 러닝은 많은 개체 검색 사용 사례에 적용되었습니다. 개체 감지는 이미지에서 개체(예: 자동차 또는 사람)를 식별하고 경계 상자를 통해 각 개체의 특정 위치를 제공하는 데 사용됩니다.
개체 검색은 게임, 소매, 관광 및 자율 주행 자동차와 같은 산업에서 이미 사용되고 있습니다.
이미지 캡션 생성
이미지 인식과 마찬가지로 이미지 캡션에서 지정된 이미지에 대해 시스템에서 이미지의 콘텐츠를 설명하는 캡션을 생성해야 합니다. 사진에서 개체를 검색하고 레이블을 지정할 수 있는 경우 다음 단계는 해당 레이블을 설명이 포함된 문장으로 변환하는 것입니다.
일반적으로 이미지 캡션 애플리케이션은 합성곱 신경망을 사용하여 이미지의 개체를 식별한 다음, 순환 신경망을 사용하여 레이블을 일관된 문장으로 변환합니다.
기계 번역
기계 번역은 한 언어의 단어 또는 문장을 사용하여 다른 언어로 자동으로 변환합니다. 기계 번역은 오랫동안 있어왔지만, 딥 러닝은 텍스트의 자동 변환(및 음성을 텍스트로 변환) 및 이미지 자동 번역이라는 두 가지 특정 영역에서 뛰어난 결과를 달성합니다.
적절한 데이터 변환을 사용하여 신경망은 텍스트, 오디오 및 시각적 신호를 이해할 수 있습니다. 기계 번역을 사용하여 큰 오디오 파일의 소리 조각을 식별하고 음성 또는 이미지를 텍스트로 기록할 수 있습니다.
텍스트 분석
딥 러닝 방법을 기반으로 하는 텍스트 분석에는 많은 양의 텍스트 데이터(예: 의료 문서 또는 경비 영수증) 분석, 패턴의 인식, 그로부터 구성되고 간결한 정보 만들기가 포함됩니다.
회사는 딥 러닝을 통해 텍스트 분석을 수행하여 내부자 거래 및 정부 규정 준수를 감지합니다. 또 다른 일반적인 예로는 보험 사기 행위가 있습니다. 텍스트 분석은 종종 보험 청구의 사기 가능성을 인식하기 위해 많은 양의 문서를 분석하는 데 사용됩니다.
인공신경망
인공신경망은 연결된 노드의 레이어로 구성됩니다. 딥 러닝 모델은 레이어 수가 많은 신경망을 사용합니다.
다음 섹션에서는 가장 널리 사용되는 인공 신경망 토폴로지를 살펴봅니다.
순방향(Feedforward) 신경망
순방향 신경망은 가장 간단한 유형의 인공신경망입니다. 순방향 네트워크에서 정보는 입력 레이어에서 출력 레이어까지 한 방향으로만 이동합니다. 순방향 신경망은 일련의 숨겨진 레이어를 통해 입력하여 입력을 변환합니다. 모든 레이어는 뉴런 세트로 구성되며 각 레이어는 이전 레이어의 모든 뉴런에 완전히 연결됩니다. 마지막으로 완전히 연결된 레이어(출력 레이어)는 생성된 예측을 나타냅니다.
RNN(순환 신경망)
순환 신경망은 널리 사용되는 인공신경망입니다. 이러한 네트워크는 레이어의 출력을 저장하고 다시 입력 레이어에 공급하여 레이어의 결과를 예측합니다. 순환 신경망은 학습 능력이 뛰어납니다. 시계열 예측, 필기 학습 및 언어 인식과 같은 복잡한 작업에 널리 사용되고 있습니다.
CNN(합성곱 신경망)
합성곱 신경망은 특히 효과적인 인공신경망이며 고유한 아키텍처를 제공합니다. 레이어는 너비, 높이 및 깊이의 3차원으로 구성됩니다. 한 레이어의 뉴런은 다음 레이어의 모든 뉴런에 연결되는 것이 아니라 레이어의 뉴런 중 작은 영역에만 연결됩니다. 최종 출력은 깊이 차원을 따라 구성된 확률 점수의 단일 벡터로 줄어듭니다.
합성곱 신경망은 비디오 인식, 이미지 인식 및 추천 시스템과 같은 영역에서 사용되었습니다.
GAN(생성적 대립 네트워크)
생성적 대립 네트워크는 이미지와 같은 실제와 같은 콘텐츠를 만들기 위해 학습된 생성적 모델입니다. 생성자와 판별자로 알려진 두 네트워크로 구성됩니다. 두 네트워크 모두 동시에 학습됩니다. 학습 중 생성자는 임의 노이즈를 사용하여 실제 데이터와 매우 비슷한 새로운 합성 데이터를 만듭니다. 판별자는 생성자의 출력을 입력으로 사용하고 실제 데이터를 사용하여 생성된 콘텐츠가 실제적인지 또는 합성적인지 여부를 판별합니다. 각 네트워크는 서로 경쟁을 수행합니다. 생성자는 실제 콘텐츠와 구분이 불가능한 합성 콘텐츠를 생성하려고 시도하고 판별자는 입력을 실제 또는 합성으로 올바르게 분류하려고 시도합니다. 그런 다음, 출력을 사용해서 각자 해당하는 목표를 더 효과적으로 달성할 수 있도록 두 네트워크의 가중치를 업데이트합니다.
생성적 대립 네트워크는 이미지 간 번역 및 노화 진행과 같은 문제를 해결하기 위해 사용됩니다.
변환기
변환기는 텍스트 또는 시계열 데이터와 같은 시퀀스가 포함된 문제를 해결하는 데 적합한 모델 아키텍처입니다. 변환기는 인코더 및 디코더 레이어로 구성됩니다. 인코더는 입력을 받아서 이를 컨텍스트와 같은 정보가 포함된 숫자 표현으로 매핑합니다. 디코더는 인코더의 정보를 사용하여 번역된 텍스트와 같은 출력을 생성합니다. 변환기가 인코더 및 디코더를 포함하는 다른 아키텍처와 구분되는 차이점은 주의 하위 레이어입니다. 주의는 시퀀스의 다른 입력과 관련하여 해당 컨텍스트의 중요도를 기반으로 입력의 특정 부분에 집중하는 것을 의미합니다. 예를 들어 뉴스 기사를 요약할 때는 기본 주제를 기술하기 위해 모든 문장이 중요하지는 않습니다. 기사 전체에서 몇 가지 핵심 단어에 집중함으로써 헤드라인과 같은 하나의 문장으로 기사를 요약할 수 있습니다.
변환기는 번역, 텍스트 생성, 질문 응답, 텍스트 요약과 같은 자연어 처리 문제를 해결하기 위해 사용되었습니다.
변환기의 잘 알려진 구현 사례는 다음과 같습니다.
- BERT(Bidirectional Encoder Representations from Transformers)
- GPT-2(Generative Pre-trained Transformer 2)
- GPT-3(Generative Pre-trained Transformer 3)
다음 단계
다음 문서에서는 Azure Machine Learning에서 오픈 소스 딥 러닝 모델을 사용하기 위한 추가 옵션을 보여 줍니다.