인공지능

[모두를 위한 딥러닝1] 딥 네트워크 학습(5주차)

sujin7837 2021. 1. 27. 16:39
반응형

XOR 문제 딥러닝으로 풀기

one logistic regression unit: XOR 문제를 해결할 수 없습니다.

multiple logistic regression units

-XOR 문제를 해결 가능합니다. 

-그러나 복잡한 네트워크가 들어가있는 각각의 weight과 bias의 학습이 불가능합니다.

 

Neural Net 구성해보기

 

Forward propagation

 

다른 조합의 모델도 찾아보기!

 

NN

K=tf.sigmoid(tf.matmul(X, W1)+b1)
hypothesis=tf.sigmoid(tf.matmul(K, W2)+b2)

그렇다면 training data로부터 W1, W2, B1, b2 값을 어떻게 알아낼 수 있을까?

 

cost 값을 최소화하기 위해서는 시작점에서 차례대로 미분 값을 구하는 방법을 이용했습니다. 그런데 여러 개의 네트워크가 복잡하게 얽혀있고, sigmoid 함수까지 사용한 위와 같은 Neural Network에서는 미분을 이용하기 너무 복잡합니다.

 

Backpropagation

위와 같은 문제를 해결하기 위해 등장한 방법으로, 뒤에서부터 앞으로 error를 전달하면서 미분 값과 실제로 어떻게 저장해야 하는지 등의 정보를 전달합니다.

 

Back propagation(chain rule)

미분 이용

 

Sigmoid

아무리 복잡하고 어려운 함수라도 단계별로 나누어 뒤에서부터 차근차근 미분을 하면 해결이 가능합니다.

 

Back propagation in TensorFlow

복잡한 식을 미분하기 위해 TensorBoard를 이용합니다.

TensorFlow에서는 각각을 그래프(아래 그림에서 흰색 타원에 해당)로 만들어서 이용합니다.

 

반응형