iha*_*nny 9 gradient reinforcement-learning tensorflow
我正在研究一个Tensorflow网络,该网络为CartPole开放式环境实现了强化学习。
网络为策略梯度代理实施似然比方法。
事实是,使用gather_ndop 定义保单丢失!在这里,看看:
....
self.y = tf.nn.softmax(tf.matmul(self.W3,self.h2) + self.b3,dim=0)
self.curr_reward = tf.placeholder(shape=[None],dtype=tf.float32)
self.actions_array = tf.placeholder(shape=[None,2],dtype=tf.int32)
self.pai_array = tf.gather_nd(self.y,self.actions_array)
self.L = -tf.reduce_mean(tf.log(self.pai_array)*self.curr_reward)
Run Code Online (Sandbox Code Playgroud)
然后,他们针对网络的所有参数采用这种损耗的导数:
self.gradients = tf.gradients(self.L,tf.trainable_variables())
Run Code Online (Sandbox Code Playgroud)
怎么会这样??我认为神经网络的整个观点总是与可区分的操作一起工作,就像cross-entropy从来没有做过奇怪的事情一样,例如self.y根据self.actions_array随机选择且显然不可区分的索引选择索引。
我在这里想念什么?谢谢!
| 归档时间: |
|
| 查看次数: |
1444 次 |
| 最近记录: |