| |
|
阅读网 -> 明星艺术 -> 强化学习 Reinforcement Learning 之美在于什么? -> 正文阅读 |
|
[明星艺术]强化学习 Reinforcement Learning 之美在于什么? |
[收藏本文] 【下载本文】 |
强化学习 Reinforcement Learning 之美在于什么? 关注问题?写回答 [img_log] 机器人 机器学习 自动控制 自动驾驶 强化学习 (Reinforcement Learning) 强化学习 Reinforcement Learning 之美在于什么? |
美就美在哪怕是个二维的200*200的grid world,你跑上七八个小时Q-function都不一定收敛,就算收敛了也不一定能算出来最优路径… 这个b东西谁爱做谁做,我还是老老实实地搞kinematics和motion planning吧。 |
强化学习是以最优控制为框架,以一阶梯度优化算法为求解核心,以神经网络为策略载体。她的美妙之处实际上有很多,举一个例子。强化学习的两大类算法族是“直接法”和“间接法”:1. 间接型RL是求解最优性条件(如Bellman方程,HJB方程),本质上就是求解一个等式方程,策略迭代法等价于牛顿迭代,值迭代法等价于不动点迭代(这个等价本身就是美感)。2. 直接型RL就是直接找原问题的梯度,即policy gradient;而梯度的估计过程,需要Q或者V的估计,即critic。3. 十分巧妙的,这两者都能导出Actor-Critic框架,且二者的结果恰好是一致的,颇有殊途同归的美感。 等价的美是可以给我们一些基础研究方向的启发。比如:值迭代法等价于不动点迭代,以此为观点,可以发现Q-learning就是一类不动点迭代Mann fixed-point iteration。因此,使用全新的fixed-point iteration,就能获得全新的RL迭代。 再例如:以直接法为观点,Actor-Critic框架就是策略梯度加上它内部的Q或者V的估计,它的算法收敛性取决于梯度优化法本身。凸优化领域有众多新颖的算法,设法套一套,试一试,就可产生新的强化学习算法,TRPO,CPO就是这么产生的。另外,为什么只估计Q或者V呢?Baseline技巧告诉我们,估计Q-V更好,这就是advantage 函数。而advantage 函数实际上又等价于时序差分算法,这让我们明白前者的学习效果好原来是因为bootstrapping机制的参与。 |
对于我来说,我当年选择做强化学习最打动我的是: 这可能是当时,唯一不需要做硬件,但是可以跟你的AI进行交流交互的方向吧。 相比于CV和NLP,或者更传统的学科,他们体现算法的优越性只是体现在数据集的性能点上,而你把点刷高了两三个点,其实对人的感受来说是没有任何差异的。 那我最早用强化学习做王者,你是可以实实在在感受到AI的水平从青铜到黄金,最后到王者的过程。然后就用强化学习做了一系列棋牌游戏,比如麻将,斗地主,掼蛋。现在无聊的时候,我还会打开这些代码,然后跟自己研发的AI打上几局。并且在实质感受的前提下,你也能感受到RL在哪些方面做的不足,然后在算法上改进他们。(这些工作我都分享在知乎了,可以在我个人主页看到) 每年去做实验室宣讲会,CV和NLP那边方向同学讲好多模型啊,算法啊,我只需要把我做的RL智能体视频一放,就胜过千言,成为当时学校最热门的方向之一。 因此我挺讨厌现在强化学习变得跟其他机器学习方向一样,开始刷点的。我感觉我写强化学习论文,一定要有一章可视化实验,最好附录中还能配上一点图片。 现在工作了,我觉得初衷还是没有发生变化,还保持着我做的AI和我不断竞争的过程。有些问题,我写的固定规则比AI牛逼,有些问题,我已经打不过我做的AI了。然后保持彼此互相学习的过程。 这种历程其实接近于养小孩的感受吧! |
当你觉得他学的慢时 你会觉得强化学习都是扯淡 这么简单的任务都学不起来 当你突然发现有个大bug后 你会觉得强化学习真是牛逼 顶着这么严重的偏差都能有上升趋势 当你发现改完bug效果不升反降后 你会成为哲学家 蹩脚的研究生犯奇数个错误 牛逼的研究生犯偶数个错误 |
谢谢我们学生的邀请。 RL吸引我之处,在于其设定在AI中是最接近于生物面临的环境,是最“原始”的学习方式,RL研究也可能最接近于理解我们自己。因此希望探究智能根源的研究者都很容易被这一话题吸引。 在AI领域 “盘古开天劈地” 之前的经典文献,Alan M. Turing 1950年发表的Computing Machinary and Intelligence中,可以看到先贤最初的构想 与其试图制作一个模拟成人思维的程序,为什么不试着制作一个模拟孩子的呢?如果这个程序 然后经过适当的教育课程,就可以获得成人的大脑。 |
![]() |
这就是Turing对“机器学习”的设想。 接下来,对于如何能够实现机器学习,Turing给出了两种朴素的思想, 我们不能期望一开始就找到一个好的儿童机器。人们必须尝试教导这样一台机器,看看它学得如何。然后可以尝试另一台,看看它是更好还是更糟。这个过程和进化之间有一个明显的联系,通过以下的对应关系 |
![]() |
后来这一类方法叫做演化计算,更准确的说是演化学习,属于可能今天的同学们都没有听说过的Classifier Systems。在老牌期刊《Machine Learning》1988年的第三期出现了genetic algorithms专辑,记录了当时演化学习发展的状态。 |
![]() |
接下来Turing说到,演化可能是一种缓慢的方式,而且与人类儿童的学习过程也不相似。人类的教学方式通常会包含“奖励“和“惩罚” 我们通常会将惩罚和奖励与教学过程关联起来。一些简单的儿童机器可以根据这种原则构建或编程。机器必须被构建成这样,即就在惩罚信号出现之前发生的事件不太可能重复,而奖励信号则增加了导致其发生的事件重复的可能性。 |
![]() |
这一段描述对应的就是能够从奖励信号中学习的强化学习。Turing甚至还说到他做了一些实验能够成功教会机器某些东西,但方式“非正统”,也就没提是什么方式。 然而也许是由于强化学习任务的复杂性,其发展相对慢于其他机器学习领域。《Machine Learning》的第一个RL专辑出现在1996年,甚至比“Connectionist Approaches to Language Learning“专辑还要晚5年。 与Turing文章中笼统的描述不同,随后数十年AI领域发展产生了大量分支,一个一个局部问题开始得到解决。世事轮回,发展到一定程度后,这些局部也可能开始汇聚。 最后让我们再来重温Turing在70多年前对未来的展望 我们可能希望机器最终会在所有纯粹的智力领域与人竞争。但是从哪些开始最好呢?即使这也是一个困难的决定。许多人认为,像下棋这样的非常抽象的活动最好。也可以坚持认为,最好是为机器提供能买到的最好的感知设备,然后教它理解和生成英文。这个过程可能会类似于对孩子的通常教学方式。事件会被标记和命名,等等。再次强调,我不知道正确的答案是什么,但我认为应该尝试这两种方法。 |
![]() |
|
到达深度学习最高城--rl! 太美丽了,rl! 哎呀这不是rlhf么? 看看远处的llm吧家人们。 到达深度学习最高城--rl! 太美丽了,rl! 哎呀怎么一个岗位都没有? 看看远处的nlp吧家人们。 |
"Reinforcement learning is the only type of machine learning where you are allowed to train on test set." 说实话做控制任务的话,sim2real甚至sim2sim都是有很多问题的,提升空间很大。 |
你以为你在设计reward训练agent,实际上agent在训练你如何设计reward。 |
扩大来讲,整个机器学习作为学科,其实也都谈不上什么美,大家也没那么在乎美不美。 强调美只会把学科带偏。 |
作为业余选手,我更熟悉的是自己做过稍微多的model based reinforcement learning 从model-based RL 角度来看,我看到的是: World Model <- Exploration <- Information Theory world model 是我20年时,在apple实习的mentor,Nitish Srivastava (dropout的作者)和我充满激情地描述的。值得一提的是他让我认识到,有的人虽然没有持续发很多论文,但是洞见力非常强。nitish后来创建了vayu robotics,也是最近hinton离开google后决定新加入的公司。 理解了这3者的关系后,被里面的elegance给惊讶到,这也一定程度改变了我对于所有研究的理念和方法论。 |
在"道"层面,最开始rl吸引我入门的,就是他和我认为的生物学习的过程非常形似。 说一点“术”层面的,横向对比其他优化/学习方法(演化,运筹,监督学习等),我觉得这个寻优过程本身是优雅的,即:这个能够服务于多步序列决策的,纯数据驱动的,无梯度的(指的是目标函数对策略本身没有直接梯度),高效的寻优方案是很优雅的 |
强化学习美就美在 探索 机器人在环境之中交互探索、机器人和机器人之间的交互探索、一堆机器人在环境之中交互探索,这些探索推动着机器人对任务和环境(或者说世界)的理解。 机器能够学习的根本在于对人类学习方式的模仿,这是从“学习”这个词本身的第一性原理出发的。我一般习惯把强化学习和(传统的)深度学习看做同级别的两类学习方法,它们分别对应着两种不同的人类学习方式:以“我”为中心的探索式和经验归纳式。这种命名不同的人会有不同的版本。我更倾向于用一些更优雅的方式来解读它们的区别,即强化学习是一种存在主义式的学习,而深度学习是一种纯经验主义式的学习。这里不是说强化学习没有经验主义,而是突出对探索的侧重。 如果我们激进地把机器人和人画个等号,会发现强化学习就像海德格尔的林中路,它使得机器人在森林之中清理出一片疏朗处,允许世界的一部分在这片空地中显现,从而使世界本身不再隐藏自身。而深度学习更侧重于像洛克一样强调人/智能体诞生自一片白板,经验/数据注记其上。我们很容易就能从上述对二者的描述中感受到一种主客的分别,即RL是一种以我为主对世界的解蔽,是对“森林”的砍伐和清理,而DL是经验对人/智能体的烙印。 回到18年我选择入门RL的时间节点来看,吸引我的正是这种探索的主动性,是一种有灵魂 (\斜眼笑) 的learning。 下面是广告时间 欢迎大家star我的(人型)机器人模仿学习/强化学习库 Rofunc?github.com/Skylark0924/Rofunc |
![]() |
这是玄学!!! 训练不收敛?什么都别改,重跑一遍可能就好了。甚至我有的代码跑的一直很好,最后发现有bug,根本不是按我预想的方式工作的。 做监督式学习的都是一言不合就加深度,我们可能直接加网络。多个网络同时训练,美滋滋,当然能不能跑出来就是另一回事儿了。 |
在于目前在处理数据端还不怎么work... 所以还有很多可以做的 |
在于能玩游戏,一个非常简单但是非常有意思的项目:https://github.com/PWhiddy/PokemonRedExperiments/tree/master 让ppo玩宝可梦,不用涉及博弈,就是让agent玩单机rpg游戏。看着agent一步步学会战斗,探索,收集图鉴,有种养成游戏的乐趣 |
美在如果reward设计不好,agent 觉得一次不交易收益最高 |
个人接触过 RL 一段时间~ 对于整个RL 的设计体系是非常感兴趣的,感觉一切设定都很合理,比如: state-action-reward-state 这种运转模式;reward function 的设计;action-net 和 value-net 的设计 尤其是对于model-free的成果,感觉这东西才是机器赋能的核心,当一切都可以自己处理,那才有可能获得较强的智能体~ 题外话,没记错的话,GPT-3.5和4在训练的时候,也是加了 RL 之后才变得非常能打的,个人感觉,这东西很可能是打破人机间的最后一个屏障··· |
美就美在把feedback包装成别人看不懂的样子 |
监督学习好比是刷题,先刷很多类型一样的题然后对答案,直到没有答案的同类型的题越做越牛逼,强化学习好比是科研,你做个实验,效果好,接着做,甚至发论文,效果不好,回到原点总结经验重来_(:3」∠)_ |
它在不断尝试具体的, 无论错误的,正确的,愚蠢的,明智的, 就像我一样。 它在不断修正自己方法(更新策略), 就像我一样。 但,有时候我甚至还没它明智。 理解世界最直接有效的方式不就是直接尝试嘛。 |
感觉在于即使没有样本的精确标签,也能模模糊糊学到一些有用的信息。 虽然reward的制定很影响训练效率,但是这种弱标签的训练模式还是为决策、规划等任务提供了很有用的框架。 |
在于trial and error |
之前出于各种原因吧,从来没有认真研究过AI。在前段时间阅读了 图灵的开山立派的 论文,并发展了一些张量计算的理论(比如微分形式)之后,感觉有点进入了状态了,然后又尝试推理反向传播算法,一开始看别人的博客还是看不懂,最后索性自己推理了,利用张量计算找到的感觉,花了一个下午得到了反向传播的关键公式。以此为契机进入ai的研究领域。 自从推理了神经网络反向传播算法之后,我立刻产生了用神经网络做游戏npc的想法,经过一番思索,我发现监督学习缺乏通用性,因为游戏很多时候没有标准答案,或者说制造标准答案比较麻烦,或者说标准答案需要“一系列操作”之后才能出现。 经过一番探索,我发现了增强学习,它看起来像我要找的东西,据了解deepmind和openai都用了这项技术,已经是比较前沿的技术了。 本文试图对reinforcement learning 增强学习的 数学理论基础 做一番探索,当然其实只是推了两个公式,知乎写不了太长的东西,不然会卡。 首先,我们介绍MDP(马尔可夫决策过程): 定义: M:=(S,A,P,r,\gamma,\mu) 其中 S 为状态空间(有限或者可数,本文只考虑有限), A :行为空间,离散或者连续,本文只考虑离散有限 P 状态转移函数, P:S\times A\rightarrow \Delta(S) 其中 \Delta(S) 为定义在 S 上的概率分布函数组成的集合。 【注: 由于 P(s,a) 是一个概率分布函数,所以我们通常记作 P(\cdot;s,a) ,下同】 r 奖励函数, r:S\times A\rightarrow [0,1] \gamma : 折扣因子 \gamma\in [0,1) \mu :初始状态分布, \mu\in \Delta(S) 【注意,以上只是MDP的必要条件,但不是充分条件,MDP首先是MP,需要满足MP的条件,为了不使得本文过长,假设读者知道MP的条件(基本上那就是某种时间无关的条件)】 下面定义几个和MDP有关的概念: 轨迹: (s_0,a_0,s_1,a_1,...,s_t,a_t) 其中 s_i\sim P(\cdot;s_t,a_t) 是一个序列。 policy: \pi: H\rightarrow \Delta(A) 其中 H 是所有轨迹的集合, \Delta(A) 是定义在 A 上的概率分布函数组成的集合。 stationary policy: \pi:S\rightarrow \Delta(A) ,我们把 \pi(s) 记作 \pi(\cdot;s) 一表示它是一个概率分布函数,且 a\sim \pi(\cdot;s) 下面定义两个重要的 函数, 值函数 和 行为-值函数: V^{\pi}(s):=E(\sum_{t=0}^{\infty}\gamma^tr(s_t,a_t)|\pi,s_0=s) 其中 E 表示数学期望。 由于数学期望的符号有点抽象, 我们写出它的具体数学表达式如下: V^{\pi}(s)=\sum_{a_0} r(s,a_0)\pi(a_0;s)+\gamma\sum_{a_0}\pi(a_0;s)[\sum_{s_1}\sum_{a_1}r(s_1,a_1)P(s_1;s,a_0)\pi(a_1;s_1)] +...+\\ \gamma^t\sum_{a_0}\pi(a_0;s)\sum_{a1}\pi(a_1;s_1)\sum_{s_1}P(s_1;s,a_0)\sum_{a_2}\pi(a_2;s_2)\sum_{s_2}P(s_2;s_1,a_1)...\sum_{a_t}\pi(a_t;s_t)\sum_{s_t}r(s_t,a_t)P(s_t;s_{t-1},a_{t-1})+... 【由此可见,我们展开之后,除了s和函数,r之外,其余都是求和变量(非真正变量),但是由于r看成已经知道的确定函数,所以 V^{\pi}(s) 确实就是s的函数。这里用到了马尔可夫过程的一些性质,但是如果读者不想了解马尔可夫,暂时也可以把上面的展开式直接看成 E 的某种新的定义式】 由于 0\le r(x,y)\le1 ,所以 不难看出 V^{\pi}(s) 的第t 项 \ge 0, \le\gamma^t , 则 0\le V^{\pi}(s)\le1+\gamma+\gamma^2+...+\gamma^t+...=\frac{1}{1-\gamma} 行为-值函数定义如下: Q^{\pi}(s,a):=E(\sum_{t=0}^{\infty}\gamma^tr(s_t,a_t)|\pi,s_0=s,a_0=a) 同样的技巧,我们也把它展开: Q^{\pi}(s,a)=r(s,a)+\gamma E(r(s_1,a_1)|\pi,s_0=s,a_0=a)+...+\gamma^tE(r(s_t,a_t)|\pi,s_0=s,a_0=a)+...\\ =r(s,a)+\gamma \sum_{a_1}\pi(a_1,s_1)\sum_{s_1}P(s_1;s,a)r(s_1,a_1)+...+\gamma^t\sum_{a_1}\pi(a_1,s_1)\sum_{s_1}P(s_1;s,a)\sum_{a_2}\pi(a_2,s_2)\sum_{s_2}P(s_2;s_1,a_1)...\sum_{a_t}\pi(a_t;s_t)\sum_{s_t}P(s_t;s_{t-1},a_{t-1})r(s_t,a_t)+... 根据同样的原理, 0\le Q^{\pi}(s,a)\le\frac{1}{1-\gamma} 并且,根据上面的展开表达式,我们立刻得到: V^{\pi}(s)=\sum_{a}\pi(a,s)Q^{\pi}(s,a) 以及: Q^{\pi}(s,a)=r(s,a)+\gamma\sum_{t=1}^{\infty}[\gamma^{t-1}(\sum_{a_1}\pi(a_1,s_1)\sum_{s_1}P(s_1;s,a)\sum_{a_2}\pi(a_2,s_2)\sum_{s_2}P(s_2;s_1,a_1)...\sum_{a_t}\pi(a_t;s_t)\sum_{s_t}P(s_t;s_{t-1},a_{t-1})r(s_t,a_t))]=\\ r(s,a)+\gamma\sum_{t=0}^{\infty}[\gamma^t(\sum_{a_1}\pi(a_1,s_1)\sum_{s_1}P(s_1;s,a)\sum_{a_2}\pi(a_2,s_2)\sum_{s_2}P(s_2;s_1,a_1)...\sum_{a_{t+1}}\pi(a_{t+1};s_{t+1})\sum_{s_{t+1}}P(s_{t+1};s_t,a_t)r(s_{t+1},a_{t+1}))] =\\ r(s,a)+\gamma\sum_{t=0}^{\infty}[\gamma^t(\sum_{a_0}\pi(a_0,s_0)\sum_{s_0}P(s_0;s,a)\sum_{a_1}\pi(a_1,s_1)\sum_{s_1}P(s_1;s_0,a_0)...\sum_{a_{t}}\pi(a_{t};s_{t})\sum_{s_{t}}P(s_{t};s_{t-1},a_{t-1})r(s_{t},a_{t}))]=\\ r(s,a)+\gamma \sum_{s_0}P(s_0;s,a)V^{\pi}(s_0) 综上,有: V^{\pi}(s)=\sum_{a}\pi(a,s)Q^{\pi}(s,a) Q^{\pi}(s,a)=r(s,a)+\gamma \sum_{s_0}P(s_0;s,a)V^{\pi}(s_0) 进一步,不难得到,将第二个等式代入第一个: V^{\pi}(s)=\sum_{a}\pi(a,s_0)(r(s,a)+\gamma \sum_{s_0}P(s_0;s,a)V^{\pi}(s_0)) 将第一个代入第二个: Q^{\pi}(s,a)=r(s,a)+\gamma\sum_{s'}P(s';s,a)\sum_{a'}\pi(a',s')Q^{\pi}(s',a') 而这两个式子正是“著名的”(在ai领域算著名吧)的 Bellman Equation. 后续我们将继续推理 最优化条件,以得到 增强学习的 迭代公式。 |
强化学习之美在于它模拟了人类学习的本质,通过不断的试错和经验积累来提高性能。这一方法使得机器能够自主学习,与环境进行交互,逐渐改进决策策略,无需预先设定明确规则也能学习得到一个优秀的控制策略。值得注意的是,强化学习的试错并不是对所有可能进行遍历,而是通过在环境给予的奖励或者惩罚中逐渐找到能获得最大利益的动作序列。 强化学习也是机器学习里面非常重要的一个流派,也常被称为“增强学习”,而它与监督学习和非监督学习都有所不同。强化学习强调的是在一系列的情景之下,选择最佳决策,它讲究通过多步恰当的决策,来逼近一个最优的目标,因此,它是一种序列多步决策的问题。随着算力的发展,近几年强化学习与深度学习的结合后展现出了强大的适应能力,在诸如游戏、机器人控制、自动驾驶等领域取得了巨大的成就。从2016年AlphaGo到如今大火的大语言模型ChatGPT,都离不开强化学习的助力。AlphaGo创始人之一大卫·席尔瓦(David Silver)曾指出“阿法元远比阿法狗强大,因为它不再被人类的知识所局限,而是能够发现新知识,发现新策略” 。 更多有关的强化学习资料,大家可以参考: [1]Sutton R S, Barto A G. Reinforcement learning: An introduction[M]. MIT press, 2018. [2] Li S E. Reinforcement learning for sequential decision and optimal control[M]. Springer, 2023. 如果你想直接上手体验强化学习的强大,我建议你直接使用清华大学iDlab团队开发的通用最优问题求解器GOPS,该求解器内含多种强化学习算法和实例,实例包括车辆轨迹跟踪,Humanoid等常见任务,算法包括常见的DQN,DDPG,TD3,PPO,TRPO,SAC和目前综合表现最强的DSAC等。 |
![]() |
(1)ant |
![]() |
(2)humanoid |
![]() |
(3)Inverted double pendulum |
![]() |
(4)Walker2d |
![]() |
(5)half cheetah |
![]() |
具体细节大家可以参考: GOPS: https://github.com/Intelligent-Driving-Laboratory/GOPS DSACT:https://arxiv.org/abs/2310.05858 |
1.在于reward, 可以把自己的预期写进reward里,强制agent学习并得到符合预期的policy。2.另外,state这一变量的设置也很符合人类的思维方式。3.Q-network 没用过,貌似是辅助agent估算reward的,是个可选项。 |
|
[收藏本文] 【下载本文】 |
上一篇文章 下一篇文章 查看所有文章 |
|
|
古典名著
名著精选
外国名著
儿童童话
武侠小说
名人传记
学习励志
诗词散文
经典故事
其它杂谈
小说文学 恐怖推理 感情生活 瓶邪 原创小说 小说 故事 鬼故事 微小说 文学 耽美 师生 内向 成功 潇湘溪苑 旧巷笙歌 花千骨 剑来 万相之王 深空彼岸 浅浅寂寞 yy小说吧 穿越小说 校园小说 武侠小说 言情小说 玄幻小说 经典语录 三国演义 西游记 红楼梦 水浒传 古诗 易经 后宫 鼠猫 美文 坏蛋 对联 读后感 文字吧 武动乾坤 遮天 凡人修仙传 吞噬星空 盗墓笔记 斗破苍穹 绝世唐门 龙王传说 诛仙 庶女有毒 哈利波特 雪中悍刀行 知否知否应是绿肥红瘦 极品家丁 龙族 玄界之门 莽荒纪 全职高手 心理罪 校花的贴身高手 美人为馅 三体 我欲封天 少年王 旧巷笙歌 花千骨 剑来 万相之王 深空彼岸 天阿降临 重生唐三 最强狂兵 邻家天使大人把我变成废人这事 顶级弃少 大奉打更人 剑道第一仙 一剑独尊 剑仙在此 渡劫之王 第九特区 不败战神 星门 圣墟 |
网站联系: qq:121756557 email:121756557@qq.com |