强化学习笔记(1)

强化学习的大致结构和面临的一些主要问题

强化学习过程中有两个互动的主体,一个是智能体(Agent)另一个是环境(Enviroment)。智能体通过观测(Observation)环境的状态(State)按照策略(Policy)做出一定的行为(Action)。然后由环境再给予智能体一个反馈奖励(Rewards),让智能体知道其行为带来的后果是好的还是不好的。

智能体学习的目的就是找到一个合适的策略,在使用这种策略得到的一系列行为下,在环境中完成某个任务之后得到的累积奖赏达到最高。

主要面临的问题有:

  • 可能在一次Gaming(一个episode)中只有少数行为可以得到奖赏,例如在下围棋的时候并不是每走一步都会有奖赏,而是可能只在一局棋完成后得到一个输赢的结果。
  • 在进行Gaming的过程中,对于奖赏与否的判断可能会比较难
  • 某一些步骤奖赏可能不会立马就有而是会影响将来几步或者更多步骤获得的奖赏

目前来说最新的强化学习算法是A3C(Asynchronous Advantage Actor-Critic),其主要的特点就是结合了Policy based algorithm和Value based algorithm两者的特点。(之后细讲)

Policy-based Algorithm

机器学习的目的可以概括为找到以一个函数使得相应的输入可以得到期望的输出,这个函数的设计需要自动进行不需要人为干涉。
其步骤主要分为三个:

  1. 定义这个函数的大概样子,在深度学习中就是一个多层神经网络里面带有各种参数可以影响输入得到的输出
  2. 要设计一个标准用于判断这个函数的好坏,使用total loss或是total reward
    (这里规定一些表示的方法)
    在某个参数 θ \theta θ的网络下,当观测到状态S时做出的动作为 π θ ( S ) \pi_{\theta}(S) πθ(S) π \pi π表示的是策略函数,即policy,也就是上面说的那个神经网络
    每走一步(每一个时刻)所得到的奖赏为 r t r_{t} rt,整个一局游戏(1 episode)下来得到的总的奖赏为 R θ = ∑ t = 1 T r t R_{\theta}=\sum_{t=1}^{T}r_{t} Rθ=t=1Trt,由于游戏的随机性,这个 R θ R_{\theta} Rθ最终的结果也是不一样的,所以一般而言,用来评判的是使用这些参数运行了很多次之后的奖赏期望值。期望值高的运行效果也就更好。 τ \tau τ定义为游戏过程中进行的步骤轨迹,即 τ = { S 1 , a 1 , r 1 , S 2 , a 2 , r 2 , . . . , S T , a T , r T , } \tau=\{S_{1}, a_{1}, r_{1}, S_{2}, a_{2}, r_{2}, ...,S_{T}, a_{T}, r_{T},\} τ={S1,a1,r1,S2,a2,r2,...,ST,aT,rT,},那么总的reward就可以表示为 R ( τ ) R(\tau) R(τ)(和上面的 R θ R_{\theta} Rθ一个意思)。
    再定义一下出现 τ \tau τ这种轨迹的概率为 P ( τ ∣ θ ) P(\tau|\theta) P(τθ)那么就可以知道在 θ \theta θ参数配置下的期望为 R θ ˉ = ∑ τ 1 τ N R τ P ( τ ∣ θ ) \bar{R_{_{\theta}}}={\sum_{\tau_{1}}^{\tau_{N}}}R_{\tau}P(\tau|\theta) Rθˉ=τ1τNRτP(τθ),其中 τ 1 \tau_{1} τ1d到 τ N \tau_{N} τN是所有在 θ \theta θ配置下可能的路径,然而实际大多数时候是不可能全部列出来的。所以在这个基础上进行了一个近似处理即 R θ ˉ = 1 N ∑ n = 1 N R ( τ n ) \bar{R_{_{\theta}}}=\frac{1}{N}\sum_{n=1}^{N}R(\tau^{n}) Rθˉ=N1n=1NR(τn)
  3. 从一系列函数中选择效果更好的那个函数(Gradient Ascent)(后面出专题讲)

你可能感兴趣的:(笔记,算法,机器学习,人工智能)