터칭 데이터 2023. 11. 30. 01:20

 

 

머신러닝의 정의

● 배움이 가능한 기계(혹은 알고리즘)의 개발
○ 결국 데이터의 패턴을 보고 흉내(imitation)내는 방식으로 학습
○ 학습에 사용되는 이 데이터를 트레이닝셋 (training set)이라고 부름


● 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야


● 딥러닝(신경망의 다른 이름)은 머신 러닝의 일부
○ 비젼, 자연언어처리 (텍스트/오디오)등에 적용되고 있음


● 인공지능은 머신러닝을 포괄하는 개념

 

딥러닝 ⊂ 머신러닝 ⊂ AI

 

 

 

 

 

 

머신러닝 모델이란?

● 머신 러닝의 최종 산물이 머신 러닝 모델
○ 학습된 패턴(트레이닝셋)에 따라 예측을 해주는 블랙박스
■ 선택한 머신러닝 학습 알고리즘에 따라 내부가 달라짐
■ 디버깅은 쉽지 않으며 왜 동작하는지 이유를 설명하기도 쉽지 않음
■ 트레이닝셋의 품질이 머신러닝 모델의 품질을 결정


● 입력 데이터를 주면 그를 기반으로 예측
○ 정확히 이야기하자면 지도 머신러닝 (Supervised Machine Learning)
○ 이외에도 2가지의 다른 머신러닝 방식이 존재
■ 비지도 머신러닝(Unsupervised Machine Learning)


■ 강화 학습 (Reinforcement Learning)
● 머신러닝 모델 트레이닝 혹은 빌딩이란?
○ 이런 머신 러닝 모델을 만드는 것을 지칭
○ 입력은 트레이닝셋

 

 

 

 

 

 

 

트레이닝셋 예 - 타이타닉호 승객 생존 여부 예측

 

 

 

 

 

 

 

 

 

Amazon SageMaker란?

● 머신러닝 모델 개발을 처음부터 끝까지 해결해주는 AWS 서비스
○ MLOps 프레임웍


● 크게 4가지 기능 제공
○ 트레이닝 셋 준비
○ 모델 훈련
○ 모델 검증
○ 모델 배포와 관리
■ API 엔드포인트, 배치 서빙, …


● 다양한 머신러닝 프레임웍을 지원
○ Tensorflow/Keras, PyTorch, MXNet, …
○ 자체 SageMaker 모듈로 머신러닝 모델 훈련 가능

 

● SageMaker Studio라는 웹기반 환경 제공 (노트북)

코랩과 비슷한 노트북 형태의 환경이지만 다소 비쌈


● 다양한 개발방식 지원
○ 기본적으로 Python Notebook (SageMaker 모듈)을 통해 모델 훈련
■ 스칼라/자바 SDK도 제공
○ AutoPilot이라는 코딩 불필요 모델 훈련 기능 제공
■ 이 경우에도 코드를 만들어줌

 

● 다른 클라우드 업체들도 비슷한 프레임웍 제공

 

 

 

 

 

 

 

 

 

 

SageMaker의 AutoPilot 소개

● AutoPilot: SageMaker에서 제공되는 AutoML 기능
○ AutoML이란 모델빌딩을 위한 훈련용 데이터 셋을 제공하면 자동으로 모델을 만들어주는 기능


● AutoPilot은 훈련용 데이터 셋을 입력으로 다음을 자동으로 수행
○ 먼저 데이터 분석(EDA: Exploratory Data Analysis)을 수행하고 이를 파이썬 노트북으로 만들어줌
○ 다수의 머신 러닝 알고리즘과 하이퍼 파라미터의 조합에 대해 아래 작업을 수행
■ 머신 러닝 모델을 만들고 훈련하고 테스트하고 테스트 결과를 기록
○ 선택 옵션에 따라 모델 테스트까지 다 수행하기도 하지만 코드를 만드는 단계(노트북)로 마무리도 가능
■ 즉 AutoPilot 기능을 통해 모델개발 속도를 단축하는 것이 가능


● 최종적으로 사용자가 모델을 선택 후 API로 만드는 것도 가능
○ 여기에 로그를 설정할 수 있음 (전체 로깅이나 샘플 로깅 설정 가능)