본문 바로가기
  • 문과생의 백엔드 개발자 성장기
|Playdata_study/AI

210812_DeepLearning2(Loss Function)

by 케리's 2021. 8. 12.

4. Loss Function (Full Loss)

 

 

Loss Function (Cost Function = Error) 

 

 : 모델이 학습을 한 후 결과 예측을 얼마나 잘했는지 정량화한 함수

   Loss가 0에 가까울 수록 좋다

   즉 가중치 를 사용해서 나온 예측 점수에 대해 불만족의 정도를 숫자로 나타내는 것이 손실함수이다.

   따라서 Loss가 작을 때 그 분류기는 이미지를 잘 분류함을 알 수 있다.

 

 

 

 

4-1) Hinge Function

 

    예를들어 예측을 했을때 3개 중에 1개를 맞춘경우 이 모델은 33점 짜리라고 할 수 있다. 

    이런 경우는 확실하게 예측하지 못한다.

    문제점을 해결하기 위해 → 극대화 전략이 필요하다.

    즉, 값의 극대화와, 평균화가 필요함

    Exponential, Nomalization →  Softmax로 해결된다. 

 

 

 

4-2) Softmax Function

 

  • Exponential (극대화)

  열을 모두 더하고 예측 값 나누기

   ex) 4 /4+3+3 = 0.4 

  → 여기에 약간의 트릭을 준다 : 지수부에 e를 붙인다.

 

   y = e^x, y=2.7^x 그래프파형 비교해봐라 -> e를 붙이는건 값을 늘리는것

 

 

  •  Nomalization 

  probability 소숫점으로 변환

  → 이후에 Loss Function한다

 

 

 

 

 

4-3) Regularization

 

 L(W) : 모델의 Loss 

 W가 작아지도록 학습을 한다. 

 즉 "local noise"가 학습에 큰 영향을 끼치지 않는다는 것을 의미

 "outlier(특이점)" 의 영향을 적게 받도록 하기 위함

 결과적으로 일반화에 적합한 특성을 갖게 만드는 것이다.

 모델이 너무 복잡해 지지 않도록 임의로 제약을 가하는 것

 

 


Foward Propagation

 

 

 

 

BackPropagation

 

 

 

 

😀 정리

 

Forward 의 마지막 단계 L(W)

Backward 의 첫 단계 : L(W)

 

1. 현재 Loss 값 (현재 고도를 알았다)

2. 내려가는 방법 (하산법, Optimization)

3. 가장 가파르게 내려갈 수 있는 Root 계산 (BackPropagation)

4. 3번의 방법으로 내려간다 (Start Gradient Descent)

5. 학습 (Step)

 

 

Optimization

: 모델의 학습을 하강법(하산법)으로 설명

 

ex) 하산을 하려면

현재 위치를 알아야함 (고도) = Loss Function (Optimization과 항상 같이 존재)

 

 

1) Random Search 

 

무작위로 W 값을 여러 번 넣은 뒤, 그 중에서 최고의 값을 설정

→ 정상에서 눈 가리고 여러번 하산 해 본뒤,  그 중 최고의 길을 선택

비효율적, W를 찾기위한 알고리즘이 없음

 

 

 

2) Random Local Search 

 

무작위 방향으로 W값 바꿔서 Loss가 감소하는지 확인한 후 감소하면 W값을 업데이트

→ 눈을 가리고 무작위 방향으로 정해서 발을 살짝 뻗어서 더듬어 보고 그게 내리막 길이면 한 발짝 내딛음

 

 

 

3) Gradient Decent 

 

가장 가파르게 Loss를 감소하는 W 방향을 수학적으로 계산한 뒤 해당 방향으로 이동

가장 가파르게 내려갈 수 있는 방향을 계산해서 해당 방향으로 한 발짝 이동

 

 

 

Loss Funtion

: 현재 위치,고도

 

 

 

 

Backpropagation

: 가장 가파른 경사를 찾아내는 것(은유적)

  Loss 값이 최소가 되도록 Weight 값을 수정하는것 (딥러닝)

 

W 값이  Loss에 얼마나 영향을 주었는지를 수치화 한 뒤, Loss를 줄이는 방향으로 W 값을 업데이트

(Loss에 영향을 많이 주었으면 크게 W가 크게 변화)

Neural Network의 학습을 위한 핵심적인 개념

 

 

(Start) Gradient Descent

Optimization 종류 중 하나,

BackPropagation 방법을 사용하는 Optimization

 

 

 

Neural Net → FullyConnectedNetwork 

 

댓글