A brief overview of ML/DL
Machine learning, Deep learning
AI, ML, DL
머신 러닝이란 무엇인가?
명시적인 규칙이나 프로그램 없이 데이터로부터 학습하는 능력을 갖는 것
ML 특징
고성능 하드웨어와 대량의 dataset이 가능해지면서 인기있고 성공적인 분야로 발전하게 되었다.
- 머신러닝 자체가 스스로 모델을 만들 수 있게 되었다.
딥러닝이란 무엇인가?
연속된 '층(layer)'으로 '표현'을 학습한다는 개념(representation learning)
- Q. 데이터로부터 모델을 만드는데 얼마나 많은 층을 사용했는가? ←→ 모델의 깊이가 얼마인가?
- → 층이 깊기 때문에 deep learning이라 부른다.
- → 층 기반 표현 학습(layered representations learning) 또는 계층적 표현 학습(hierachical representations learning)이라 부르기도 한다.
- 층이 충분히 깊을 때, 깊어질수록 정확도는 높아진다.
- 딥러닝: 연속된 필터(filter)를 통과하면서 순도 높게(어떤 작업에 대해서 유용하게) 정제되는 다단계 정보 추출 작업
출력을 제어하려면?
- 출력이 기대하는 것(목표)보다 얼마나 벗어났는지를 측정해야 함
- 벗어난 정도 → 손실함수(loss function)
지도학습, 비지도학습, 목적함수(비용함수 or 손실함수)
Examples
지도 방식에 따른 ML 유형
어떻게 가르치느냐?
- 지도학습 (Supervised learning)
- 비지도학습 (Unsupervised learning)
- 준지도 학습 (Semi-supervised learning)
- 강화학습 (Reinforcement learning)
- 아무 것도 알려주지 않고, 단계별 정책만을 알려줌 (실수와 보상)
학습 문제의 Classes
- data: input, label: 정답을 의미
Supervised Learning
- Goal: Input → Output으로 Mapping되는 함수를 학습
Unsupervised Learning
- 비슷한 것인지 아닌지를 판단
- Goal: 기본 구조를 학습
Reinforcement Learning
- Goal: 여러 과정을 거쳐 미래의 보상을 최대화
- 정답을 내리는 것 X, 비슷한지 아닌지 판단하는 것 X
Supervised Learning
-
input + label으로 학습하여 새로운 input에 대한 정답을 판단하기 위한 학습
-
특징 벡터 X와 목표값 Y(label)가 모두 주어진 상황
-
Classification(A인지 B인지 분류), Regression(대략적인 숫자값을 출력)하는 데 사용된다.
Unsupervised Learning
-
비슷한 것을 찾는 문제에 사용되므로, 도출되는 값이 정답일 필요가 없는 학습
-
특징 벡터 X는 주어지는데 목표값 Y가 주어지지 않는 상황
-
Clustering(=그룹핑, 기준에 따라 달라짐), Dimensionality reduction(차원 축소, 3차원을 2차원 영상으로 축소하여도 정보의 전달은 가능), Anomaly/Novelty detection(특이점을 감지(위조 지폐를 찾아내는 일 등에 사용))
Reinforcement Learning
- RL의 핵심: "reward(보상)" 개념
- 학습 정책:
- 어떤 행위에 따라 보상을 줄 지 페널티를 줄 지 결정해야 함 (policy)
- 그에 따라 머신이 최대 보상을 얻기 위한 학습을 거침
Semi-supervised Learning
- 실생활에서 사용하는 learning
- 주어진 "X"가 어떤 class에 속하는지를 판단하는 학습
- 일부는 X와 Y를 모두 가지지만, 나머지는 X만 가진 상황
- X의 수집은 쉽지만, Y는 수작업이 필요한 경우 유용하다.
다양한 기준에 따른 유형
오프라인 학습과 온라인 학습
- 오프라인: 미리 학습
- 온라인: 제품을 출시해도 실생활에서 계속 학습해감
결정론적(deterministic) 학습과 스토캐스틱(stochastic) 학습
- 결정론적에서는 같은 데이터를 가지고 다시 학습하면 같은 예측기가 만들어짐
- 스토캐스틱 학습은 학습 과정에서 난수를 사용하므로 같은 데이터로 다시 학습해도 다른 예측기가 만들어짐 (딥페이크 영상 생성, 챗봇 생성 시 필요)
분별(discriminative) 모델과 생성(generative) 모델
- 분별 모델은 분류 예측에만 관심, 즉 P(y∣x)(given x)의 추정에 관심 (x가 주어졌을 때 y가 무엇인지?)
- 생성 모델은 P(x) 또는 P(x∣y)를 추정함(y가 없어도 x를 찾아내는 것)
기계학습 예시 (수식)
간단한 기계학습 예
선형 회귀 문제
선형 회귀
데이터를 놓고 이들을 가장 잘 표현할 수 있는 직선을 찾는 방법
- 식 (1.2)의 직선 모델을 사용하므로 두 개의 매개변수 θ=(w,b)T (w,b는 vector)
목적 함수objective function(또는 비용 함수cost function) = errorfunction
- 식 (1.8)은 선형 회귀를 위한 목적 함수
- fθ(xi)는 예측함수의 출력, yi는 예측함수가 맞추어야 하는 목표값이므로 fθ(xi)−yi는 오차
- 식 (1.8)을 평균제곱오차mean squared error라 부름
- 제곱 없이 절댓값을 사용해도 무방함
예제 1-1
J(θ1)=0.8가 도출 (평균제곱오차)
J(θ2)=0.7이 도출
기계학습 예시 (코드)
폐암 수술 환자의 생존율 예측하기
- 25줄은 기계학습의 hidden layer를 구성하고, 26줄은 output layer를 구성한다.
- 그리고 30줄의
epochs
가 학습의 반복 횟수를 결정
코드의 23~26줄을 아래와 같이 변경하여 다중 층을 구성할 수 있다.