2016-08-31 12 views
0

방금 ​​Tensorflow Docs를 읽고, dy/dx에 대한 기울기 계산에 tf.gradients(tf.gradients(ys, xs, grad_ys=None, name='gradients', colocate_gradients_with_ops=False, gate_gradients=False, aggregation_method=None)을 사용할 수 있음을 알았습니다. 현재 dz(f(x))/dx (체인 규칙을 사용하여 dz/df * df/dx으로 분해되어야 함)의 그라디언트를 계산하려면이 체인 규칙을 수행하는 Tensorflow의 방법이 있는지 궁금합니다. 또한 Tensorflow Doc.에서 grad_ys is a list of Tensor, holding the gradients received by the ys. The list must be the same length as ys.의 의미로 무엇을 의미하는지 궁금합니다.Tensorflow를 사용하여 체인 규칙 수행

+0

Tensorflow 당신을 위해 체인 규칙을 할 것입니다 해결 희망

tf.gradients(loss,x, grad_ys=dz) 

을 당신이 연쇄 법칙에 DZ 그대로 번식 할 기능의 당신의 출력을 가정합니다. 그라디언트를 원하는 변수를 알려주고 계산할 것입니다. – Aaron

+0

예, 동의합니다. 그러나'dz/df'와'df/dx'를 계산하기위한 tensorflow 그래프가 연결되어 있지 않다면 Tensorflow에 체인 규칙을 사용한다고 간단하게 말할 수는 없으므로 수동으로해야합니다. 예를 들어, 'z (y)'에 대한 입력 'y'는 자리 표시 자이며 'f (x)'의 출력을 사용하여 자리 표시 자 'y'에 입력합니다. 이 경우 'z (y)'와 'f (x)'를 계산하기위한 그래프는 연결이 끊어집니다. –

+0

왜 그래프를 연결하지 않습니까? – Aaron

답변

0

손실 기능이 손실 이고 x가 원하는 그라디언트 값이라고 가정합니다.

내가이 문제