a-c

作者: 小石头在长大 | 来源:发表于2022-04-08 16:46 被阅读0次

    1、rl的要素

    状态、动作、环境、奖励、价值函数

    2、SARSA

       1)初始化状态S

       2)在状态S执行动作A,得到新状态S1和奖励R

       3)在状态S1用贪婪法选择新动作A1

       4)更新价值函数

    3、qlearn

       1)初始化状态S

       2)用ϵ−贪婪法在当前状态S选择出动作A

       3)在状态S执行当前动作A,得到新状态S′和奖励R

       4)更新价值函数Q(S,A)

    4、状态价值函数

    qlearn和sarsa只限于状态有限的情况。

    为了解决状态量大的情况,可以定义状态价值函数,输入为状态,输出为状态的价值。同理,可以定义动作价值函数,输入为状态或动作,输出为动作的价值,这里隐含动作的个数是离散值。

    5、dqn

       1)初始化S为当前状态序列的第一个状态, 拿到其特征向量ϕ(S)

       2)在Q网络中使用ϕ(S)作为输入,得到Q网络的所有动作对应的Q值输出。用ϵ−贪婪法在当前Q值输出中选择对应的动作A

       3)在状态S执行当前动作A,得到新状态S′对应的特征向量ϕ(S′)和奖励ϕ(S′)和奖励R$,是否终止状态is_end

       4)将{ϕ(S),A,R,ϕ(S′),is_end}{ϕ(S),A,R,ϕ(S′),is_end}这个五元组存入经验回放集合DD

       5)S=S′

       6)从经验回放集合DD中采样mm个样本{ϕ(Sj),Aj,Rj,ϕ(S′j),is_endj},j=1,2.,,,m{ϕ(Sj),Aj,Rj,ϕ(Sj′),is_endj},j=1,2.,,,m,计算当前目标Q值yjyj:yj={RjRj+γmaxa′Q(ϕ(S′j),A′j,w)is_endjistrueis_endjisfalseyj={Rjis_endjistrueRj+γmaxa′Q(ϕ(Sj′),Aj′,w)is_endjisfalse

       7)使用均方差损失函数1m∑j=1m(yj−Q(ϕ(Sj),Aj,w))21m∑j=1m(yj−Q(ϕ(Sj),Aj,w))2,通过神经网络的梯度反向传播来更新Q网络的所有参数ww

       8)如果S′是终止状态,当前轮迭代完毕,否则转到步骤2)

    相关文章

      网友评论

          本文标题:a-c

          本文链接:https://www.haomeiwen.com/subject/cxepmltx.html