boyu-ai/Hands-on-RL

第十六章 模型预测控制 EnsembleModel类:train方法的问题

Opened this issue · 1 comments

在Class EnsembleModel类中 trian()方法里,有如下代码:

def train(self, loss):
self.optimizer.zero_grad()
loss += 0.01 * torch.sum(self._max_logvar) - 0.01 * torch.sum(
self._min_logvar)
loss.backward()
self.optimizer.step()

其中loss的定义看上去是将_max_logvar和_min_logvar进行加权平均。
在之前的代码中只定义了_max_logvar和_min_logvar的初始化。
这是否表明这两个参数仅仅靠加权后的loss进行反向传播,然后用optimizer.step()来进行迭代计算?
这种方法的目标是否为:多次迭代后,_max_logvar和_min_logvar将会逐渐接近真实值?
盼回复,多谢

你好,我的意思是_max_logvar和_min_logvar是常数, 这样的话在loss function中不是对梯度没有影响吗?