딥넷트웍 학습 시키기

지난 강의에서 W, B 값들이 주어졌는데 이 값들을 어떻게 기계적으로 학습할 수 있는지를 다룬다.

Gradient-Descent Algorithm 을 적용하기에는 아래의 방식에서 계산해야 될 게 너무 많다.Backpropagation 알고리즘 : 우리가 예측한 값과, 오류를 비교해서(Cost)를 뒤에서부터 앞으로 돌려서 미분값과 실제로 뭘 조정해야되는지를 계산한다.

위의 화면에서 w, x, b가 결과에 미치는 영향을 파악하는 것이다. 각각의 미분값으로 연관시킬 수 있다.

Chain Rule : 복합 함수 F(g(x)가 있을 때 바깥에 있는 것을 먼저 미분하고 안쪽에 있는 걸(g(x)) 미분하게 된다.

방법 1(Forward) (w = -2, x = 5, b = 3) : 학습 데이터에서 알려진 값을 가지고 계산하는 방식

방법 2(Backward) : 아래처럼 간단한 미분만 이해할 수 있으면 가능하다.

g = wx ... g로 편미분하면 x, x로 편미분하면 w

f = g + b ... g로 미분하면 1, b로 미분해도 1

제일 뒤의 노드부터 값을 하나씩 계산해서 제일 앞의 값까지 계산할 수 있다.

TensorFlow에서는 Back propagation의 원리를 이용해서 학습을 시키고 있다. Tensorboard 라는 곳에서 확인할 수 있다.

아무리 복잡한 로직이라도 Back propagation 을 이용해서 값을 구할 수 있다.

results for ""

    No results matching ""