dqn中代码采用的是基于训练轮数的更新:每完成target_update个训练轮次(i_ep)更新一次target_net
if (i_ep + 1) % cfg['target_update'] == 0: # 智能体目标网络更新
agent.target_net.load_state_dict(agent.policy_net.state_dict())
而这里ddqn采用的是基于样本计数的更新:每收集target_update个样本更新一次target_net,这两种更新方式有什么区别,或者说是有不同的适用场景吗