[Azure] AI-900 Study

2021. 2. 24. 04:42Cloud

728x90

AI-900 주제 영역

  • AI 워크로드 및 고려사항 설명 (15-20%)
  • Azure에서 머신 러닝의 기본 원리 설명 (30-35%)
  • Azure에서 Computer Vision 워크로드의 특징 설명 (15-20%)
  • Azure에서 NLP(자연 언어 처리) 워크로드의 특징 설명 (15-20%)
  • Azure에서 대화형 AI 워크로드의 특징 설명 (15-20%)

 

 

Exam AI-900: Microsoft Azure AI Fundamentals - Learn

Exam AI-900: Microsoft Azure AI Fundamentals

docs.microsoft.com

 


Azure에서 인공 지능 시작
Azure Machine Learning을 사용하여 코드 없는 예측 모델 만들기
Microsoft Azure에서 컴퓨터 비전 살펴보기
자연어 처리 살펴보기
대화형 AI 살펴보기 

 

 


1. Azure에서 인공 지능 시작

  • 기계 학습 - 이것은 종종 AI 시스템의 기초이며 예측하고 데이터에서 결론을 도출하기 위해 컴퓨터 모델을 "가르치는" 방법입니다.
  • 변칙 검색 - 시스템에서 오류 또는 비정상적인 활동을 자동으로 감지할 수 있는 기능입니다.
  • Computer Vision - 카메라, 비디오 및 이미지를 통해 세계를 시각적으로 해석할 수 있는 소프트웨어 기능입니다.
    • 이미지 분류
    • 개체 감지
    • 의미 체계 구분
    • 이미지 분석
    • 얼굴 감지 , 분석 및 인식
    • OCR
  • 자연어 처리 - 컴퓨터가 서면 또는 음성 언어를 해석하고 동일하게 응답할 수 있는 기능입니다.
    • text anlytics
    • translator text
    • speech
    • LUIS(Language Understanding Intelligent Service)
  • 대화형 AI - 대화에 참여하는 소프트웨어 에이전트의 기능입니다.
    • QnA Maker
    • Azure Bot Service

 


2. Azure Machine Learning을 사용하여 코드 없는 예측 모델 만들기 

Azure Machine Learning에서 자동화된 기계 학습 사용
Azure Machine Learning 디자이너를 사용하여 회귀 모델 만들기
Azure Machine Learning 디자이너를 사용하여 분류 모델 만들기
Azure Machine Learning 디자이너를 사용하여 클러스터링 모델 만들기

 

Azure Machine Learning에서 자동화된 기계 학습 사용

  • Azure Machine Learning 작업 영역 만들기
    • 구독: ‘Azure 구독’
    • 리소스 그룹: ‘리소스 그룹 만들기 또는 선택’
    • 작업 영역 이름: ‘작업 영역의 고유한 이름 입력’
    • 지역: ‘지리적으로 가장 가까운 지역 선택’
    • 스토리지 계정: ‘작업 영역에 대해 만들 새로운 기본 스토리지 계정’
    • 키 자격 증명 모음: ‘작업 영역에 대해 만들 새로운 기본 키 자격 증명 모음’
    • Application insights: ‘작업 영역에 대해 만들 새로운 기본 Application Insights 리소스’
    • 컨테이너 레지스트리: 없음(‘처음으로 컨테이너에 모델을 배포할 때 자동으로 만들어짐’)
  • Azure Machine Learning에서 서비스를 ACI(Azure Container Instances) 또는 AKS(Azure Kubernetes Service) 클러스터로 배포할 수 있습니다.
    • 프로덕션 시나리오의 경우 AKS를 배포하는 것이 좋습니다 .이 경우 유추 클러스터 컴퓨팅 대상을 만들어야 합니다.
    • 이 연습에서는 테스트에 적합한 배포 대상인 ACI 서비스를 사용하며, 유추 클러스터를 만들 필요가 없습니다.

Azure Machine Learning 디자이너를 사용하여 회귀 모델 만들기

 

