(02강) 뉴럴 네트워크 - MLP (Multi-Layer Perceptron)
신경망의 정의, Deep Neural Network
Pytorch를 활용한 MLP(Multi-Layer Perceptron) 실습
Regression Task, Classification Task, Probabilistic Task의 Loss 함수(or 클래스)는 Pytorch에서 어떻게 구현이 되어있을까요?
참고 페이지: pytorch official docs
1. Neural Networks 란?
인간의 뇌 신경을 모방하여 만든 컴퓨터 시스템
비선형 변환이 반복적으로 이루어져 함수를 근사하는 시스템
Neural networks are function approximators that stack affine transformations followed by nonlinear transformations
1.1. Linear Neural Networks
선형회귀 입력이 1차원이고, 출력이 1차원일 때 이 둘을 연결하는 모델을 찾는
Data: 1차원 N개의 input과 output
Model: w와 b를 찾는 것
Loss: 이루고자 하는 현상이 이루어졌을때 줄어드는 함수 (MSE 사용)
Back Propergation을 활용해서 업데이트해 최적의 w, b를 찾는다(Gradient Descent)
(step size)가 너무 크면 최소값에 수렴하지 않을 수 있고, 너무 작으면 Local Mimimum에 빠질 수있다.
1.2. Multi dimensional in/out
1.3. Deep Learning
Network를 깊게 쌓으면서 표현할 수 있는 영역을 키워주기 위해서는 Activation Function으로 비선형 근사를 시켜주는 과정이 필요하다.
❓저게 왜 더 많은 표현력을 가지게 해주는 것일까?
Activation Function
1.4. Multi-Layer Perceptron
Loss Function
Loss Function의 성질을 이해하고, 이 함수가 왜 내가 원하는 결과를 얻을 수 있는지 이해할 것
MSE(Mean Squared Error)
CE(Cross Entropy)
MLE(Maximum Likelyhood Estimation)
※ Probabilistic Task : Output이 숫자가 아닌 확률적인 부분을 추정하고 싶을 때 사용된다.
실습코드 Link
Last updated