热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度强化学习笔记(一)——深度强化学习简述

深度强化学习笔记(一)——深度强化学习简述前言为什么会学习这个方向呢?现在还在放暑假,也还算有较为充裕的学习时间,所以自己暂时还有较为充裕的时间&#

深度强化学习笔记(一)——深度强化学习简述


前言

为什么会学习这个方向呢?现在还在放暑假,也还算有较为充裕的学习时间,所以自己暂时还有较为充裕的时间,目前就主要当作一个拓展的知识面,万一可能以后需要相关方向的研究生方向,或者其他原因,自己可以相对更快的学习。

PS:还有感觉蛮好玩的~2333


简介

强化学习(Reinforcement Learning,RL) 与深度学习都作为机器学习的一个重要方向,人工智能的一个重要目标是生成一个完全自主的智能体(agent),能够通过与环境的交互,学习最优行为。

深度学习方向更多的探索对事物的更好感知和表达,比如图像识别,目标检测,语义分割等方向。而强化学习方向擅长学习解决问题的策略。强化学习(RL)与深度学习(DL)的结合产物深度强化学习(DRL)对人工智能的重要目标迈出了更近的一步,DRL对自主系统的有更高层次的理解


强化学习发展简史

强化学习(Reinforcement Learning,RL) 历史上有三条主线,其中有两条主线有重要的历史地位。


  • 试错学习
    • 源于动物学习过程中的心理学,在学习过程中通过不断地尝试各种(错误或正确)行为以最终学习到最优的正确行为,即通过试错的方法进行学习
  • 最优控制方法
    • 使用值函数(value-function)和动态规划(Dynamic Programming,DP)的方法来解决最优控制问题,在大多数情况下不涉及学习
  • 时间(序)差分(Temporal-Difference,TD)学习
    • 与上两条相比,并不太明显
    • 由同一时间内进行地连续估计之间的差异所驱动,在该方面是独特的,比如,棋类游戏获胜的概率
    • 1972年,Klopf提出了广义强化的概念,即每个组成部分(每个神经元)都以强化的角度看待所有输入(作为奖励的兴奋性输入,作为惩罚的抑制性输入),打算将TD学习和试错学习结合起来
    • 1981年,提出了actor-critic架构,也称为"行动者-评论者架构",现在DRL算法下,都包含在此架构下。actor是行动者,负责动作的选择和执行,critic是评论者,负责评价actor所选动作的好坏

上个世纪80年代后期所有这三条主线汇集在一起,产生了现代RL领域


强化学习简介

RL的本质是互动学习,即让智能体与其外界环境进行交互

智能体根据自己每次感知到的外界环境状态来选择相应的动作,以对环境进行响应,然后观测该动作造成的结果(或好或坏),并根据结果调整自身动作选择机制

RL模型中有最关键的三个部分:


  • 状态(state):状态就是智能体所处坏境的、看嘛外界信息,外界的状态要能够准确地描述外界环境,尽可能将有效信息包含在内,要着重体现出外界环境的特征
  • 动作(action):动作就是智能体在感知到所处环境状态后所要采取的行为动作的表现形式,既可以是离散的,也可以是连续的
  • 奖励(reward):智能体感知到外界环境并采取动作后所获得的奖赏值,正向奖励会激励智能体趋向于学习该动作,负向奖励值则反之

最优的动作顺序由环境提供的奖励决定,每次环境转换到新状态时,它还会向智能体提供**标量rt+1**作为反馈。策略(控制策略)π\piπ:S->A,以使得预期回报(累积折扣奖励)最大化,其中S为外界环境状态的集合S={s1,s2,…,st,st+1,…},A为动作的集合A={a1,a2,…ak}。

给定状态,智能体根据策略返回要执行的动作,最优策略是最大化环境预期回报的任何策略。RL旨在解决与最优控制相同的问题,而RL是需要通过智能体通过试错学习的方法来了解在环境中采取某种动作后的所产生的结果

通过智能体与环境进行交互来感知环境,依靠策略π\piπ选择动作,从而获得最大累积奖赏值

