找回密码
 立即注册
查看: 677|回复: 5

为什么我总感觉强化学习不是真的人工智能?

[复制链接]

1

主题

0

回帖

16

积分

新手上路

积分
16
发表于 2023-5-8 13:12:56 | 显示全部楼层 |阅读模式
看了很多关于强化学习玩游戏的例子,感觉就是在不竭的试错,然后知道哪条路可以走哪条路不能走啊。
一点都不像人工智能
回复

使用道具 举报

0

主题

1

回帖

0

积分

新手上路

积分
0
发表于 2023-5-8 13:13:07 | 显示全部楼层
因为你对于人工智能的理解可能接近于人的智能,这与目前业界和学界的看法不完全一致,很多人认为飞机并不是学习鸟才飞起来的,只要能实现智能,先实现了再说,管他怎么实现呢,而且是先有飞机,再有的空气动力学,现有望远镜,再有光学,实践往往先于理论,理论源于实践,抽象后,再指导实践。现在人工智能对算力的依赖是比较多,但是不能否认计算也是智能的一部分,只是过度依赖就显得比较笨,智能少了。
alphago后期版本减少蒙特卡洛树搜索,计算量明显减少,强化学习本身也在不断进化,也期待理论突破。
回复

使用道具 举报

0

主题

5

回帖

7

积分

新手上路

积分
7
发表于 2023-5-8 13:13:19 | 显示全部楼层
不试错,难道是上帝的视角吗?
回复

使用道具 举报

0

主题

2

回帖

1

积分

新手上路

积分
1
发表于 2023-5-8 13:13:34 | 显示全部楼层
试错≠人工智能是一种错误论调。这是因为在毫无信息和先验知识的前提下,一个智能体(包括人) 无法做出优于随机行动的决策。试错是一个智能体收集与问题相关信息和知识的重要环节,你只有获取了足够多的信息才能设计出有意义的策略,这在很多强化学习的问题中都有体现 (比如Multi-armed bandit中的exploration vs exploitation问题)。

真正应该关注的问题是强化学习算法中模型对知识的应用能力和迁移能力。作为人类,我们优于一般强化学习模型的一个重要体现在于我们能从看似不相关的任务A里提取高度抽象的共性经验并"活用"于任务B,这涉及的本质有两点: 1. 如何从庞大数据库中精准提取关键信息以避免无意义试错。 2.根据目前的有效信息如何高效的指定策略。要开发智能体,我们应该着重去解决这两个问题,而不是把矛头指向试错本身。
回复

使用道具 举报

0

主题

4

回帖

11

积分

新手上路

积分
11
发表于 2023-5-8 13:14:15 | 显示全部楼层
强化学习博一在读, 调参时刷到问题, 怒答! 若有错误或不合适的内容请指出.
先说结论, 强化学习是一种在只有很弱的前提下求解控制问题的相对优雅的解法. 但是在实际问题中, 我们往往可以通过引入更强的前提来达到更好的效果.
1. "抛开前提谈结论, 都是耍流氓"

首先我们要知道强化学习是在一个什么样的前提下去求解问题的. 最基础的强化学习中, 我们有一个环境 (MDP =), 我们要学一个控制策略从而最大化累积期望奖励对吧:

假如奖励函数已知且可导, 转移函数已知且可导, 这个问题完全可以用最用Optimal Control去求解, 比如经典的Synthesis and Stabilization of Complex Behaviors through Online Trajectory Optimization, 下图是他们的控制算法, 看起来不那么弱智吧. 而且该控制算法是通过Dynamic Programming直接求解上面的目标函数得到的, 并非通过试错得到的:


那我们再严厉一点,和都未知, 但是给你一个simulator, 那我还是可以通过一些Search-based的方法去求解, 例如MCTS.
那你再严厉一点, 现在连simulator都不给你了:
小机器人: "那我试错吧.." (小声)
你: "哈, 弱智!"
(不觉得小机器人有一点可怜吗)
再举一个老生常谈的例子: 自动驾驶. LeCun在他今年的Talk () 里举过这个例子:

  • 一个普通的年轻人平均经过大约10小时的训练就可以正常驾驶汽车了, 为什么现在的智能体用了百倍甚至千倍于此的时间还是学不到一个好的策略呢?

    • 答: "因为没有先验知识".

LeCun实际上对这个问题的回答是"World Model", 即一个可以感知并且预测当前世界发展的模型, 但我觉得更general的说法是因为我们没有利用足够多的先验知识. 因为当一个成年人坐在驾驶室里的时候, 他已经是一个具备多种先验知识的个体了, 比如他可以做到 Object Detection; Object Segmentation; Transition Prediction; Natural Language Processing.... 但如果你让一个只有0岁记忆的大人坐上驾驶室呢, 我不觉得他会学得比RL快多少.
但是在解决实际任务时, 我们往往并不需要给模型如此严苛的前提, 毕竟我们的目的只是解决任务而已, 所以如何更高效地引入先验知识就成了一个重点! 包括但不限于Model-based RL (通过引入dynamics model); 预训练大模型 (例如DeepmindA Generalist Agent, 虽然严格意义上GATO并不算RL agent, 但它确实是一个很好的起点) ...
2. 强化学习是真的人工智能吗?

那肯定不是啊! 我不知道"人工智能"具体要怎么定义, 但你如果和我说用现有算法能训一个终结者出来, 我肯定是不信的.
2.1. 强化学习"跌落神坛"

