Concept
Introduction
History of AI
Machine VS Deep
종류
Supervised Learning
- 입력 data와 정답을 이용한 학습
- Classification, Regression
Unsupervised Learning
- 입력 data만을 이용한 학습
- Clustering, Compression
Reinforcement Learning(강화)
- Trial and error
- Action selection, Policy learning
Training & Testing
Data
- Data depend on the type of the problem to solve.
Important
- data가 많아질 수록 성능은 계속 좋아진다.
Active Learning
Good Data VS Bad Data
unbiased
Label perfect
- 질이 중요하다.
Data-Centric AI
- The following are about equally effective
- Clean up the noise
- Collect another many new examples
- With a data centric view, there is a significant of room for improvement in problems with < 10,000 examples!
Artificial Neural Network
- input data: 주어진 숫자
- label: 나온 답
- weight: 네모와 세모
- weight 값을 기계가 스스로 학습을 통해 찾아내도록 하는 것이 neural network를 이용한 기계학습이 하는 일
Perceptron
- $y = Wx + b$
- 이러한 weight 값을 기계 스스로 찾을 수 있도록 해주는 과정
Logical XNOR
- 레이어를 많이 쌓으면 된다.
SLP & MLP
Deep Learning
- Deep Neural Network을 이용한 Machine Learning 방법
- Hidden layer 수가 최소 2개 이상인 network
Training Neural Networks
- 최적의 weight 값
- 잘 모르겠으니 일단 아무 값이나 넣고 시작
- Neural Network이 얼마나 잘 맞추는지에 대한 척도가 필요함
- Loss Func
- Cost Func
- 많이 쓰는 방법: 차이의 제곱(MSE?)
- Loss Function의 값이 줄어들도록 weight 값을 조금씩 바꾸는 것
- 미분
미분
- w = w0 에서의 미분 값 = 이 점에서의 접선의 기울기
- w0에서 미분값이 -2라면, w를 w0에서 왼쪽으로 아주 조금 움직이면 그 2배만큼 L값이 증가
- Loss를 w로 미분하고, 미분값이 가리키는 방향의 반대방향으로 아주 조금씩 w를 바꿔나가면 Loss를 감소시킬 수 있다.
Gradient Descent
- 마치 산에 서 눈 가리고 내려가는 느낌
- Loss Func의 Gradient를 이용하여 weight을 update하는 방법
Back Propagation
- Loss로부터 거꾸로 한 단계식 미분 값을 구하고 이 값들을 chain rule에 의해 곱해가면서 weight에 대한 gradient를 구하는 방법
Key Components
- Data
- Model
- Loss
- Algorithm
Historical Review
2012: AlexNet
- 이 일을 계기로 CNN이 많이 쓰이게 됨
2013: Atari
2014
Attention
Adam Optimizer
2015
Generative Adversarial Networks(GANs)
Residual Networks(ResNet)
2016: AlphaGo
2017: Transformer
- Attention is All You Need