zoukankan      html  css  js  c++  java
  • 【DRL 】什么是Q-Learning, DQN, DDQN

    • 整理自网络资源

    • DRL: Deep Reinforcement Learning 深度增强学习

    • DQN: Deep Q-Network

    什么是DRL

    • action
    • observation:每个时间片,agent都是更剧当前的观察来确定下一步的动作
    • state:observation的集合就作为agent所在的状态state
    • reward: agent执行了action,与环境交互后,环境会变化,变化的好坏就用reward表示
    • policy:state到action的过程
    • 任务:找到一个最优的策略policy从而使得reward最好
    • 两类policy:
      • (a=pi(s)) :一一对应表示, Deterministic policy(确定性策略),输入一个状态,输出一个确定的action
      • (pi(a|s)):概率表示,Stochastic policy(随机性策略),输入一个状态,输出每个action的概率分布

    MDP Markov Decision Process

    • MDP基于一种假设:未来取决于当前
      • 下一个状态仅取决于当前的状态和动作
      • (P(s_{t+1}|s_t)=P(s_{t+1}|s_t,s_{t-1},...,s_1,s_0))

    价值函数

    return 回报:

    • (G_t=R_{t+1}+lambda R_{t+2}+...=sum_{k=0}^{infty}lambda^{k}R_{t+k+1})
    • (G_t)又称 cumulative discounted reward (累积折扣奖励)
    • 其中R为Reward
    • (lambda)为discount factor(折扣因子),一般小于1
      • 越大:看得越远,注重长期奖励
      • 越小:越短视,注重眼前奖励
    • 实际上除非整个过程结束,否则显然我们无法获取所有的reward来计算出每个状态的Return

    价值函数:

    • v(s): 表示一个状态未来的潜在价值
    • 定义上看,value function就是Return的期望
      • (v(s)=E[G_t|S_t=s])
      • (v(s)=E[R_{t+1}+lambda v(S_{S+1})|S_t=s])

    动作价值函数 Action-Value Function

    • (Q^pi(s,a))
    • 如果知道了每个动作的价值,那么就可以选择一个价值最大的动作去执行了。
    • 这里使用的reward和之前的reward不一样
      • 之前state对应的reward是多种动作对应的reward的期望值
      • 这里的是执行完这一个动作a得到的reward
      • 注意看两个函数的参数数量都不一样。
    • (Q^pi(s,a)=E[r_{t+1}+lambda r_{t+2}+lambda^2 r_{t+3}...|s,a]=E[r+lambda Q^pi (s',a')|s,a])

    最优价值函数

    • 最优价值函数和一般的动作价值函数的关系:
      • (Q^*(s,a)=max_pi Q^pi(s,a))
      • (Q^*(s,a)=E_{s'}[r+lambda max_{a'}Q^*(s',a')|s,a])
    • 最优的Q值必然为最大值

    Q-learning

    • 更新Q值得方法:
    • $Q(S_t,A_t) <- Q(S_t,A_t)+alpha (R_{t+1} + lambda max_aQ(S_{t+1},a)-Q(S_t,A_t)) $

    DQN

    价值函数近似

    • 用一个函数来表示Q(s,a)
    • (Q(s,a)=f(s,a,w))
    • w: 表示函数的参数
    • f是近似的,并不知道Q值得实际分布情况

    DQN

    • 用一个深度神经网络来表示这个f
    • 神经网络的训练是一个最优化问题,最优化一个损失函数loss function
    • 目标是让损失函数最小化。为此,我们需要有样本,巨量的有标签数据,然后通过反向传播使用梯度下降的方法来更新神经网络的参数。
    • 将目标Q值作为标签,我们的目标:使Q值趋近于目标Q值
    • 损失函数:
      • (L(w)=E[(r+lambda max_{a'}Q(s',a',w)-Q(s,a,w))^2])
      • (r+lambda max_{a'}Q(s',a',w))为target
  • 相关阅读:
    How to Create a site at the specified URL and new database (CommandLine Operation)
    Using Wppackager to Package and Deploy Web Parts for Microsoft SharePoint Products and Technologies
    SQL Server Monitor v0.5 [Free tool]
    How to build Web Part
    Deploy web part in a virtual server by developing a Web Part Package file(.cab)
    How to recreate "sites" link if you delete it accidentally
    SharePoint Portal Server管理匿名访问设置
    Monitor sql connection from .Net SqlClient Data Provider
    Brief installation instruction of Sharepoint Portal Server
    How to Use SharePoint Alternate URL Access
  • 原文地址:https://www.cnblogs.com/xuwanwei/p/13641755.html
Copyright © 2011-2022 走看看