Deep Learning - Loss Function, ANN

psy4072·2022년 11월 30일
0

딥러닝 학습 방법

: 출력값과 실제값을 비교하여 그 차이를 최소화하는 weight, bias 조합 찾기

  • 경사하강법 : 손실 함수의 현재 위치에서 조금씩 손실을 낮아지는 쪽으로 가중치를 움직이며 최솟값을 찾는 방법
  • optimizer : 최적화 방법을 결정해주는 방식

Loss Function

: 실제값과 예측값의 차이를 수치화해주는 함수

  • 2차 함수는 '아래로 볼록한 형태의 2차 함수 그래프에서 기울기(미분)가 0인 지점에서 최솟값을 갖는다."

    ➡️ 손실이 가장 작은 가중치 (W*)

    Classification

  • 이진분류 : Binary_crossentropy
  • 다중분류
    (one-hot-encoding) : categorical_crossentropy
    (ordinal-encoding) : sparse_categorical_crossentropy

Regression

  • MAE
  • MSE

Optimizer

: data, loss function 기반으로 모델이 업데이트 되는 방식

Gradient Descent 경사하강법

: loss function의 현재 위치에서 점차 손실이 낮아지는 쪽으로 가중치를 움직이며 최솟값을 찾는 방법
-> 딥러닝에서 loss function 형태 복잡하여 최솟값 찾기 어려움
-> 경사하강법 같은 최적화 방법 이용

reference https://hackernoon.com/life-is-gradient-descent-880c60ac1be8

optimizer

: 손실함수를 최소화하는 방향으로 가중치를 갱신하는 알고리즘

  • 경사하강법을 기반으로 둔 optimizer은 SGD, RMSProp, Adagrad, Adam 등

✅ 등산으로 비유한다면 경사하강법은 하산 방향을 찾는 방법, 옵티마이저는 효율적(시간, 성능고려)으로 탐색

  • Adam : 1차 및 2차 모멘트의 적응적 추정을 기반으로 하는 확률적 경사하강법
model.complie(optimizer='adam',
				loss = 'catogorical_crossentropy',
                metrics=['accuracy'])

ANN (Artificial Neural Network)

구성

  • 신경망은 다수의 입력 데이터를 받는 입력층 (Input)
  • 데이터의 출력을 담당하는 출력층 (Output)
  • 입력층과 출력층 사이에 존재하는 레이어들은 은닉층(Hidden)
    ➡️ 은닉층으로 모델을 잘 구성하여 원하는 output값을 잘 예측하는 것이 과제 !!!

원리

✅ 왜 은닉층을 통해서 모델을 구성할 수 있을까?

  • Activation fucntion을 이용하여 은닉층에서 최적의 weight와 bias을 찾아냄
  • 특정 임계치(threshold) 넘어야 신경이 전달
  • 신경이 전달되며, 활성화 함수로 weight를 지정해 각 노드의 최적의 weight 찾는 방식으로 작동
profile
Ⓓ🅰️🅣🄰 ♡♥︎

0개의 댓글