Slide 1

Slide 1 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Sungmin, Kim AWS Solutions Architect 1시간 만에 머신 러닝 개념 따라잡기

Slide 2

Slide 2 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Agenda • Machine Learning 이란? • Machine Learning으로 풀 수 있는 문제 유형 • Machine Learning 작업 순서 • ML 학습을 위한 입력 데이터 가공하기 - Feature Engineering • ML과 최적화 문제 - Loss Function & Gradient Decent method (경사하강법) • ML 학습 속도와 모델 성능 향상을 위한 Hyper Parameter Tuning • 미래를 위한 준비 - 데이터 나누기 (Train/Validation/Test) • ML 모델 선택 시 주의할 점 - Overfitting vs. Underfitting • 여러 가지 ML 모델 결합 하기 - Ensemble method • Deep Learning

Slide 3

Slide 3 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Marketing Offer On A New Product

Slide 4

Slide 4 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Option 1- Build A Rule Engine Age Gender Purchase Date Items 30 M 3/1/2017 Toy 40 M 1/3/2017 Books …. …… ….. ….. Input Output Age Gender Purchase Date Items 30 M 3/1/2017 Toy …. …… ….. ….. Rule 1: 15

Slide 5

Slide 5 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Model Output Historical Purchase Data (Training Data) Prediction Age Gender Items 35 F 39 M Toy Input - New Unseen Data Age Gender Purchase Date Items 30 M 3/1/2017 Toy 40 M 1/3/2017 Books …. …… ….. ….. Learning Algorithm Option 2 - Learn The Business Rules From Data

Slide 6

Slide 6 text

© 2020, Amazon Web Services, Inc. or its Affiliates. We Call This Approach Machine Learning Model Output Historical Purchase Data (Training Data) Prediction Age Gender Items 35 F 39 M Toy Input - New Unseen Data Age Gender Purchase Date Items 30 M 3/1/2017 Toy 40 M 1/3/2017 Books …. …… ….. ….. Rule 1: 15

Slide 7

Slide 7 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Classical Programming Machine Learning Data Rules Data Answers Answers Rules Machine Learning: Paradigm Shift

Slide 8

Slide 8 text

© 2020, Amazon Web Services, Inc. or its Affiliates. What is Learning Algorithm? Input X (size of house) Output Y (price) f(x) = W*x + b xo xn 2 3 1

Slide 9

Slide 9 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning Algorithm f(x) = W*x + b • W = ? • b = ? 모델 학습 대상 Size (X) 2104 1600 2400 1416 3000 1985 1534 1427 1380 1494 Price (y) 400 330 369 232 540 300 315 199 212 243 ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ Input X (size of house) Output Y (Price) 2 3 1 (1), (2), (3) 중 가장 적합한(fit) 것은? Dataset

Slide 10

Slide 10 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning Algorithm f(x) = W*x + b • W = ? • b = ? 모델 학습 대상 Size (X) 2104 1600 2400 1416 3000 1985 1534 1427 1380 1494 Price (y) 400 330 369 232 540 300 315 199 212 243 (1), (2), (3) 중 가장 적합한(fit) 것은? Dataset • 입력 데이터는 모두 숫자이다. • ML의 모델은 수학적 모형(수식) 이다. • ML의 결과물은 수식의 매개변수 이다.

Slide 11

Slide 11 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning Algorithm Input Data Model Program ML Algorithm 숫자 0, 1, 2,.. 0.01, 0.02,.. 001, 010, 011, .. model {w1 , w2 , …, wn , b} f(x) = w1 *x1 + w2 *x2 + … + wn *xn + b = W*x + b ML 알고리즘은 Numeric data로 f(x)라는 식(모델)의 매개변수(w1 , w2 , …, b)를 추정 하는 방법 Output

Slide 12

Slide 12 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning으로 풀 수 있는 문제 유형 Supervised Unsupervised 정답? Prediction Classification Clustering Reinforcement • Linear Regression • Logistic Regression • SVM • K-NN • XGBoost • K-Means • DBScan Density Estimation • PCA • t-SNE Yes No • Monte Carlo • Q-Learning • DQN

Slide 13

Slide 13 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Supervised Learning It is a cat. No, it’s a Labrador. • The algorithm is given a set of training examples where the data and target are known. It can then predict the target value for new datasets, containing the same attributes • Human intervention and validation required Example: Photo classification and tagging

Slide 14

Slide 14 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Supervised Learning – How Machines Learn Human intervention and validation required e.g. Photo classification and tagging Input Label Machine Learning Algorithm Labrador Prediction Cat Training Data ? Label Labrador Adjust Model

Slide 15

