版本对应:
本网页讨论的机器学习内容,为特定的机器学习内容(并未与CFD结合)。在《无痛苦NS方程笔记》中, 特定的将CFD与机器学习互相结合起来,无普适性机器学习内容。
ML: 强化学习之PPO
在阅读本文之前,请阅读强化学习之深度Q网络。在学习了深度Q网络之后,会有一个直观的强化学习的概念。现在可以介绍一些更高深的,看起来跟CFD毫无关系的机器学习概念。
首先是马尔可夫性质。其表示以后发生的事情,只取决于当前的状态,而与历史无关。然后是状态,以及观测。下图形象的表示了状态与观测的区别。对于一个棋盘游戏,我们可以看到整个棋盘的全部信息,那么就可以认为目前我们可以获得这个游戏的状态。对于超级马里奥游戏,因为我们只能看到屏幕上的一块区域,那么就是说我们获得的是一个观测。状态与观测也可以采用另外的方式来理解。比如我们可以说“求解器发散了”,这就是一个状态。这个状态对应的观测可能是“连续性方程的误差大于0.1”,其可以通过数学的值来描述。
![_images/obs_space_recap.jpg](_images/obs_space_recap.jpg)
另外是动作。在强化学习之深度Q网络里面我们讲述了一个猫的移动。这个猫可以进行上、下、左、右的移动。另外一方面,如果不对这个猫进行限制,那么其可以在空间任意的移动,比如向上移动,也可以向上偏1度移动,也可以向上偏0.1度移动,甚至0.01度。那么这两个就对应的离散动作空间与连续动作空间。
针对强化学习之深度Q网络里面的猫的移动,如果这个地图非常大,那么猫可以采用不同的路径来到达终点。累计奖励值得是猫在移动的过程中,每个动作获得的奖励之和。进一步的,如果这个迷宫特别的大,猫可能要走10万步,在这种情况下如果认为每一次的移动的奖励都是固定的,也就是在未来很远的时候的奖励与当前的奖励相同。这样会导致的问题就是总奖励会越来越大。另外就是对于下图的猫,采取两个红色的路线,奖励相同,在不走到终点的时候,猫并不会认为两个红线有区分。然而很明显,上方的红色箭头会更加的趋向于正确路径(对角线)。因此通常我们选用折扣奖励。就是猫会更加关注当前的情况,而不是特别远期的情况。折扣奖励可以理解为每个状态的奖励不同(在之前的猫的路线,每移动一步,奖励都是-1,这没有考虑折扣)。
不管使用什么方法,强化学习的最终目的都是最大化累计奖励。
Q-learning使用累计奖励来么?
强化学习之深度Q网络里面介绍的原生Q-learning并没有显性的使用累计奖励,而是隐含的进行表达。同时其中的\(\gamma\)也是折扣因子。原生Q-learning因为需要多次迭代来更新Q值,因此每一步的更新迭代,就是把累计奖励隐性进行叠加的过程。
待更新…