狗都能看懂的Reinforcement Learning简介

文章目录

    • 一、什么是强化学习
    • 二、强化学习的应用

一、什么是强化学习

RL

强化学习的流程可以用上面这张图来说明:智能体(Agent)对环境进行观测,然后根据观测结果(Observation / State)采取相应的动作(Action),动作作用于环境(Environment)之后,环境就会产生相应的变化,这样智能体就可以再一次得到新的观测结果,同时环境也会给智能体一个反馈(Reward)表明这个动作是好的还是不好的。强化学习就是想办法找到一个策略能够最大化总的反馈(Total reward)。

比较成功的应用,如:AlphaGo,下围棋时,它的Observation就是棋盘的情况,根据棋局的形式采取一个Action下一步棋。然后根据Environment的反馈情况,得到一个Reward和新的Observation,再进行下一次的分析和动作。

chess

通过上述围棋的例子,我们不难发现,Environment是由系统本身决定的,Observation本质上也只是通过某种转换由Environment变动过来的,在这个例子中,可以是一个视觉神经网络,将棋局转换成数学矩阵。同时,有一个好的**Agent(策略生成)**也很重要,它决定了实际的Action,在没有深度学习之前,用过一些类似于表格的形式,根据局势进行查表,决定怎么下一步怎么走。这种方式本质上也是一种有监督学习。但围棋这个数学组合很难穷举,但有了Reinforcement Learning就不同了,通过一个通用的神经网络来分析形势。这也是Supervised Learning和Reinforcement Learning的差异。

sl vs rl

而Reward这个变量就比较特殊,虽然也是和Environment有关系,但也是由人为定义的一些规则来决定的,比如围住了对方的棋子,得1分;被围住得-1分,没有棋子数量变动为0分。所以如何从一个定义好的Reward规则也很重要。这里的Reward设定也有它的弊端,即得分为0的情况是比较常见的,得分或扣分的情况是比较少见的,所以它的Reward是比较稀疏。

chess problem

二、强化学习的应用

chatbot-train

Supervised Learning的方法在某些问题也不适用,比如在聊天机器人(Chatbot)训练时,上一个人的提问,没有完全对应的答案。

在这里插入图片描述

而利用Reinforcement Learning的思想,虽然对话没有像围棋一样有明确的得分Reward规则,但我们可以train两个Chatbot互相对话,人为定义一个规则:“通过查看对话记录,来评判是好是坏”

chatbot rule

还有一个比较常见的应用:电子游戏,OpenAI也有对应的python游戏环境,可以用于强化学习的训练。

video game

比如上述的Video Game就来自于gym。左上角是分数,中间是需要打击的目标,玩家可以左右移动,开火。转换到RL中就是三个Action。

alien

gym中的游戏Environment已经转换成矩阵给到用户,可以直接给到Agent,得到Action。像这个游戏中击杀一个外星人,可以得到5分。当采取一个Action之后,Environment也会发生变化(通常都是随机的),这样我们又进入了下个Action生成的阶段。

alien end

当游戏进行了N次这样的循环之后,当采取了某次Action- α T \alpha_T αT之后,游戏进入了终止状态,这时候得到了一个总的Reward。那么这一整个游戏过程,我们称为episode,通常我们以一个episode和它对应总的Reward为一个训练数据。为什么这么做呢?

difficulties

这里就要回到我们上面提到Reward设计的弊端了,有时候Reward的规则往往会导致Agent没法得到即时的奖励,但这又是无法避免的。在现实生活中,这种问题比较常见,比如下棋中,短期的诱敌牺牲可能为后期的胜利做铺垫。所以Reward的delay是很常见的,所以我们在训练的时候也需要将这种情况考虑进去。

其次Agent作为一个小白,如果仅以即时奖励为优化目标,那么在alien游戏中,它只有开火才能得分,那么训出来的Agent就只会开火。

以上内容为李宏毅老师课程中的总结。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/37598.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现Ubuntu计划任务的反弹shell

一、实验环境 Ubuntu:IP地址:192.168.223.156 Kali : IP地址:192.168.223.152 二、编写crontab计划任务 在Ubuntu的系统中使用crontab -e命令编写计划任务,如下所示: 作用:是将一个交互式的bash …

混合云管道的未来:集成 MinIO、Tailscale 和 GitHub Actions

数据处理是现代软件开发的基本实践。它使团队能够自动收集、处理和存储数据,确保高质量的数据和高效的处理。 在本文中,我们将探讨如何建立一个全面的数据处理管道,重点介绍如何使用 Tailscale GitHub Action 进行安全网络。此设置还将包含 …

植物大战僵尸杂交版手机下载与安装全攻略

植物大战僵尸杂交版是一款深受玩家喜爱的策略冒险游戏,以其丰富的植物种类、多样的关卡设计和趣味的玩法著称。本文将为您提供详细的下载与安装教程,帮助您快速上手,享受游戏带来的乐趣。 游戏简介 植物大战僵尸杂交版在传统玩法的基础上&a…

【机器学习】语音转文字 - FunASR 的应用与实践(speech to text)

本文将介绍 FunASR,一个多功能语音识别模型,包括其特点、使用方法以及在实际应用中的表现。我们将通过一个简单的示例来展示如何使用 FunASR 将语音转换为文字,并探讨其在语音识别领域的应用前景。 一、引言 随着人工智能技术的不断发展&am…

linux的安全技术和防火墙

一、安全技术 1.入侵检测系统:特点式不阻断网络访问,主要式提供报警和事后监督,不主动介入,默默的看着你(相当于360安全卫士) 2.入侵防御系统:透明模式工作,对数据包,网…