我18年刚入门强化学习的时候就看到了一篇经典的文章: "一篇深度强化学习的劝退文" (Deep Reinforcement Learning Doesn't Work Yet), 虽然最后还是凭着对游戏的热爱坚持了下来(不是). 后面感觉每年都会有一段时间看到各种 "强化学习跌落神坛", "强化学习退坑指南"...等文章. 每次看到之后我都会很好奇: 跌落神坛? 强化学习啥时候上去过啊?
我觉得可能"Alpha字辈"的那一系列模型, 在某段时间给了刚入门的新人(包括我)一些迷之自信, 比如现在每次提到围棋就会提到的AlphaGo (以及可爱的柯洁同学), 比如下图AlphaStar战胜人类职业队的一个gif; 再比如可以自己学规则的MuZero... 似乎AGI (通用人工智能) 已经指日可待了.
但是如果实际去看一看对应的论文, 你就会发现, 它们其实只是一些非常精细的工程作品, 离一般意义上的AGI还差得远呢. (不信, 你用强化学习模型给我刷个碗看看, 我倒要看看你的奖励函数怎么定义, 哼!)


所以, 在认清了这一点之后, 你会发现不管是深度神经网络, 还是强化学习算法, 它们刚刚出世的时候都因为一些非常惊艳的"作品"使得人们对它们给予了过高的期望, 然后近几年这些算法的局限性开始显现, 所以大家纷纷开始吐槽, 抱怨, 跳坑... 但是实际上, 如果你从一开始就不要把它捧上"神坛", 又何来这么多失望呢?
如果想要入门强化学习, 我还是强烈推荐Sutton的Reinforcement Learning: An Introduction, 以及如果英文OK的话还是看英文的吧, 中文的翻译总让我觉得怪怪的. 这本书是从tabular的算法开始讲起, 不像某些教程上来就policy gradient, actor critic..., Sutton的书能让你更加清晰地意识到RL算法的来源以及其局限性. (我刚入门的时候没有人带, 杂七杂八地看了各种教程, 之后有时间的话整理一个踩坑贴, 瘫).
2.2. 退坑强化学习: 快跑?

关于强化学习劝退, 我看大部分的理由都是RL落地难, 所以公司很难获益, 所以岗位很少... 这些我也没有啥发言权 (没有实习过www), 但这里推荐一个回答!
强化学习领域目前遇到的瓶颈是什么?以及强化学习的实现确实有很多trick, 之前我也是苦心研究RL里数学问题 (主要是因为笨), 后面发现在很多简单任务上实现RL baseline的时候就是不work, 折腾了很久才发现人家实现的时候是有很多不体现在数学公式里的trick的. 所以奉劝各位想要学习RL的同学, 一定要多动手! 不然可能会变成理论大师, 一写代码智能体就各种撞墙. 这里提供几个比较经典的代码库~
https://github.com/thu-ml/tianshou(4.9k stars) 我们实验室的代码库, 涵盖了大部分主流model-free算法, 目前也在添加model-based的一些算法. (出于私心放在最前面)
GitHub - openai/spinningup: An educational resource to help anyone learn deep reinforcement learning.(7.1k stars) openai给researcher提供的model-free算法样例代码库, 算法的实现都以demonstration为主, 所以性能并不是state-of-the-art的. 好处是一个算法只有一个文件夹, 代码耦合性低而且配有对应的说明文档, 介绍了算法的核心推导.
https://github.com/vwxyzjn/cleanrl(1.1k stars) 这个库相对小众, 但是它真的实现了one-file RL! 即一个RL 算法只有一个文件, 而且包含很多能提升算法性能的实现细节, 适合需要理解RL算法实现的朋友.
<hr/>然后分享两篇我读完之后很有收获的RL调参的文章:
深度强化学习调参技巧:以D3QN、TD3、PPO、SAC算法为例
【ICLR2022顶会论文分享】PPO算法的37个Implementation细节 (中文翻译)
<hr/>最后, RL虽然作为一个并不完美的算法领域, 但是结合工程能力, 还是能做出很多让人眼前一亮的任务的~ 附上一个最近看到的用RL做的挑战赛:
[华为诺亚、腾讯AI Lab]NeurIPS MineRL竞赛夺冠方案

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

0

主题

2

回帖

3

积分

新手上路

积分
3
发表于 2023-5-8 13:14:58 | 显示全部楼层
实名赞同 @冰笛 的那个回答,承包我一天笑点。
其实,现代强化学习其实并不只是单纯的试错了。对于没有任何先验知识问题,智能体确实只能通过试错来获取任务的信息,但我们仍可以通过基于模型的强化学习建立智能体对世界的认识。
本质上来说,基于模型的强化学习中,对模型的学习其实就是一种自监督学习的过程,按照养乐村的说法,真正的人工智能应该是由大量的自监督学习、少量的监督学习以及极少的强化学习构成的,他管这个叫做蛋糕模型来着。
这个蛋糕模型中,智能体其实没有那么傻了,因为它的大部分的知识是通过自监督学习学到了,这产生的代价要比强化学习小的多。按照大佬的说法,现在这个强化学习虽然看起来蠢,但是未来的人工智能应该不会那么蠢,吧。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|T9AI - 深度人工智能平台 ( 沪ICP备2023010006号 )

GMT+8, 2024-9-19 09:24 , Processed in 0.067196 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表