【强化学习】model-based和model-free的理解和误区

强化学习的术语和概念非常多,网上博客和教程鱼龙混杂,针对model-based和model-free的解释就有很多种,现总结一些博客中常出现的误区:

【误区一】model-based和model-free的区别在于环境是否已知。

解析:环境也就是MDP四元组,S为状态空间,A为动作空间,R是奖励函数,P是状态转移概率函数。这种说法认为只要环境知道了,那么这就是有模型的方法(❌)

【误区二】model-based和model-free的区别在于是否对环境进行建模。

解析:对环境进行建模就是通过神经网络或其他统计学习方法去拟合环境。这种说法认为对环境进行建模了就是model-based的方法(❌)

【误区三】model-based/model-free是用来形容强化学习环境的

解析:NoNoNo,其实model-based/model-free是用来形容算法是否模型相关!像下棋、迷宫,虽然环境已知,依然可以用model-based/model-free模型去求解,不是说环境已知就是model-based!model-based/model-free与问题无关,与算法有关!

【到底如何区分有模型和无模型?】

model-based需要同时满足以下两个条件:

  1. 已知环境的模型或者对环境进行建模
  2. 在决策(选择动作时)时用到了模型去预测未来的状态和奖励

区分的关键是第二个条件!
举个例子:

  • model-free的reinforce方法,在决策中用神经网络预测动作。然后按照正常的程序决策后就会执行,然后进入下一个状态,还会获得一定奖励;
  • 而在model-based的决策中,可能用到神经网络预测动作,考虑这种方式会有误差,所以除此之外还会在决策中根据模型预测执行这个动作后的状态和奖励(实际上是未执行的),最终输出的决策动作根据神经网络预测的动作和根据模型预测的状态奖励综合决策。

你可能感兴趣的:(RL,强化学习,人工智能,深度学习)