zoukankan      html  css  js  c++  java
  • 【强化学习】强化学习的一些基础理念【一】

    Reinforcement Learning的关系

    强化学习的关系图,如下:

    一共有五个核心概念:
    两个实体:Agent,Environment
    三个交互的联络通道:Actions,Reward,Observations

    Reward

    Raward是一个scalar value可以在环境中定期得获得。为了让agent变得更可靠,让它们的行为表现更好,因此,设计一个Reward会直接影响任务的成功与否。同时根据反馈,重新设定奖励。让它们更好的服务于环境,并对环境做出指导优化,为特定的环境提供较优的解决方案。[1]
    总而言之,奖励的目的是为了让agent获得成功,并且让他的行为按照某种算法进行强化(reinforcement)。可以说reward就是RL的核心。
    让大家的直观感受,举例如下:

    1. 股票交易,买卖股票的收益可以看作是Reward
    2. 围棋比赛,获得比赛胜利或者输掉比赛,可以看作是Reward
    3. 电脑游戏,玩dota2等电子竞技,杀了多少敌人亦或者赢了比赛,可以看作是Reward

    Agent

    Agent是用于和environment交互的实体,它可以是人亦或者某个事物(电脑,某个机器等)。如何交互?发出一个具体的指令行动,对当前的环境进行观察,获取一个确定的奖励值等。

    举例如下:

    1. 股票交易,一个交易者或者电子交易系统做出买卖股票的决定
    2. 围棋比赛,参赛的人员或者AI电脑
    3. 电脑游戏,玩游戏的人或者AI电脑

    environment

    可以说是Agent以外的世界。就像人类一样,我们所经历的这个世界。而Agent和他自己世界交互的行为只有:执行动作,观察当前的情况,获得奖励。

    Actions

    Action就是Agent在自己的Environment中做出的具体行为。例如:学生在学校里面根据老师的要求,做家庭作业一般。
    我们可以把行为分成两种类型:discretecontinuous(其实就是概率中的离散型和连续型)。

    • discrete 就是相互独立的有限集合。
    • continuous 一个动作之下它有着不同的程度。例如:你开车打方向盘和踩油门的时候,这个有程度之分。踩油门踩得重点和轻点。开车的速度是不一样的。

    Observations

    Observations对于agent来说也是非常重要的。就像人类一样,它会观察它自己的这个世界。那如何判别呢?根据获得的奖励。例如:你受到了工资的短信,发现涨工资了,你就会露出喜悦的反馈。因此,如果奖励是消极的,没有用的,让人迷惑的。那么对于agent的训练就非常的糟糕。最后,也达不到你要的成功行为。

    对于Observations的直观感受:

    1. 股票交易,整个交易市场,可以影响它的东西就很多了.例如:国家的政策,当前全球的经济情况,包括最近我们知道的新冠肺炎疫情也会直接股票的收益。还有其他的炒股人员,他们的心态。现在最新的市场心理学,也会直接影响股票市场等。所以,如果Observations只是对于股票价格做分析的话,那么它们得出的行为效果也不大。
    2. 围棋比赛,它的整个环境是棋盘和他的对手,如果更广义的去分析的话:还有他们的围棋技术水平,他们的比赛心态,他们脑子里面的逻辑思绪等。而Observations只能看到它目前的位置。
    3. 电脑游戏,它的环境是一个电脑目前的状态,玩游戏的场景。如果是网络游戏,还有和其他电脑交互的操作。而Observations就是一些屏幕的像素点(pixels)和声音。

    RL的应用领域

    [1]A. Y. Ng, D. Harada, and S. Russell. Policy invariance under reward transformations: Theory and
    application to reward shaping. In International Conference on Machine Learning, volume 99,
    pages 278–287, 1999.

  • 相关阅读:
    Java蛇形数组的简单实现代码
    Android Studio生成javadoc出错的解决办法
    AngularJS指令嵌套时link函数执行顺序的问题
    [转]如果我有jQuery背景,我应该如何切换到AngularJS的思维模式?
    扩展ViewFlow避免和ViewPager滑动冲突,同时支持无限循环,并完美和CircleFlowIndicator结合
    人机交互的新方向:智能聊天机器人
    利用python自动清除Android工程中的多余资源
    巧用svn create patch(打补丁)方案解决定制版需求
    【Android开发坑系列】之经常被忽略的背景图片内存泄露
    【Android开发坑系列】之try-catch
  • 原文地址:https://www.cnblogs.com/zhangshengdong/p/12685059.html
Copyright © 2011-2022 走看看