当前位置: 首页 > article >正文

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

    上回的地址:强化学习入门到不想放弃-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.kler.cn/news/336870.html

相关文章:

  • Python 语言学习——应用1.1 数字图像处理(第一节,颜色)
  • 【Linux】基础IO(文件描述符、缓冲区、重定向)
  • 【2024保研经验帖】武汉大学测绘遥感国家重点实验室夏令营(计算机向)
  • 在 nodejs 和 MySQL 中,分页查询的占位符
  • 地理定位营销与开源AI智能名片O2O商城小程序的融合与发展
  • AIGC与BI的融合:永洪开启数据智能新时代
  • 生信机器学习入门4 - 构建决策树(Decision Tree)和随机森林(Random Forest)分类器
  • 网络编程项目框架内容
  • zabbix7.0监控linux主机案例详解
  • 【MySQL】使用 JDBC 连接数据库
  • 关于启动flask应用,其他主机无法访问flask应用的错误记录
  • 如何定位前后端Bug?
  • Linux网络基础:HTTPS 网络传输协议
  • 59 mysql 存储引擎之 PERFORMANCE_SCHEMA
  • [含文档+PPT+源码等]精品大数据项目-基于python爬虫实现的大数据岗位的挖掘与分析
  • 什么是 SAP JCO
  • draw.io创建自定义形状
  • 联想服务器配置阵列、安装操作系统
  • 系统架构设计师-论文题(2021年下半年)
  • Midjourney零基础学习