Search
Duplicate

딥러닝 학습방법 이해하기

태그
인공지능(AI)

딥러닝 학습방법 이해하기

mai_05.pdf
4156.6KB

신경망을 수식으로 분해해보자

비선형 모델 신경망 (Neural Network)
d 개의 변수로 p 개의 선형모델을 만들어서, p 개의 잠재변수를 설명

소프트맥스 연산

소프트맥스(softmax) 함수는 모델의 출력을 확률로 해석할 수 있게 변환해주는 연산
분류 문제를 풀 때 선형모델과 소프트맥스 함수를 결합하여 예측한다
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
Python
복사
vec = np.array([[1, 2, 0], [-1, 0, 1], [-10, 0, 10]]) softmax(vec)
Python
복사
신경망은 선형모델과 활성함수(activation function) 를 합성한 함수이다

활성함수?

활성함수 (activation function) 는 R(실수값) 위에 정의된 비선형 함수로서 딥러닝에서 매우 중요한 개념
활성함수를 쓰지 않으면 딥러닝은 선형모형과 차이가 없다
시크모이드(sigmoid) 함수나 tanh 함수는 전통적으로 많이 쓰이던 활성함수지만 딥러닝에선 ReLU 함수를 많이 쓰고 있다

신경망을 수식으로 분해

신경망은 선형모델과 활성함수(activation function)를 합성한 함수이다
다층(multi-layer) 퍼셉트론(MLP)신경망이 여러층 합성된 함수이다

왜 층을 여러개 쌓나?

이론적으로는 2층 신경망으로도 임의의 연속함수를 근사할 수 있다
이를 universal approximation theorem 이라 부른다
그러나 층이 깊을수록 목적 함수를 근사하는데 필요한 뉴런(노드)의 숫자가 훨씬 빨리 줄어들어 좀 더 효율적으로 학습이 가능하다

딥러닝 학습원리 : 역전파 알고리즘

딥러닝 역전파 (backpropagation) 알고리즘을 이용하여 각 층에 사용된 파라미터 (W(l),b(l))l=1L(W^{(l)}, b^{(l)})^L_{l=1} 를 학습
각 층 파라미터의 그레디언트 벡터는 윗층부터 역순으로 계산하게 된다
역전파 알고리즘은 합성함수 미분법인 연쇄법칙(chain-rule) 기반 자동미분(auto-differentiation)을 사용한다

예제) 2층 신경망

2층 신경망의 역전파 알고리즘