여기에는 다음과 같은 회귀 성능 메트릭이 포함됩니다.

  • MAE(평균 절대 오차): 예측 값과 실제 값 사이의 평균 차이입니다. 해당 값은 레이블과 동일한 단위(이 경우 달러)를 기준으로 합니다. 해당 값이 낮을수록 모델의 예측 정확도가 높아집니다.
  • RMSE(평균 제곱 오차): 예측 값과 실제 값 사이의 평균 제곱 차이의 제곱근입니다. 결과는 레이블과 동일한 단위(달러)를 기준으로 하는 메트릭입니다. MAE(위)보다 차이가 크면 개별 오차의 분산이 크다는 것을 나타냅니다(예: 일부 오차는 매우 작고 다른 오차는 큰 경우).
  • RSE(상대 제곱 오차): 예측 값과 실제 값 간의 차이에 대한 제곱을 기준으로 한, 0에서 1 사이의 상대 메트릭입니다. 해당 메트릭이 0에 가까울수록 모델의 성능이 더 뛰어납니다. 해당 메트릭은 상대적이므로 레이블이 다른 단위인 모델을 비교하는 데 사용할 수 있습니다.
  • RAE(상대 절대 오차): 예측 값과 실제 값 간의 절대 차이에 대한 제곱을 기준으로 한, 0에서 1 사이의 상대 메트릭입니다. 해당 메트릭이 0에 가까울수록 모델의 성능이 더 뛰어납니다. RSE와 마찬가지로 해당 메트릭은 레이블의 단위가 서로 다른 모델을 비교하는 데 사용할 수 있습니다.
  • 결정 계수(R 2): 해당 메트릭은 일반적으로 ‘결정 계수’라고 하며 모델이 설명하는 예측 값과 실제 값 간의 분산이 어느 정도인지 개략적으로 알려 줍니다. 해당 값이 1에 가까울수록 모델의 성능이 더 뛰어납니다.

이 연습에서는 ACI(Azure Container Instance)에 웹 서비스를 배포합니다. 이러한 유형의 컴퓨팅은 동적으로 만들어지며 개발 및 테스트에 유용합니다.

프로덕션 환경에서는 ‘유추 클러스터’를 만들어 향상된 스케일링 성능 및 보안을 제공하는 AKS(Azure Kubernetes Service) 클러스터를 제공해야 합니다



Azure Machine Learning 디자이너를 사용하여 분류 모델 만들기

다음이 포함된 혼동 행렬의 왼쪽에서 메트릭을 검토합니다.

  • 정확도: 올바른 예측(진양성 + 진음성)과 총 예측 수의 비율입니다. 즉, 모델이 당뇨병을 올바르게 예측하는 비율은 어느 정도입니까?
  • 정밀도: 올바르게 식별된 양성 사례의 비율입니다(진양성 수를 진양성 수와 위양성 수의 합으로 나눈 비율). 즉, 모델에서 당뇨병이 있는 것으로 예측한 모든 환자 중에 실제로 당뇨가 있는 환자의 수는 얼마입니까?
  • 재현율: 양성으로 분류된 사례 중 실제로 양성인 비율입니다(진양성 수를 진양성 수와 위음성 수의 합으로 나눈 비율). 즉, 실제로는 당뇨가 있는 모든 환자 중 모델이 식별할 수 있는 환자의 수는 얼마입니까?
  • F1 점수: 전체 메트릭은 기본적으로 정밀도와 재현율을 결합합니다.
  • 나중에 AUC 로 돌아갑니다.
  • ROC 곡선(ROC는 수신된 연산자 특징(Received Operator Characteristic)을 의미하지만 대부분의 데이터 과학자는 ROC 곡선이라고 부름)의 임계값 슬라이드 위를 확인합니다. 재현율에 대한 또 다른 용어는 진양성 비율 이며, 여기에는 실제 음성 사례 수 대비 양성으로 잘못 식별된 음성 사례의 수를 측정하는 위양성 비율 이라는 메트릭이 따라옵니다. 이러한 메트릭을 0과 1 사이에서 가능한 모든 임계값에 대해 서로를 대조하면 곡선이 도출됩니다. 이상적인 모델에서는 곡선은 좌상향하는 방향으로 나가 차트의 전체 영역을 포함합니다. 곡선 아래 영역(0~1 범위의 값)이 클수록 모델의 성능이 뛰어나며, 이는 아래에 다른 메트릭과 함께 나열된 AUC 메트릭입니다. 이 영역이 모델의 성능을 어떻게 표시하는지 이해하려면 ROC 차트의 왼쪽 아래에서 오른쪽 위로 향하는 대각선을 생각해 보세요. 각 환자의 상태를 추측하거나 동전 던지기로 정하는 경우에 예상되는 결과를 나타냅니다. 반은 맞고 반은 틀릴 거라 예측할 수 있으므로 대각선 아래의 영역은 AUC 0.5를 나타냅니다. 모델에 대한 AUC가 이진 분류 모델의 AUC보다 높을 경우 모델은 임의의 추측보다 나은 결과를 도출합니다.


