[AI Math] 딥러닝 학습방법 이해하기

두꺼비·2022년 2월 2일
3
post-thumbnail

소프트맥스 연산


소프트맥스(softmax)함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산입니다.

분류 문제를 풀 때 선형모델과 소프트맥스 함수를 결합하여 예측합니다.

softmax=Wx+bsoftmax=Wx+b

💻 알고리즘

def softmax(vec):
	denumerator = np.exp(vec - np.max(vec, axis=1, keepdims=True))
    numerator = np.sum(denumerator, axis=1, keepdims=True)
    val = denumerator / numerator
    return val



신경망


신경망은 선형모델과 활성함수(activation function)을 합성한 함수입니다.
σ(z)=σ(Wx+b)\sigma(z)=\sigma(Wx+b)
H=(σ(z1),...,σ(zn))H=(\sigma(z_1), ..., \sigma(z_n))



활성함수 (activation function)


비선형 함수로서 딥러닝에서 매우 중요한 개념입니다!

활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없습니다.

시그모이드

전통적인 활성함수라고 할 수 있습니다.
00에서 11사이의 값을 가집니다.

σ(x)=11+ex\sigma(x)=\frac{1}{1+e^{-x}}

하이퍼 탄젠트

전통적인 활성함수라고 할 수 있습니다.
1-1에서 11사이의 값을 가집니다.

tahn(x)=exexex+extahn(x)=\frac{e^x-e^{-x}}{e^x+e^{-x}}

렐루

딥러닝에서 많이쓰입니다.
0보다 작은 값에서는 00을 반환하고, 00이상의 값에서는 xx를 반환합니다.

ReLu=max{x,0}ReLu=max\{x, 0\}



다층 퍼센트론 (MLP)


신경망이 여러층 합성된 함수를 말합니다.
H(1)=σ(Z(1))H^{(1)}=\sigma(Z^{(1)})
Z(1)=XW(1)+b(1)Z^{(1)}=XW^{(1)}+b^{(1)}


❓ 왜 여러층을 쌓는 걸까?

📝 층이 깊을수록 목적함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하기 때문입니다!



역전파 알고리즘


딥러닝은 역전파 알고지름을 이용하여 각 층에 사용된 파라미터를 학습합니다.

각 층 파라미터의 그레디언트 벡터는 윗층부터 역순으로 계산하게 됩니다. 이때 합성함수의 미분법인 연쇄법칙 기반 자동미분을 사용하게 됩니다.




참고자료
네이버 부스트 캠프 AItech

profile
두꺼비는 두껍다

0개의 댓글