ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [AI] 딥러닝 기초
    AI 2023. 3. 31. 23:25
    728x90

    Key Components of Deep Learning

    ▶Data

    ▶Model

    ▶Loss

    ▶Algorithm

    Data

    model이 학습하는 data

    Model

    Data를 변환(transform)하는 방법

    Model의 성질에 따라 결과가 달라진다.

    종류

    ▶ AlexNet

    ▶ GoogLeNet

    ▶ ResNet

    ▶ DenseNet

    ▶ LSTM

    ▶ DeepAutoEncoders

    ▶ GAN

    Loss

    Loss Function(=cost function)

    Model 성능의 "나쁨"을 나타내는 지표 → "현재 Model이 Data를 얼마나 잘 처리하지 못하냐"를 나타내는 지표.

    (데이터를 토대로 산출한 model의 예측 값과 실제 값의 차이를 표현하는 지표)

    달성하고자 하는 것의 근사치(proxy).

    위 그림은 간단하게 그린 학습 로직입니다.

    Input1이 들어오면 Model을 통해 output1(예측 값)이 산출됩니다. 예측 값이 실제 값의 차이를 계산하기 위해 Loss Function(손실 함수) 단계를 거칩니다. output2(loss 값)을 줄이는 방향으로 학습이 진행됩니다.

    즉, loss 값이 0에 가까울수록 모델의 정확도가 높고, 0에서 멀어질수록 모델의 정확도가 낮습니다.

    종류

    $$y_i^{(d)} : 실제 값$$

    $$\hat{y}_i^{(d)} : 예측 값$$

    Regression Task (회기 문제)

    Mean Squared Error(MSE) 평균 제곱 오차
    $$
    {MSE=\frac 1 N}\sum_{i=1}^{N}\sum_{d=1}^{D}(y_i^{(d)}-\hat{y}_i^{(d)})^{2}
    $$

    y = x^2

    평균 제곱 오차는 가장 많이 쓰이는 손실 함수 중 하나이며, 예측 값과 실제 값 사이의 평균을 제곱하여 평균을 계산한 값입니다. 차이가 커질수록 제곱 연산으로 인해 값이 뚜렷해지며 제곱으로 오차가 양수, 음수 상관하지 않고 값을 증가시킵니다. MSE는 실제 정답에 대한 정답률의 오차뿐만 아니라 다른 오답들에 대한 정답률 오차 또한 포함하여 계산한다는 것이 특징입니다. 최적 값에 가까워질 경우 이동거리가 다르게 변화하기 때문에 최적 값에 수렴하기 용이합니다. MSE의 단점으로는 값을 제곱하기 때문에 1미만의 값은 더 작아지고, 그 이상의 값은 더 커지는 왜곡이 있을 수 있습니다.

     

    Classification Task (분류 문제)

    Cross Entropy(CE)

    (= binary entropy, log loss)

    $$
    {CE=\frac 1 N}\sum_{i=1}^{N}\sum_{d=1}^{D}(y_i)^{(d)}log\hat{y}_i^{(d)}
    $$

    Entropy 는 불확실성으로, Entropy가 높다는 것은 정보가 많고 확률이 낮다는 것을 의미합니다.

    분류 문제에서 데이터의 라벨은 one-hot encoding을 통해표현됩니다. one-hot encodeing은 class의 종류가 N개 이고, 특정 데이터가 i번째 클래스에 속할 때, i 번 째 원소만 1, 나머지는 0으로 채운 N차원 vector로 바꿔주는 것입니다.

    입력 데이터의 특성(feature)값이 모델을 통과하면 출력 레이어의 softmax함수에 의해 각각 class에 속할 확률이 계산됩니다. 이 확률 값들이 모델이 추정한 확률 분포를 구성하는 값들입니다.

     

    Probabilistic Task (확률 문제)

     

    Likelihood (가능도, 우도 함수)

    데이터가 특정 분포로부터 만들어졌을 확률.(파라미터의 분포 P(theta)가 정해졌을 때, x라는 데이터가 관찰될 확률)

    주어진 파라미터 분포에 대해서 우리가 가지고 있는 데이터가 얼마나 '그럴듯한지' 계산한 값입니다.
    $$
    L(\theta) = p(X|\theta) = \prod_{n=1}^{N}{p(X_n|\theta)}
    $$

     

    Maximum Likelihood Estimation(MLE) 최대 가능성 추정

    가능도 중에 높은 가능도가 있을 것이고, 이는 제공한 데이터 샘플에 가장 잘 맞는 모델이나 분포의 파라미터 theta가 존재한다는 뜻입니다. 따라서 최적의 파라미터 theta를 찾는다는 개념입니다.
    $$
    {MLE=\frac 1 N}\sum_{i=1}^{N}\sum_{d=1}^{D} logN(y_i^{(d)};\hat{y}_i^{(d)},1) (=MSE)
    $$

    데이터들의 likelihood값을 최대화하는 방향으로 모델을 학습시키는 방법입니다.

    Algorithm

    loss를 최소화하기 위한 paramter 조정

     

    optimization (최적화)

    data, label, loss function이 정해져 있을 때 네트워크를 줄이기 위한 방법.

    단순히 Loss Function을 줄이는 것이 목적이 아니라 model이 학습하지 않은 데이터에서 잘 동작하게 하는 것이 목적입니다.

    종류

    ▶Dropout

    ▶Early stopping

    ▶k-fold validation

    ▶Weight decay

    ▶Batch normalization

    ▶Mix Up

    ▶Ensemble

    ▶Bayesian Optimization

    728x90

    'AI' 카테고리의 다른 글

    [AI] Gradient Descent Methods (경사하강법)  (0) 2023.04.04
    [AI] Optimization(최적화)  (0) 2023.04.03
    [AI] Neural Network, 활성 함수, MLP  (0) 2023.04.03
    [AI] seaborn  (0) 2023.03.27
    [AI] Week3 학습 정리  (0) 2023.03.23

    댓글

© 2022. code-space ALL RIGHTS RESERVED.