numpy - How to compute gradient of a function with respect to parameters of two separate neural networks -
usually, given neural network, example, in tensorflow, following case,
self.theta = tf.contrib.layers.fully_connected(     inputs=tf.expand_dims(self.state, 0),     num_outputs=1,     activation_fn=none,     weights_initializer=tf.zeros_initializer) if have function g(self.theta)  , want gradient of g(self.theta) w.r.t parameters, may use  self.network_params = tf.trainable_variables() , gradient_theta = tf.gradients(g(self.theta), self.network_params) compute it.
i want how similar things in case: in addition self.theta if define self.sigma in same class following,
self.sigma = tf.contrib.layers.fully_connected(     inputs=tf.expand_dims(self.state, 0),     num_outputs=1,     activation_fn=none,     weights_initializer=tf.zeros_initializer) and have function f(self.theta, self.sigma), how compute gradient of f(self.theta, self.sigma) w.r.t self.theta , self.sigma ? 
note self.sigma , self.theta both defined in class, think using self.network_params = tf.trainable_variables() here won't work since parameters of both networks, not own network.
 
 
Comments
Post a Comment