Reinforcement Learning(001)

What’s Reinforcement Learning?

Reinforcement Learning 源于一个古老的心理学理论:
Applyling a reward immediately after the occurrence of a response increases its probability of reoccurring, while providing punishment after the response will decrease the probability(Thorndike,1911).

  Reinforcement Learning 是一种intelligent programs的方法,通过创建代理(agent),代理工作在一个已知或者未知的环境中,它通过环境的反馈进行适应和学习,积极的反馈,可以看作是一个奖励,消极的反馈可以看作是一个惩罚.通过agent跟environment之间的交互,在执行正确行为后立即收到的奖励,这样来增加这种行为重复的可能性; 而在发生不希望的行为后,立即得到一个惩罚,降低错误再次发生的可能性.这种在与环境交互的过程中进行不断试错的学习,正是强化学习(Reinforcement Learning,RL)的根本思想.因此,一旦确立了目标,agent就力求最大限度得到到奖励,以实现确立的目标.

  简而言之,RL是基于奖励和惩罚的,与监督学习(SL),无监督学习(UL)是不同的,但是RL任务中也会用到回归,分类,聚类和降维等机器学习算法.RL在自动控制,市场策略优化等方面有这广泛的应用.可以说,RL流着控制的血液,披着机器学习的外衣.

  • RL的特点:
    • 不同于ML,强化学习(RL)的数据是序列的、交互的、并且还是有反馈的
    • agent是从环境中去学习,不是data中
    • RL是基于环境的,angent需要从环境中获得大量的信息来学习和采取行动action
    • RL中的环境是真实世界的模拟,它可以是2D或者3D的也可以是游戏场景
    • RL中的环境是一个很宽泛的概念,它可大可小,小到一个棋盘,大到整个世界,环境越大影响因素越多
    • RL的目标是学习从环境状态到行为的映射,使得agent选择的行为能够获得环境最大的奖励
    • RL中的奖励来自于环境中的反馈.

Reinforcement Learning cycle

这里写图片描述

Reinforcement Learning flow

这里写图片描述
迷宫是一个很好的环境,简单不复杂,很适合用来学习Reinforcement Learning 算法.
这里写图片描述

  • agent : intelligent program
  • environment : 迷宫(maze)
  • state : agent在迷宫中的位置
  • action : agent进入下一个状态采取的动作
  • reward : agent到达某个特定的状态的分数,可能是正的,负的或零

在迷宫中应用RL的四个步骤:

  • 需要一个agent
  • 给agent一个任务,并用Reinforcement Learning实现它
  • agent的每一次移动,都伴随着状态的变化
  • agent从一个状态到另一个状态时,伴随这一个奖励

更新规则(update rule)

  • agent的获得rewards来自它与环境的不断交互过程,rewards的值是不断迭代的,每一次的更新,都是基于下一个最好的状态和agent采取某个动作后,到达下一个状态获得的立即回报.

RL的学习过程其实是一个不断试错的过程,因为要预测在某一个特定的状态,要采取什么样的行动是很困难的,就迷宫问题来说,agent的每一次移动,最终的目标都是为了找到一条最有的路径.因此,需要考虑很多的因素,比如state,action, rewards,并计算出从上一个状态到下一个状态的概率(状态转换概率).

对于迷宫问题,我们不需要考虑上一步的rewards,要考虑从当前状态到下一个状态的,所有的RL任务过程都是相似的:

下面是RL过程:

  • 找到一个问题
  • 用RL算法来解决问题
  • 将RL看作一个RLbox
  • RLbox包含了强化学习过程中要用到的所有组件
  • RLbox包含:agents, environments, rewards, punishments, actions.

agent与环境发生交互的时候,它会得到rewards/punishments.

扫描二维码关注公众号,回复: 1439865 查看本文章

这里写图片描述

   anget与environment之间是直接发生交互的,agents通过跟环境的交流,来适应环境.当机器学习程序,机器人和强化学习程序开始工作的时候,agents是完全暴露在一个熟悉或陌生的环境中的,强化学习技术使agents能够根据环境的特征与环境进行交互并适应环境.
  对于迷宫这个问题,最终的目标是找到一条最优的路径,所以agent的每一个action都要朝着最终的目标这个方向努力,每一个action都伴随着state的变化,每一个状态的变化即:agent在迷宫中位置的变化.RL希望agent每一次移动后的位置都尽可能的在一个比较理想的位置.so,我们需要设置一个奖励惩罚制度.当agent到达比较理想的位置时,给予一个奖励,达到一个不好的位置时,给予一个惩罚.使agent尽量多出现在desired position.

未完待续......

猜你喜欢

转载自blog.csdn.net/u014281392/article/details/80296887