在时间t,智能体从环境感知状态st,然后使用其策略选择动作at。一旦执行了动作,环境就会转换到下一个状态,并提供下一个状态st+1和奖励rt+1作为新的反馈

智能体以序列(st,at,st+,rt+1)的形式使用状态转换的知识来学习和改进其策略


深度强化学习简介

DL方法擅长对事物的感知和表达,RL方法擅长学习解决问题的策略,2016年AlphaGo使用蒙特卡洛树搜索与DRL相结合的方法来打败了顶尖选手。

蒙特卡洛树搜索分为以下4个步骤:


  • 选择:从根节点开始,选择连续的子节点向下至叶子节点。 后面给出了一种选择子节点的方法,让游戏树向最优的方向扩展
  • 扩展:除非任意一方的输赢使得游戏在叶子节点结束, 否则创建一个或多个子节点并选取其中一个子节点
  • 仿真:从选取的子节点开始,其随机策略进行游戏,又称为playout或rollout
  • 反向传播:使用随机游戏的结果,更新从选择的子节点到根节点的路径上的节点信息

每一个节点的内容代表胜利次数/游戏次数

目前DRL下,都在actor-critic框架下,actor-critic属于TD学习方法,其用独立的内存结构来明确地表示独立鱼值函数的策略。actor行动模块是大脑动作执行机构,输入外部的环境状态s,然后输出动作a。而critic评判模型则可被认为是大脑的价值观,根据历史信息及回馈r进行自我调整,然后对整个actor行动模块相关的更新指导

DRL目前已有:


  • 基于值函数(value-based)的DRL
  • 基于策略(policy-based)的DRL
  • 基于模型(model-based)的DRL
  • 基于分层(hierarchical-based)的DRL

推荐阅读
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 在2019中国国际智能产业博览会上,百度董事长兼CEO李彦宏强调,人工智能应务实推进其在各行业的应用。随后,在“ABC SUMMIT 2019百度云智峰会”上,百度展示了通过“云+AI”推动AI工业化和产业智能化的最新成果。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • Java环境中Selenium Chrome驱动在大规模Web应用扩展时的性能限制分析 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 投融资周报 | Circle 达成 4 亿美元融资协议,唯一艺术平台 A 轮融资超千万美元 ... [详细]
  • 为了评估精心优化的模型与策略在实际环境中的表现,Google对其实验框架进行了全面升级,旨在实现更高效、更精准和更快速的在线测试。新的框架支持更多的实验场景,提供更好的数据洞察,并显著缩短了实验周期,从而加速产品迭代和优化过程。 ... [详细]
  • 如何高效启动大数据应用之旅?
    在前一篇文章中,我探讨了大数据的定义及其与数据挖掘的区别。本文将重点介绍如何高效启动大数据应用项目,涵盖关键步骤和最佳实践,帮助读者快速踏上大数据之旅。 ... [详细]
  • AdMob 广告变现潜力几何:收益预测与分析
    Google AdMob 为不同规模的应用开发者提供了一种高效且便捷的盈利途径,通过在应用中展示精准定向的广告来实现收入增长。本文将深入探讨 AdMob 的广告变现潜力,结合实际案例和数据,对收益进行预测与分析,帮助开发者更好地理解和利用这一工具。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 《Intel IA-32 架构软件开发人员手册详尽指南》提供了详尽的 IA-32 架构技术文档,涵盖指令集、系统编程和硬件接口等内容,为软件开发人员提供全面的技术支持和参考。该手册不仅包括详细的架构说明,还提供了丰富的编程示例和最佳实践,帮助开发人员更好地理解和应用 IA-32 架构。 ... [详细]
  • 本文探讨了基于点集估算图像区域的Alpha形状算法在Python中的应用。通过改进传统的Delaunay三角剖分方法,该算法能够生成更加灵活和精确的形状轮廓,避免了单纯使用Delaunay三角剖分时可能出现的过大三角形问题。这种“模糊Delaunay三角剖分”技术不仅提高了形状的准确性,还增强了对复杂图像区域的适应能力。 ... [详细]
  • 深入浅出解读奇异值分解,助你轻松掌握核心概念 ... [详细]
author-avatar
泱泱大国吴
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有