Slide 15 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Unsupervised Learning Input Machine Learning Algorithm Prediction • Algorithm is given mass amounts of data, and it must find patterns and relationships between the data. It can then draw inferences from datasets • Human intervention is not required Example: Auto-classification of documents based on context

Slide 16

Slide 16 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Reinforcement Learning Action Environment State Rewards Agent

Slide 17

Slide 17 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning Use Cases Supervised Learning Ø Classification • Spam detection • Customer churn prediction Ø Regression • House price prediction • Demand forecasting Unsupervised Learning Ø Clustering • Customer segmentation Reinforcement Learning Ø Self Driving Car Ø Robots

Slide 18

Slide 18 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 기계 학습 유형 Supervised Unsupervised 정답? Prediction Classification Clustering Reinforcement • Linear Regression • Logistic Regression • SVM • K-NN • XGBoost • K-Means • DBScan Density Estimation • PCA • t-SNE Yes No • Monte Carlo • Q-Learning • DQN

Slide 19

Slide 19 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning Workflow 현실 문제를 Machine Learning을 이용해서 어떻게 풀 수 있을까? ML Problem Framing Raw Data Real-World Problem Define ML Problem Data Preparation Build Training Deploy

Slide 20

Slide 20 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ML Problem Framing 현실 문제 ML 문제 집 값 예측 (1) 어떤 ML 문제 유형인지 파악 • 예측 • 분류 • 군집화 • …. 입력 (X) • 방 개수 • 방 크기 • 위치 • 준공 연도 • 주변 시설 • … 집 값 (y) (2) 입력/출력 설계 ✓ Prediction (Supervised Learning)

Slide 21

Slide 21 text

© 2020, Amazon Web Services, Inc. or its Affiliates. ML 문제 분류 Predict or forecast a value? Unsupervised Learning Supervised Learning Classification Regression Clustering Density estimation Yes No Discrete target value Continuous target value Fit data into discrete groups Numeric estimate to fit https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

Slide 22

Slide 22 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning: Input 설계 Data Model ML Algorithm 숫자 0, 1, 2,.. 0.01, 0.02,.. 001, 010, 011, .. model {w1 , w2 , …, wn , b} f(x) = w1 *x1 + w2 *x2 + … + wn *xn + b = W*x + b ML 알고리즘은 Numeric data로 f(x)라는 식(모델)의 매개변수(w1 , w2 , …, b)를 추정 하는 방법

Slide 23

Slide 23 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 모든 입력 데이터는 숫자(Number) 손 글씨 이미지 숫자

Slide 24

Slide 24 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 모든 입력 데이터는 숫자(Number) 문자열 또는 카테고리 데이터는 One-Hot Encoding 방식을 이용해서 숫자로 변환 상품 분류 가격 TV 1,000,000 냉장고 1,500,000 전자렌지 200,000 컴퓨터 800,000 선풍기 100,000 선풍기 100,000 믹서 50,000 믹서 50,000 상품 분류 가격 0 1,000,000 1 1,500,000 4 200,000 5 800,000 3 100,000 3 100,000 2 50,000 2 50,000 TV 냉장고 믹서 선풍기 전자렌지 컴퓨터 가격 1 0 0 0 0 0 1,000,000 0 1 0 0 0 0 1,500,000 0 0 0 0 1 0 200,000 0 0 0 0 0 1 800,000 0 0 0 1 0 0 100,000 0 0 0 1 0 0 100,000 0 0 1 0 0 0 50,000 0 0 1 0 0 0 50,000 원본 데이터 숫자 인코딩 One-Hot 인코딩

Slide 25

Slide 25 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Feature: 숫자로 변환된 ML 알고리즘의 입력 데이터

Slide 26

Slide 26 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Feature Engineering • 입력 데이터를 숫자로 변환하기 ex) One-Hot Encoding • 데이터의 가지 수 (차원)를 줄이거나 늘리는 작업 • 불필요한 데이터를 제거하기 • 누락된 데이터를 채워 넣기 • … 1차원 2차원 6 차원 Feature

Slide 27

Slide 27 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 차원의 저주 (Curse of Dimensionality) … … 1차원 2차원 3 차원 4 차원 … … … … 13 차원 784 차원 54877 차원 Iris MNIST Farm Ads 꽃받침 길이, 꽃받침 너비, 꽃잎 길이, 꽃잎 너비 pixel1 , pixel2 , …, pixel784 단어1 , 단어2 , …, 단어54877

Slide 28

Slide 28 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 모델 평가 Data Model ML Algorithm 숫자 0, 1, 2,.. 0.01, 0.02,.. 001, 010, 011, .. model {w1 , w2 , …, wn , b} f(x) = w1 *x1 + w2 *x2 + … + wn *xn + b = W*x + b ML 알고리즘은 Numeric data로 f(x)라는 식(모델)의 매개변수(w1 , w2 , …, b)를 추정 하는 방법 ✗ ✗ ✗ ✗ ✗ ✗ ✗ ✗ Input X (size of house) Output Y (Price) 2 3 1 Q) (1), (2), (3) 중 가장 적합한(fit) 것은?

