(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이 숫자가 아닌 확률적인 부분을 추정하고 싶을 때 사용된다.

Last updated

Was this helpful?