Azure Machine Learning 디자이너를 사용하여 클러스터링 모델 만들기

 

각 행의 메트릭은 다음과 같습니다.

  • 다른 중심까지의 평균 거리: 클러스터의 각 지점과 다른 모든 클러스터의 중심이 평균적으로 얼마나 가까운지 나타냅니다.
  • 클러스터 중심까지의 평균 거리: 클러스터의 각 지점과 클러스터의 중심이 평균적으로 얼마나 가까운지 나타냅니다.
  • 지점 수: 클러스터에 할당된 지점의 수입니다.
  • 클러스터 중심까지의 최대 거리: 각 지점과 해당 지점의 클러스터 중심 간 최대 거리입니다. 이 수치가 높으면 클러스터가 광범위하게 분산되었을 수 있습니다. 클러스터 중심까지의 평균 거리 와 함께 이 통계를 활용하면 클러스터의 분산을 파악할 수 있습니다.

 


3. Microsoft Azure에서 컴퓨터 비전 살펴보기

Computer Vision 서비스를 사용하여 이미지 분석
Custom Vision 서비스를 사용한 이미지 분류
Custom Vision 서비스를 사용하여 이미지의 개체 감지
Face 서비스를 통해 얼굴 감지 및 분석
Computer Vision 서비스로 텍스트 읽기
Form Recognizer 서비스를 사용하여 영수증 분석

 

Computer Vision 서비스를 사용하여 이미지 분석

  • 이미지 설명 : 변환된 구문
  • 시각적 특징 태그 지정 
  • 개체 감지
  • 브랜드 감지
  • 얼굴 감지
  • 이미지 분류
  • 도메인별 컨텐츠 감지
  • OCR
  • 이미지 유형 감지 - 클립 아트 이미지 또는 선 그리기를 식별합니다.
  • 이미지 색 구성표 감지 - 특히 이미지의 주요 전경, 배경 및 전체 색을 식별합니다.
  • 썸네일 생성 - 이미지의 작은 버전을 생성합니다.
  • 일반 콘텐츠 - 성인용 콘텐츠를 포함하거나 잔인한 장면을 묘사하는 이미지를 감지합니다.


Custom Vision 서비스를 사용한 이미지 분류

  • Custom Vision: Custom Vision 서비스 전용 리소스는 학습 리소스, 예측 리소스 또는 두 리소스 모두가 될 수 있습니다.
  • Cognitive Services: 다른 많은 인지 서비스와 함께 Custom Vision을 포함하는 일반적인 Cognitive Services 리소스입니다. 이러한 유형의 리소스를 학습, 예측 또는 둘 다에 사용할 수 있습니다.

모델평가

  • 정밀도: 모델에서 올바르게 이루어진 클래스 예측의 비율은 얼마인가요? 예를 들어 모델에서 10개의 이미지가 오렌지로 예측되고 8개의 이미지가 실제로 오렌지인 경우 정밀도는 0.8(80%)입니다.
  • 재현율: 모델에서 올바르게 식별된 클래스 예측의 비율은 얼마인가요? 예를 들어 사과 이미지 10개가 있고 모델에서 그중 7개의 이미지를 찾은 경우 재현율은 0.7(70%)입니다.
  • AP(평균 정밀도): 정밀도와 재현율을 모두 고려한 전체 메트릭입니다.


Custom Vision 서비스를 사용하여 이미지의 개체 감지


Face 서비스를 통해 얼굴 감지 및 분석

Face는 현재 다음 기능을 제공합니다.

  • 얼굴 감지
  • 얼굴 확인
  • 유사한 얼굴 찾기
  • 유사성을 기준으로 얼굴 그룹화
  • 사람 식별

Face는 이미지에서 발견되는 사람의 얼굴에 대한 사각형 좌표와 얼굴과 관련된 일련의 특성을 반환할 수 있습니다.

  • 나이: 나이 추측
  • 흐림: 얼굴의 흐릿한 정도(이미지의 초점이 얼굴에 있을 가능성을 나타낼 수 있음)
  • 감정: 표시되는 감정
  • 노출: 노출 부족 또는 노출 과다와 같은 요소이며 전체 이미지 노출이 아닌 이미지의 얼굴에 적용됨
  • 수염: 측정된 수염
  • 안경: 대상 인물이 안경을 쓰고 있는 경우
  • 머리카락: 머릿결 및 머리 색
  • 머리 포즈: 3D 공간에서의 얼굴 방향
  • 화장: 이미지에 보이는 얼굴에 화장을 했는지 여부
  • 노이즈: 이미지상 시각적 노이즈를 의미합니다. 어두운 설정을 위해 높은 ISO 설정으로 사진을 촬영한 경우 이미지에 노이즈가 보일 것입니다. 이미지가 거칠어 보이거나 명확성이 떨어지는 작은 점들로 이루어집니다.
  • 폐색: 이미지에서 얼굴을 가리는 요소가 있는지 확인
  • 웃음: 이미지 속 인물이 웃고 있는지 여부