Slide 29

Slide 29 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Input X (size of house) Loss Function (Objective Function) Output Y (Price) f(x) = W*x + b Error (f(Xj ) – Yj ) Loss(W, b) = ∑(f(xj ) – yj )2 1 n j=1 n xo xn Mean Square Error(MSE) Function Guessing Value Actual Value

Slide 30

Slide 30 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Loss Function (Objective Function) 선형 회귀 문제 선형 회귀를 위한 목적 함수 • 𝑓! (𝐱" )는 예측함수의 출력, yi 는 예측함수가 맞추어야 하는 목표 값 • 𝑓! (𝐱" ) - yi 는 오차 = 평균제곱오차MSE(mean squared error)

Slide 31

Slide 31 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Loss Function (Objective Function) 선형 회귀 문제 선형 회귀를 위한 목적 함수 • 𝑓! (𝐱" )는 예측함수의 출력, yi 는 예측함수가 맞추어야 하는 목표 값 • 𝑓! (𝐱" ) - yi 는 오차 = 평균제곱오차MSE(mean squared error) 처음에는 최적 매개변수 값을 알 수 없으므로 임의 값으로 Θ! = 𝑤!, 𝑏! 설정 à Θ" = 𝑤", 𝑏" 로 개선 à Θ# = 𝑤#, 𝑏# 로 개선 à Θ# 는 최적해 & Θ • 이때 𝐽 Θ# > 𝐽 Θ$ > 𝐽 Θ%

Slide 32

Slide 32 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Plotting Loss Function (Single Variable) W Loss (W) Minimum loss

Slide 33

Slide 33 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Optimization - Minimize Loss Function W Minimum loss 현 지점의 기울기 (Partial Derivative) Loss를 낮추는 방향(Descent) WJ WJ+1 Gradient Descent Wj+1 = Wj 𝛼 Loss(Wj) ∂ ∂Wj Random initial value Loss (W) 𝛼 한 발자국 크기 (Learning Rate)

Slide 34

Slide 34 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Gradient Decent: 최적화 문제 해결법 Learning Step weight의 업데이트 = 에러 낮추는 방향 x 한 발자국 크기 x 현 지점의 기울기 (decent) (learning rate) (gradient) Loss function의 현재 가중치에서 기울기(gradient)를 구해서 Loss를 줄이는 방향으로 가중치를 업데이트해 나간다 Learning Rate

Slide 35

Slide 35 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Hyper Parameter Learning Rate(학습률)는 어떻게 설정해야할까? Data Model ML Algorithm 숫자 0, 1, 2,.. 0.01, 0.02,.. 001, 010, 011, .. model {w1 , w2 , …, wn , b} f(x) = w1 *x1 + w2 *x2 + … + wn *xn + b = W*x + b Gradient Descent 알고 싶은 값 (Parameter) 모델 학습을 위해서 미리 알아야 하는 값 (Hyperparameter)

Slide 36

Slide 36 text

© 2020, Amazon Web Services, Inc. or its Affiliates. small learning rate right learning rate large learning rate Hyper Parameter Tuning (HPO) (학습이) 너무 느리다 답을 찾지 못한다

Slide 37

Slide 37 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Weight 초기값, Learning Rate 등을 적절하게 선택해야한다. Gradient Descent pitfalls Weight 초기값1 Weight 초기값2

Slide 38

Slide 38 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Batch Gradient Decent Stochastic Gradient Decent full-batch mini-batch mini-batch mini-batch mini-batch mini-batch mini-batch mini-batch mini-batch 기울기를 계산 할 때, 몇 개의 입력 데이터를 사용할 것인지? 전체 m개의 데이터 사용 n개 데이터(작은 묶음) 사용 (n=1: Stochastic, 1< n < m: Mini-Batch) batch size = m batch size = 1 batch size = n

Slide 39

Slide 39 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 최적화를 이용한 기계 학습의 문제 풀이 과정 f(x) = W*x + b House Price Prediction Guessing Value Actual Value Real-World Problem 최적화 Objective Function ML Model Gradient Descent

Slide 40

Slide 40 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 학습(Training)의 최종 목표 한번도 본적이 없는 문제를 잘 푸는 것 학습 모의 평가 최종 평가

Slide 41

Slide 41 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 데이터 나누기 전체 데이터 Training Test Training Validation 한번도 본적 없는 문제를 잘 풀 수 있도록 훈련 시키기 위해서 데이터를 나눈다 “훈련은 실전처럼, 실전은 훈련처럼”

