强化学习入门到不想放弃-4

news2024/11/25 4:51:12

    上回的地址:强化学习入门到不想放弃-3 (qq.com)

      上上回地址:强化学习入门到不想放弃-2 (qq.com)

      上上上回地址:强化学习入门到不想放弃-1 (qq.com)

      好久没更新了,也是不知道写啥啊,(有些文章刚写了就被有些企业给告了,然后就被删了,我也不知道我啥不该些的了

图片

)正好O1比较火,我就想起来我之前写的RL强化学习这块,之前是真的没人看啊,RL现在因为O1就特别的火了,所以我再尝试一下写写,看看有人看没。

      可能也是我写的太散了,太书本话了,那今天先从广义上大家想了解的PPO吧,后面会写DPO, Q-learning, DQN

图片

      强化学习的一些基本概念,上面的机器人叫Agent,下面的地球叫environment。

      Agent:与环境交互的进程(也可以是网络)

     Environment:即环境,说白了就是一些规则的集合(已知的/未知的) 

      Agent和Environment有三种交互方式

     1- Obseveration: 就是观察环境,观察什么呢?就是观察环境的状态,也就是state,那什么是state呢?比如说AlpacaGo可以观察围棋的棋盘上面的落子,或者图里的看到一杯水。

      2- Action:就是对环境执行的动作,Action对环境执行了动作以后,环境就改了,比如把水给洒桌子上了,那state 也就是环境的状态,也就变了

      3- Reward:Agent默认如果对环境的规则没有任何概念的话,它是不知道如何做的,但是比如弄洒了水咋桌子以上,这种的行为,其实就是一个减分项,如果我们认为洒水要-100分,而把水擦干会得200分,那在之后Agent于环境的操作就不会洒水了,而发现别的水洒了,它会擦干,其实就有点像小孩对这个世界刚开始的认识差不多,是靠一些奖惩机制来了解世界的。

      从一个抽象的理解,其实强化学习就是这么定义的。

     

图片

       我们拿Super Mario Bro来套用刚才的概念

1- Action Space:就是你能做哪些操作,比如这里我就给一个向量

{left,right,A, B} (任天堂的操作),这是指这个游戏里你可以操作Mario执行任何的操作

2- Policy:Policy就是Agent Oberserve了Environment以后,比如它可以读取棋盘的对弈态势,或者它能通过几个连续帧来了解你的Mario处于的危险之中,以后输出Action的概率分布,一般用π来表示。

比如:{left:0.2,right0.2,A:0.2, B:0.4} (跳的操作) 

3- Trajectiory:也就是轨迹,什么是轨迹呢,因为对于一局国际象棋,一局Super Mario,虽然某些动作能决定你的生死,比如一记妙手,比如前方有个乌龟正挡在Mario前进的道路上。

图片

  但是,大部分的情况下,一个action,决定不了你的输赢,你的胜利正常情况下是建立在一系列的动作操作基础上的,说白了是一个序列,我们一般叫它Episode, 由若干个state和action组成,这里用s和a来简写

   比如{S0,a0,S1,a1,s2,a2.....St,at,St+1,at+1}

   st+1一般是由st,at来决定的

   st+1分为,确定的,和不确定的,比如 围棋的落子就是确定的,比如马里奥顶带有?的格子拿宝物,就是不确定的。

   而a其实也分为两种,第一种是离散的,比如Mario的操作,上下左右,BA啥的,这样好弄,但是第二种连续的,就比较麻烦,比如求一个温度,求一个力量的牛顿数,这种就很难采样,这些以后讲怎么处理。

    4-  最后一个就是  Return或者交Total reward,就是你执行的所有action统一获得的奖励的和。

      先写到这,下节应该写马尔科夫和贝尔曼方程,不过也可能想到啥写啥,毕竟我没有提纲

图片

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

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

相关文章

鸽笼原理与递归 - 离散数学系列(四)

目录 1. 鸽笼原理 鸽笼原理的定义 鸽笼原理的示例 鸽笼原理的应用 2. 递归的定义与应用 什么是递归? 递归的示例 递归与迭代的对比 3. 实际应用 鸽笼原理的实际应用 递归的实际应用 4. 例题与练习 例题1:鸽笼原理应用 例题2:递归…

三、Python基础语法(注释、三种波浪线、变量)

一、注释 注释是对代码进行解释说明的文字,不会被解释器执行,可以更方便阅读代码和了解代码的作用。 1.单行注释 使用#开头的文字就是注释,可以使用快捷键Ctrl / 2.多行注释 多行注释就是注释的内容,可以换行书写&#xff0c…

集智书童 | 用于时态动作检测的预测反馈 DETR !

本文来源公众号“集智书童”,仅用于学术分享,侵权删,干货满满。 原文链接:用于时态动作检测的预测反馈 DETR ! 视频中的时间动作检测(TAD)是现实世界中的一个基本且具有挑战性的任务。得益于 Transformer …

提升 CI/CD 稳定性:Jenkins 开机自检与推送通知

简介:Jenkins 是一个广泛使用的开源自动化服务器,常用于持续集成和持续交付。在某些情况下,服务器重启可能导致 Jenkins 构建任务中断或失败。为了解决这个问题,可以使用一个自检服务,定期检查系统的启动时间&#xff…