Face를 사용하려면 Azure 구독에서 다음 유형의 리소스 중 하나를 만들어야 합니다.

  • 얼굴: 다른 Cognitive Services를 사용하지 않으려는 경우나 Face의 사용률과 비용을 별도로 추적하려는 경우 이 특정 리소스 유형을 사용하세요.
  • Cognitive Services: 다른 많은 인지 서비스(Computer Vision, Text Analytics, Translator Text 등)와 함께 Computer Vision을 포함하는 일반적인 Cognitive Services 리소스입니다. 여러 인지 서비스를 사용할 계획이며 관리 및 개발을 단순화하려는 경우 이 리소스 유형을 사용하세요.

만들려는 리소스 유형과 관계없이 사용을 위해 필요한 두 가지 정보가 제공됩니다.

  • 클라이언트 애플리케이션을 인증하는 데 사용되는  입니다.
  • 리소스에 액세스할 수 있는 HTTP 주소를 제공하는 엔드포인트 입니다.

Computer Vision 서비스로 텍스트 읽기

OCR API를 사용하여 이미지를 처리하면 다음으로 구성된 정보 계층 구조가 반환됩니다.

  • 텍스트가 포함된 이미지의 영역
  • 각 영역의 텍스트 
  • 각 텍스트 줄의 단어

읽기 API의 결과는 다음 계층 구조로 정렬됩니다.

  • 페이지 - 페이지 크기 및 방향에 관한 정보를 포함한 텍스트의 각 페이지입니다.
  •  - 한 페이지의 텍스트 줄 수입니다.
  • 단어 - 텍스트 한 줄의 단어 수입니다.


Form Recognizer 서비스를 사용하여 영수증 분석

 


4. 자연어 처리 살펴보기

Text Analytics 서비스를 사용한 텍스트 분석
음성 인식 및 합성
텍스트 및 음성 번역
Language Understanding을 사용하여 언어 모델 만들기

 

Text Analytics 서비스를 사용한 텍스트 분석

  • 텍스트 분석 기법
    • 텍스트에 사용된 용어의 통계 분석입니다. 예를 들어 일반적인 “중지 단어”(텍스트에 대한 의미론적 정보를 거의 나타내지 않는 “the” 또는 “a”와 같은 단어)를 제거하고 나머지 단어의 ‘빈도 분석’(각 단어가 나오는 횟수 세기)을 수행하면 텍스트의 주요 주제에 대한 단서를 제공할 수 있습니다.
    • 빈도 분석을 일반적으로 ‘N-그램’(두 단어 구는 ‘바이-그램’, 세 단어 구는 ‘트라이-그램’ 등)이라고 부르는 다중 용어구 분석으로 확장합니다.
    • 형태소 분석’ 또는 ‘기본형 분석’ 알고리즘을 적용하여 단어를 계산하기 전에 단어를 표준화합니다.
      • 예를 들어, “power”, “powered” 및 “powerful“ 등의 단어는 동일한 단어로 해석됩니다.
    • 언어적 구조 규칙을 적용하여 문장을 분석합니다.
      • 예를 들어, ‘명사’, ‘동사’, ‘형용사’ 등을 포함하는 ‘명사구’와 같은 트리 형태의 구조로 문장을 나눕니다.
    • 기계 학습 모델을 학습하는 데 사용할 수 있는 수치로 단어 또는 용어를 인코딩합니다.
      • 예를 들어 포함된 용어를 기준으로 텍스트 문서를 분류합니다. 이 기술은 문서를 긍정적 또는 부정적으로 분류하는 ‘감정 분석’을 수행하는 데 자주 사용됩니다.
    • 단어를 n차원 공간의 위치에 할당하여 단어 간의 의미론적 관계를 포착하는 ‘벡터화’ 모델을 만듭니다.
      • 예를 들어 이 모델링 기술은 “꽃”과 “식물”이라는 단어에는 서로 가까이 위치하도록 하는 값을 할당하고, “스케이트보드”에는 훨씬 더 멀리 위치하도록 하는 값을 줄 수 있습니다.

 

