狗都能看懂的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 …

device_node和platform_device的生成流程

1. machine_desc的匹配 《这篇》有介绍DT_MACHINE_START的一些初始化操作,匹配上就会在后续的初始化中调用DT_MACHINE_START的成员来初始化系统的设备树,时钟,中断等 start_kernelsetup_arch(&command_line);mdesc setup_machine_fdt(…

行列视报表系统制作的报表与厂级监控信息系统(SIS)系统中的报表有什么区别?

厂级监控信息系统是集过程实时监测、优化控制及生产过程管理为一体的厂级自动化信息系统,是处于DCS以及相关辅助程控系统与全厂管理信息系统之间的一套实时厂级监控信息系统,该产品也是本公司的一套独立产品。 SIS系统中的报表只是其中的一个模块&#…

混合云管道的未来:集成 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…

放射性单位请问放射性物质的单位cpm、dpm什么意思

放射性单位请问放射性物质的单位cpm、dpm什么意思?和Ci怎样换算?现在做同位素,搞不清楚剂量了.  anse7esn 1年前 已收到2个回答举报 赞 渡海 幼苗 共回答了22个问题采纳率:90.9% 举报 放射性活度单位 放射性核素在单位时间内发生衰变…

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: …

从零搭建Java酒店预订系统:实战指南_01

项目介绍 一、 项目概述 项目背景: 模拟真实酒店预订流程,实现核心功能角色设定: 顾客、前台、后勤管理(可选:管理员)技术选型: Java + Spring Boot + 数据库(MySQL)+ 前端框架(Vue.js/React等)二、 需求分析与功能设计 功能模块划分: 用户模块:用户注册、登录、…

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. …

【Python】探索 Pandas 中的 where 方法:条件筛选的利器

那年夏天我和你躲在 这一大片宁静的海 直到后来我们都还在 对这个世界充满期待 今年冬天你已经不在 我的心空出了一块 很高兴遇见你 让我终究明白 回忆比真实精彩 &#x1f3b5; 王心凌《那年夏天宁静的海》 在数据分析中&#xff0c;Pandas 是一个强大且…

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

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

数据库MyBatis传递数组或集合

应用场景 假设你有两个表&#xff0c;一个是商品信息表&#xff08;表1&#xff0c;例如商品类别信息&#xff09;&#xff0c;另一个是库存信息表&#xff08;表2&#xff0c;记录每种商品的库存数量&#xff09;。你想知道特定几个商品类别 &#xff08;通过其ID标识&#xf…

其他OpenAI API和功能

文章目录 嵌入嵌入如何为ML模型翻译语言内容审核模型Whisper 和 DALL.E除了文本补全功能,OpenAl用户还可以使用其他一些功能但如果你想深入了解所有API那么请查看OpenAl的APl reference 页面。 嵌入 由于模型依赖数学函数,因此它需要数值输入来处理信息。然而,许多元素(如…