3559 pcie配置流程

目录 EP配置 uboot配置 uboot代码修改 内核代码修改 带宽配置 带宽查看 硬件管脚配置 EP配置 uboot配置 1)make CROSS_COMPILE=aarch64-himix100-linux- hi3559av100_emmc_defconfig 2) make menuconfig CROSS_COMPILE=aarch64-himix100-linux- 修改配置: 3) 合入…

一种将RAG、KG、VS、TF结合增强领域LLM性能的框架

SMART-SLIC框架:旨在将RAG结合向量存储(Vector Stores)、知识图谱(Knowledge Graphs)和张量分解(Tensor Factorization)来增强特定领域的大型语言模型(LLMs)的性能。 SM…

codetop标签动态规划大全C++讲解(二)!!动态规划刷穿地心!!学吐了家人们o(╥﹏╥)o

一篇只有十题左右,写少一点好复习 1.目标和2.分割等和子集3.完全平方数4.比特位计数5.石子游戏6.预测赢家7.不同的二叉搜索树8.解码方法9.鸡蛋掉落10.正则表达式匹配11.通配符匹配12.交错字符串 1.目标和 给你一个非负整数数组 nums 和一个整数 target 。 向数组中…

01-python+selenium自动化测试-基础学习

前言 基于python3和selenium3做自动化测试,俗话说:工欲善其事必先利其器;没有金刚钻就不揽那瓷器活,磨刀不误砍柴工,因此你必须会搭建基本的开发环境,掌握python基本的语法和一个IDE来进行开发&#xff0c…

短剧系统源码短剧平台开发(H5+抖小+微小)部署介绍流程

有想法加入国内短剧赛道的请停下脚步,耐心看完此篇文章,相信一定会对您有所帮助的,下面将排序划分每一个步骤,短剧源码、申请资料、服务器选择、部署上架到正常运行等几个方面,整理了一些资料,来为大家举例…

中广核CGN25届校招网申SHL测评题库、面试流程、招聘对象,内附人才测评认知能力真题

​中国广核集团校园招聘在线测评攻略🚀 🎓 校园招聘对象 2024届、2025届海内外全日制应届毕业生,大专、本科、硕士、博士,广核集团等你来! 📈 招聘流程 投递简历 简历筛选 在线测评(重点来啦…

C++ 算法学习——1.6 前缀和与二维前缀和算法

前缀和算法(Prefix Sum Algorithm): 概念:前缀和算法通过在遍历数组时计算前缀和(从数组的第一个元素开始累加到当前元素的和),可以在O(1)时间内得到任意区间的子数组和,而不需要重复…

告别音乐小白!字节跳动AI音乐创作工具,让你一键变作曲家!

还在羡慕别人能创作动听的音乐?五音不全的你,也梦想着谱写属于自己的乐章?现在,机会来了!字节跳动推出了一款AI音乐创作工具——抖音推出的海绵音乐,它能让你轻松一键创作音乐,即使是“音乐小白…

海外科技新闻媒体与商业媒体:垂直网站的魅力与软文分发

海外科技新闻媒体与商业媒体:垂直网站的魅力与软文分发 在信息爆炸的时代,如何有效地传递品牌信息并提高知名度成为了许多企业的重要课题。在这个过程中,海外科技新闻媒体与商业媒体的垂直网站扮演了重要角色,而软文分发则因其独特…

笔试题总结

1.对于线性表的描述:存储空间不一定是连续,且各元素的存储顺序是任意的 2.虚函数的定义:函数的返回值参数不定, 声明: 类型,返回这类型 名字(); 例如声明一个虚函数&a…

计算机毕业设计 基于Python的豆果美食推荐系统的设计与实现 Python+Django+Vue 前后端分离 附源码 讲解 文档

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

JavaScript(JS)基础(一)

1、JavaScript(JS)简介 JavaScript 是一门跨平台、面向对象的脚本语言,它能使网页可交互(例如拥有复杂的动画,可点击的按钮,通俗的菜单等)。另外还有高级的服务端 Javascript 版本,例…

1.Python 引入(字面量、注释、变量、数据类型、数据类型转换、标识符、运算符、字符串扩展)

一、字面量 1、基本介绍 在代码中,被写直接下来的、不需要通过变量存储的值,称之为字面量 2、常用值类型 类型说明数字(Number)整数(int),例如:10、-10浮点数(float&…

Linux 检查一个文件是静态链接还是动态链接的方法

一、file 指令示例 在 Linux 系统中&#xff0c;可以使用 file 命令 来查看一个可执行文件是静态链接的还是动态链接的。 使用方式 file executable_file创建 hello_test.c 文件&#xff0c;测试代码如下&#xff1a; #include <stdio.h> int main(void){ printf(&q…

xss-labs靶场第一关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机&#xff1a;本机(127.0.0.1) 靶 机&#xff1a;本机(127.0.0.…

2-115 基于matlab的瞬态提取变换(TET)时频分析

基于matlab的瞬态提取变换&#xff08;TET&#xff09;时频分析&#xff0c;瞬态提取变换是一种比较新的TFA方法。该方法的分辨率较高&#xff0c;能够较好地提取出故障的瞬态特征&#xff0c;用于故障诊断领域。通过对原始振动信号设置不同信噪比噪声&#xff0c;对该方法的抗…