reinforcement learning(利用亲身经历的经验去学习)优化目标为长期收益,优化方法为每动一下都给一个评价
适合任务:人类可能也不知道具体的label,只知道好坏。深度学习中loss不可微分的任务。
依然是找一个函数,智能体的策略函数为神经网络时叫做深度强化学习
*:action是决策后sample的结果,而不是直接argmax,这是为了exploration(探索更多可能性)
*:目标是total reward,也叫return,关注长期奖励
*:智能体经过一系列observation,action,observation,action...直到结束为一次episode(一次完整实验)
*:定义Loss:其实就是看每一步智能体行动完之后针对这个action,你觉得应该让他做还是不做,对此进行参数调整(核心就是定义下图的Ai,Ai给出这个action人类觉得好不好)
上面的iteration中每轮只update一次θ参数,即收集的1个episode的data只用于当前智能体参数更新,因为新的智能体在面对相同环境的时候可能采取不同以往的action,因此需要使用新的actor自己的experience数据进行训练,上一个episode那些数据不符合它可能产生的经历,这就是on-policy
off-policy是训练的actor和与环境互动的actor是不同的,即利用别人的经验来进行训练
典型算法:PPO(off-policy)
critic=value function:针对具体的actor,对该actor和环境的互动进行观察,观察多个episode,总结出针对该actor的value function,critic=value function(observation)=在当前observation之后该actor的discounted cumulated reward。value function就是给出actor在遇到observation环境下之后的一切好还是不好(平均意义上)
value function的计算有蒙特卡洛方法和时间差分方法
训练出一个network给出value function的值,该network就是critic
version4:去掉st+1之后的随机性
Deep Q network:直接从critic就可以知道应该采用哪个action
sparse reward:不能直接只有最终目标有reward,需要一步一步引导,自行设置中间有用的reward,把读博拿到学位拆解成多个子任务并赋予一定的reward
No Reward的情况: Learning from Demonstration:
inverse reinforcement learning:让机器自己定义reward--即先学出reward,再利用学出的reward进行强化学习,循环往复:结构≈GAN