Slide 42

Slide 42 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 2 가지 질문 Q1. 모델은 복잡할 수록 좋을까? 예) Q2. 문제를 해결할 때, 1가지 모델만 사용해야 하는 것인가? 2개 이상의 모델을 사용할 수 없을까?

Slide 43

Slide 43 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 단순한 모델 vs. 복잡한 모델이 어느 것이 좋을까?

Slide 44

Slide 44 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Model Selection: Overfitted vs. Underfitted Underfitted Overfitted Good Fit/Robust

Slide 45

Slide 45 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 앙상블(Ensemble): Weak Learner의 결합 Cancer No Cancer Cancer Cancer New patient New patient Machine Learning Model1 Machine Learning Model2 Machine Learning Modeln ∑ Ensemble’s prediction (e.g., majority vote)

Slide 46

Slide 46 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Deep Learning ⊂ Machine Learning Artificial Intelligence Machine Learning Deep Learning

Slide 47

Slide 47 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Artificial Neuron 자 극 전 달

Slide 48

Slide 48 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Perceptron – 생물학적 뉴런의 수학적 모형 (인공 뉴런) x1 x2 out 가중합 활성화 함수 W1 W2 b 예: sigmoid 출력 입력

Slide 49

Slide 49 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Deep Neural Network shallow network (세로 쌓기) deep network (가로-세로 쌓기) =

Slide 50

Slide 50 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Deep Neural Network = 입력층 출력층 은닉층1 은닉층2 은닉층3

Slide 51

Slide 51 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Deep Learning – 무수히 많은 가중치(Weight) 계산 필요! Data Model ML Algorithm 숫자 0, 1, 2,.. 0.01, 0.02,.. 001, 010, 011, .. model {w1 , w2 , …, wn , b} f(x) = w1 *x1 + w2 *x2 + … + wn *xn + b = W*x + b ML 알고리즘은 Numeric data로 f(x)라는 식(모델)의 매개변수(w1 , w2 , …, b)를 추정 하는 방법 인공 뉴런 Deep Neural Network

Slide 52

Slide 52 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 자동 미분(Autodiff) - Backpropagation Machine Learning f(x) = W*x + b 미분 값을 직접 계산 Real-World Problem (e.g. House Price Prediction) Deep Learning f(x) = W*x + b 계산 그래프 순회 자동 미분 계산

Slide 53

Slide 53 text

© 2020, Amazon Web Services, Inc. or its Affiliates. 미분 값을 직접 계산 계산 그래프 backward 순회 계산 그래프 forward 순회 Machine Learning Deep Learning

Slide 54

Slide 54 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Deep Learning Framework = 자동 미분(Autodiff) Framework

Slide 55

Slide 55 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Why GPUs are more suited for Deep Learning? CPU GPU Deep Neural Network 무수히 많은 가중치 계산

Slide 56

Slide 56 text

© 2020, Amazon Web Services, Inc. or its Affiliates. End-to-End 학습 Machine Learning Deep Learning

Slide 57

Slide 57 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Machine Learning or Deep Learning? Entities are not to be multiplied without necessity. 쓸데 없이 복잡하게 만들지 말라. All things being equal, the simplest solution tends to be the best one. 모든 것이 같다면 가장 단순한 해가 가장 좋다. - Occam’s Razor

Slide 58

Slide 58 text

© 2020, Amazon Web Services, Inc. or its Affiliates. Summary • Machine Learning ▪ 현실 문제 → 수학 모형(모델) → 모수 (Parameter, 가중치) 추정 • Feature Engineering: 입력 데이터 → 숫자 변환 (Feature), One-Hot Encoding, 차원 축소/증가 • 수학 모형의 모수(Parameter) 추정 방법 ▪ Loss Function (Objective, Cost Function) = Error(Guessing value – Actual value) 함수 ▪ Error를 최소화 시키는 모수 (Parameter, 가중치) 찾기 ▪ Gradient Descent method (경사하강법) • Train/Validation/Test Set으로 데이터 분리 – 일반화 • ML 모델 선택 – Overfitted vs Underfitted • 앙상블(Ensemble) – Weak Learner의 결합 • Deep Learning ▪ 현실 문제 → Deep Neural Network (수학 모형, 모델) → 무수히 많은 모수 (Parameter, 가중치) 추정 ▪ Deep Neural Network (DNN) - 인공 뉴런(Perceptron)을 가로-세로 방향으로 쌓아서 연결한 그래프(Network) ▪ 인공 뉴런 (Perceptron) – 생물학적 뉴런의 수학적 모형 (입력과 가중치의 곱셈합 + 편향 → 활성화 함수) ▪ 자동 미분 (Autodiff) - 계산 그래프 순회 (backpropagation) 방식으로 미분 자동 계산