RL
基于与环境互动得到的结果好坏进行学习
没有标准答案,但对结果的好坏有特定的标准
输入为state,输出为action
适合RL来做的问题:
AlphaGo 没有标准答案,但是有输赢;
人学习走路:走的更快更稳
chatgpt是因为RL才产生大的突破
RL的特点:
自身做出行为,输入到复杂环境中得到一个结果,根据某种规则判断行为好坏,并调整行为,之后做的更好
其最终目的是得到一个policy,告诉我们在所以state中,最佳reward的action应该是什么
为何做RL?
大多数问题的环境太过复杂,无法被充分建模,只能通过与环境互动学习在环境中如何达成目的
MDP: 常用的研究RL问题的数学模型
特点:问题仅与当前的state有关,与之前的state和action无关
解决问题的思路:
算出所有state的某种state value ,通过比较目前state中可供选择的action达到的state value ,找到最好的一个action,由此往复
Value Function 求解的方法
期望值: 因为MDP定义中,每个state 做同样的action,不一定回去特定的state,而是有一定的概率去不同的state;
gamma,关注当前奖励的占比
通过递归求解,可以得到每个state的 state value,从而得到最佳策略。基于最佳策略,最佳action可以被指定出来
例子:
value function求解
迭代求解
Value Function不能解决所有的RL问题
value function的局限性:
已知所有state之间的transition function,,transition function是系统的一部分,大多是情况下是未知的,没有transition function, 就计算不了期望,value function就解不出来
已知所有states,例如state太多的情况: 围棋
知道transition function 的目的是要计算expectation,但是还要其他方法计算期望: 通过采样并取平均
但是采样是不稳定的,因为策略在迭代的时候会变化,导致value function在不用的策略下会有很大的差异
Q-learning
把策略从value function中提取出来