[프로젝트 프로토타입] 2. Basic Differentiation in Back propagation
목차
2.0 back propagation에서 미분의 필요성
그렇다면, back propagation, 역전파는?
그럼 back propagation의 역할은?
그런데, 왜 미분이 필요해?
** 포스팅한 글, 그림, 수식 정리해서 올리면 좋을 듯 **
2.1 미분의 정의 - 수식, 그림 - 두점의 변화율 -> 한 점의 순간 변화율
2.2 여러 가지 미분 - 삼각함수, 로그 등 특별한 경우 - 수식, 그림
2.3 Linearity의 조건 - 미분의 법칙 - 수식, 그림
1.homogeneity 2.additivity 3.constant multiple rule
4.sum rule 5.product rule 6.quotient rule
** 포스팅한 글, 그림, 수식 정리해서 올리면 좋을 듯 **
2.4 다변수 함수(lec3)
2.4.1 다변수 함수란 - 수식, 그림 - 다른 모든 독립변수는 변화 없이 일정하게 고정한 상태
2.5 다변수 함수를 위한 편미분(lec3) - 수식, 그림 - 미분하고자 하는 변수 이외의 변수 상수 취급
2.5.1 back propagation에서 편미분의 활용
2.6 Chain Rule(lec1)
2.6.1 chain rule 이란?
2.6.2 chain rule 설명을 위한 그림, 수식
2.6.3 딥러닝에서의 chain rule 미분 - 수식 및 그림 - u1, u2 등 통일된 기호 사용이 주요
2.0 back propagation에서 미분의 필요성
hidden layer층이 두 개 이상인 경우, 우리는 DNN 혹은 딥러닝 모델이라고 부른다.
input layer -> ... -> output layer의 방향으로 원래 순서대로 연산해 가는 것을 forward propagation, 순전파라고 한다.
그렇다면, back propagation, 역전파는?
output layer -> ... -> input layer의 방향으로 반대로 연산해 가는 것을 의미한다.
그럼 back propagation의 역할은?
우리가 hidden layer, neuron layer를 거치며 얻은 output, 정확하게는 neuron의 임의의 가중치, 상수와의 연산을 통해 얻은 Prediction(예측값)과 실제 결과와 비교를 진행하고, 예측값과 실제 결과의 오차(loss)를 줄이기 위해 layer의 가중치, 상수를 update 하는 과정이 back propagation이다.
그런데, 왜 미분이 필요해?
우리가 수많은 weight(가중치)를 변경해가며 오차를 구한다면, 위의 그래프 같은 loss 함수가 나올 것이다. 그리고 훈련과정을 통해 Global Minima 극소점에서 오차가 가장 작을 것이다. 그 극소점의 weight로 이동하기 위해 해당 loss 함수를 미분한다.
현재의 임의의 가중치의 미분이 양수라면 weight를 줄이고, 음수라면 weight를 늘려야 할 것이다.
이것이 Gradient based learning의 기본적인 훈련 과정이다.
다시 돌아와 hidden layer가 두 개 이상인 딥러닝 모델의 경우 forward propagation을 통해 chain rule로 합성된 output를 이전 layer과 비교해 한차례씩 미분으로 벗겨가며, 해당 layer의 가중치와 상수를 update 한다.
이러한 과정으로 딥러닝이 수행되기에 "미분"이 필요한 것이다.
2.1 미분의 정의 - 수식, 그림 - 두 점의 변화율 -> 한 점의 순간 변화율
2.2 여러 가지 미분 - 삼각함수, 로그 등 특별한 경우 - 수식, 그림
2.3 Linearity의 조건 - 미분의 법칙 - 수식, 그림
1.homogeneity 2.additivity 3.constant multiple rule
4.sum rule 5.product rule 6.quotient rule
https://doyou-study.tistory.com/88
[수학] 미분, 순간변화율, 도함수, 합성함수 미분에 대하여
딥러닝에서는 loss값을 통해 w(가중치), b(상수)를 업데이트합니다. 이 과정에서 "미분"개념이 활용됩니다. 때문에 관련해서 미분에 대해 알아보려 한다. 목차 - 미분(with 위키피디아) - 미분이란? -
doyou-study.tistory.com
위 포스팅을 좀 더 깔끔한 그림과 도식으로 정리하는 식으로 하면 좋을 것 같습니다.
2.4 다변수 함수(lec3)
2.4.1 다변수 함수란 - 수식, 그림 - 다른 모든 독립변수는 변화 없이 일정하게 고정한 상태
- 둘 이상의 독립 변수를 갖는 함수이다.
z = f(x, y) = x + y
z = f(x, y) = x^2 + y^2
z = f(x, y) = xy
lec3의 2 - 5 page
2.5 다변수 함수를 위한 편미분(lec3) - 수식, 그림 - 미분하고자 하는 변수 이외의 변수 상수 취급
위의 그림을 중심으로 편미분 개념을 나타내는 수식
편미분 실제 예
z = f(x, y) = x^2 + y^2
z = f(x, y) = 2x^2y
z = f(x, y) = x + y + 3
z', z', z'
2.5.1 back propagation에서 편미분의 활용
위 챕터에서 baack propagation은 해당 레이어의 가중치나 상수를 update 하는 방식으로 오차를 줄여나간다고 설명했다. 그 업데이트하는 값이 해당 가중치와 상수의 미분 값이다.
w = w - dloss / dw
b = b - dloss / db
2.6 Chain Rule(lec1)
2.6.1 chain rule 이란?
함수의 합성의 도함수 규칙
f(x) = (x^2 + 1)^{1/2}는
input : x
z(x) = u1 = x^2
g(u1) = u2 = u1 + 1 => x^2 + 1
h(u2) = u3 = u2^{1/2}
f(x) = h(g(z(x)))와 같은 합성함수로도 바라볼 수 있다.
f'(x) = {h(g(z(x)))}'
2.6.2 chain rule 설명을 위한 그림, 수식
chain rule 미분
f(x) = (x^2 + 1)^{1/2}
f'(x) = {h(g(z(x)))}'
df(x)/x = dh(u2)/dg(u1) dg(u1)/dz(x) dz(x)/x
합성함수 미분은 위와 같은 규칙으로 미분된다.
2.6.3 딥러닝에서의 chain rule 미분 - 수식 및 그림 - u1, u2 등 통일된 기호 사용이 주요