Microsoft Azure에서 Text Analytics 인지 서비스는 다음을 수행할 수 있는 미리 학습된 모델을 사용하여 애플리케이션 개발을 간소화하는 데 도움이 될 수 있습니다.

  • 문서 또는 텍스트의 언어를 판단합니다(예: 프랑스어 또는 영어).
  • 텍스트에 대한 감정 분석을 수행하여 긍정적 또는 부정적 감정을 판단합니다.
  • 텍스트에서 주요 논점을 나타낼 수 있는 핵심 구를 추출합니다.
  • 텍스트에서 엔터티를 식별하고 분류합니다. 엔터티는 사람, 장소, 조직 또는 일상적인 항목(예: 날짜, 시간, 수량 등)일 수 있습니다.

영어와 프랑스어가 혼합된 텍스트이지만 리뷰 3에서 감지된 언어는 영어입니다. 언어 감지 서비스는 텍스트에서 지배적 언어에 중점을 둡니다.*_ 이 서비스는 알고리즘을 사용하여 텍스트의 다른 언어와 비교하고 언어에 대한 구 길이 또는 총 텍스트 양과 같은 지배적 언어를 결정합니다. 지배적 언어는 언어 코드와 함께 값이 반환됩니다. 혼합 언어 텍스트의 결과로 신뢰도 점수가 1 미만일 수 있습니다.


음성 인식 및 합성

  • 음성 인식 - 음성 입력을 감지하고 해석하는 기능.
    • 오디오 신호를 음소(특정 사운드를 나타내는 단위)로 변환하는 ‘음향’ 모델.
    • 음소를 단어로 매핑하는 ‘언어’ 모델(일반적으로 음소에 따라 가장 가능성이 높은 단어 시퀀스를 예측하는 통계 알고리즘 사용).
    • ==================================
    • 녹화된 동영상 또는 라이브 비디오에 대한 자막 제공
    • 전화 통화 또는 회의 내용 대본 만들기
    • 자동화된 메모 받아쓰기
    • 추가 처리를 위해 의도한 사용자 입력 결정
  • 음성 합성 - 음성 출력을 생성하는 기능.
    • 읽을 텍스트.
    • 말을 음성화하는 데 사용할 음성.
    • ====================================
    • 사용자 입력에 대한 음성 응답 생성.
    • 전화 시스템용 음성 메뉴 만들기.
    • 핸즈프리 시나리오에서 메일 또는 문자 메시지를 소리 내어 읽기.
    • 기차역 또는 공항과 같은 공공장소에서 공지 사항 방송.

 

  • speech 2 text api
  • text 2 speech api
  • 음성 합성

텍스트 및 음성 번역

  • 직역 및 의미론적 번역
  • 텍스트 및 음성 번역
  • Translator 서비스
    • 욕설 필터링
    • 선택적 번역
  • speech 서비스
    • speech 2 text
    • text 2 speech
    • speech translation


Language Understanding을 사용하여 언어 모델 만들기

Language Understanding을 사용하여 작업하려면 발화, 엔터티 및 의도라는 세 가지 핵심 개념을 이해해야 합니다.

  • 발언
    • "선풍기 켜줘" 라는 발화
  • 엔터티
    • 선풍기와 불이 엔터티에 해당 (디바이스, 인스턴스)
    • 엔터티에는 4가지 유형이 있습니다.
    • Machine-Learned : 제공된 샘플 발화의 컨텍스트로부터 학습하는 동안 모델에 의해 학습된 엔터티입니다.
    • List : 목록 및 하위 목록의 계층 구조로 정의된 엔터티입니다. 예를 들어 디바이스 목록에는   선풍기 의 하위 목록이 포함될 수 있습니다. 각 목록 항목에 대해  의 경우 조명 과 같은 동의어를 지정할 수 있습니다.
    • RegEx : 패턴을 설명하는 ‘정규식’으로 정의된 엔터티입니다. 예를 들어 *_ 555-123-4567 형식의 전화번호는 [0-9]{3}-[0-9]{3}-[0-9]{4} 와 같은 패턴으로 정의할 수 있습니다.
    • _Pattern.any*: 샘플 발화에서 추출하기 어려울 수 있는 복잡한 엔터티를 정의하기 위해 ‘패턴’과 함께 사용되는 엔터티입니다.
  • 의도


5. 대화형 AI 살펴보기