平价高性价比蓝牙耳机有哪些?盘点好用平价的蓝牙耳机推荐

在当今快节奏的生活中,蓝牙耳机已经成为人们日常生活中不可或缺的配件,它们不仅让我们可以在行走、工作或者锻炼时享受音乐,还提供了便利的通话功能。然而,市面上蓝牙耳机种类繁多,价格相差甚远,大家往往难…

走进开源企业 | 湖南大学OpenHarmony技术实训活动在开鸿智谷顺利举办!

6月24日-6月26日,2024开放原子校源行之湖南大学信息科学与工程学院师生走进开源企业实训交流活动顺利落下帷幕。湖南大学信息科学与工程学院的师生代表团一行90人参与了湖南开鸿智谷数字产业有限公司(以下简称“开鸿智谷”)与母公司拓维信息系…

HEC-HMS水文模型教程

原文链接:HEC-HMS水文模型教程https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&mid2247607904&idx5&sn1a210328a3fc8f941b433674d8fe2c85&chksmfa826787cdf5ee91d01b6981ebd89deac3e350d747d0fec45ce2ef75d7cb8009341c6f55114d&token90645021…

vue项目手机录音

手机实现录音功能&#xff0c;安卓和苹果都可。功能&#xff0c;点击开始录制录音后&#xff0c;随时可以停止录音&#xff0c;如果不点击停止最多录制15秒。 页面结构 <!--音频--> <div class"audio-box"><audio id"audioPlayer"controlsc…

修改element-ui日期下拉框datetimePicker的背景色样式

如图&#xff1a; 1、修改背景色 .el-date-picker.has-sidebar.has-time { background: #04308D; color: #fff; border: 1px solid #326AFF } .el-date-picker__header-label { color: #ffffff; } .el-date-table th { color: #fff; } .el-icon-d-arrow-left:before { color: …

Postgres14.4(Docker安装)

Postgres14.4&#xff08;Docker安装&#xff09; 一&#xff0c;Docker拉取镜像 docker pull postgres:14.4 #检查镜像是否拉取成功 docker images | grep postgres二&#xff0c;新建挂载目录&#xff0c;并运行容器 mkdir -p /data/postgre/data chmod 777 /data/postgre…

AQS同步队列、条件队列源码解析

AQS详解 前言AQS几个重要的内部属性字段内部类 Node同步队列 | 阻塞队列等待队列 | 条件队列 重要方法执行链同步队列的获取、阻塞、唤醒加锁代码流程解锁 条件队列的获取、阻塞、唤醒大体流程 调用await()方法1. 将节点加入到条件队列2. 完全释放独占锁3. 等待进入阻塞队列4. …

小程序安卓手机点击uni-data-select 下拉框选择器会出现蓝色阴影

解决方法&#xff1a;在导入的包中找到uni-data-select.vue&#xff0c;接着找到.uni-stat__select样式&#xff0c;把cursor: pointer去掉。 如果出现穿透问题&#xff0c;uni-select__selector的z-index加高&#xff0c;默认是2。

zdppy_api+vue3+antd开发前后端分离的预加载卡片实战案例

后端代码 import api import upload import timesave_dir "uploads"async def rand_content(request):key api.req.get_query(request, "key")time.sleep(0.3)return api.resp.success(f"{key} " * 100)app api.Api(routes[api.resp.get(&qu…

UnityUGUI之二 CameraTargetTexture

在我们需要将3D物体呈现在2D视角时就可以使用TargetTexture&#xff0c;若想只显示3D物体则需改变背景颜色&#xff0c;并且得再增加一个相机

智慧城市新利器:免费可视化工具助力高效管理

在智慧城市的建设中&#xff0c;实现高效的统筹管理是至关重要的。通过免费可视化工具“山海鲸可视化”&#xff0c;这一目标可以轻松达成。山海鲸可视化是一款免费可视化工具&#xff0c;具备二三维融合、易用性、安全性以及高质量画面渲染等特色&#xff0c;是制作智慧城市可…

数据结构—选择题

01-数据结构—判断题 71.在数据结构中&#xff0c;从逻辑上可以把数据结构分为&#xff08; &#xff09;。 A. 动态结构和静态结构 B. 紧凑结构和非紧凑结构 C. 线性结构和非线性结构 D. 内部结构和外部结构 答案&#xff1a;C 72.当输入规模为n时&#xff0c;下列算法…

如何获得更高质量的回答-chatgpt

在与技术助手如ChatGPT进行交互时&#xff0c;提问的方式直接影响到你获得的答案质量。以下是几个关键的提问技巧&#xff0c;可以帮助你在与ChatGPT的互动中获得更有效的回答&#xff1a; 1. 清晰明了的问题 技巧&#xff1a;确保问题清晰明了&#xff0c;避免含糊不清或模糊的…

短信群发平台:验证码在不同行业的应用

1、手机号码真实性验证&#xff1a;用户注册会员时&#xff0c;为了获取用户真实的手机号码&#xff0c;需要通过手机短信验证功能&#xff0c;确保用户填写的手机号码的真实性。 2、用户找回密码&#xff1a;用户有可能会忘记掉自己的密码甚至用户名&#xff0c;如果该会员已…

Python自定义线程池,这么高效,是不是开了挂?

目录 1、线程池基础 🏗️ 1.1 线程池概念与优势 1.2 Python标准库concurrent.futures简介 示例代码:使用ThreadPoolExecutor执行简单任务 2、利用ThreadPoolExecutor定制 🎛️ 2.1 创建自定义线程池类 示例代码:自定义ThreadPoolExecutor子类 2.2 设置线程池参数与…