分享
入门指南:强化学习
输入“/”快速插入内容
入门指南:强化学习
文:腾讯互动娱乐工程师 luozhiyun
原文地址:
https://mp.weixin.qq.com/s/pOO0llKRKL1HKG8uz_Nm0A
感谢群友.com 的推荐
最近因为 AI 大火,笔者也对 AI 产生强烈的兴趣,于是开启了 AI 的学习之旅。其实我也没学过机器学习,对 AI 基本上一窍不通,但是好在身处在这个信息爆炸的时代,去网上随便一搜就可以获得大量的学习资料。
像这个链接里面:
https://github.com/ty4z2008/Qix/blob/master/dl.md
就有很多资料,但是这相当于大海捞针。在学习之前我们先明确自己的目的是什么,如题这篇文章是入门强化学习,那么就需要定义什么是入门。在很多强化学习里面,学习深度强化学习的第一个算法都是 DQN,这个算法也足够好学和实用,所以本篇文章就以搞懂它做为目标,表示入门。下面是我的学习计划:
1.
如果和我一样一点基础也没有,并且概率论和线性代数的知识差不多都忘完了,那么可以去看一下相关课程学习一下,如果不关注公式啥的,这一步可以先忽略,大约周末一天时间就可以搞定;
2.
然后如果对机器学习也一点基础都没有的话,可以先看吴恩达的课程,有个大致的理解,然后去看李宏毅的课程作为补充,如果单纯的想入门学习强化学习,那么只需要看前几节讲完神经网络那里就差不多了,这个视频课程估计要看 25 小时左右;
3.
学完之后可以跟着《动手学深度学习
https://hrl.boyuai.com/
》一起动手学习一下我们上面学到的概念,写写代码,如果只是入门的话看前五章就好了,本篇文章的很多资料也是整理自这本书,大约 10 小时左右;
4.
接下来可以看看 B 站王树森的深度学习的课程,可以先看前几节学习一下强化学习的基础知识点,大约 5 小时左右;
5.
到这个阶段估计还是懵的,需要去上手做点项目,那么可以看《动手学强化学习》这本书,已经开源了
https://hrl.boyuai.com/
,只看到DQN的部分,大约十几小时。
概念
对于新学习一个基础的内容,我们先从概念入手。
▌ 1. 强化学习能做什么
强化学习(Reinforcement Learning,RL)是机器学习领域的一个重要分支,它关注智能体如何通过与环境的交互来学习和优化策略,以实现长期回报的最大化。强化学习已经在许多领域取得了显著的成功,以下是一些主要的应用场景:
1.
游戏:强化学习在游戏领域取得了很多突破性的成果,如 DeepMind 的 AlphaGo 在围棋比赛中战胜世界冠军,以及 OpenAI 的 Dota 2 AI 在电子竞技比赛中战胜职业选手。这些成功表明,强化学习能够帮助智能体学习复杂的策略和行为,甚至超越人类的表现。
2.
机器人学:强化学习在机器人学领域有广泛的应用,如机器人控制、导航和自主学习。通过强化学习,机器人可以学会在复杂的环境中自主执行任务,如搬运物品、避障导航、飞行控制等。
3.
自动驾驶:强化学习可以用于自动驾驶汽车的控制和决策。通过与环境的交互,自动驾驶汽车可以学会在复杂的道路环境中保持安全驾驶,规避障碍物,遵守交通规则等。
4.
推荐系统:强化学习可以用于个性化推荐系统,通过学习用户的行为和喜好,智能地推荐合适的内容。例如,网站可以使用强化学习算法来优化新闻、广告或产品推荐,从而提高用户的满意度和留存率。
5.
自然语言处理:强化学习在自然语言处理领域也有广泛的应用,如对话系统、机器翻译、文本摘要等。通过强化学习,模型可以学会生成更符合人类语言习惯的文本,提高语言理解和生成的质量。
6.
资源管理:强化学习可以用于优化资源管理问题,如数据中心的能源管理、通信网络的流量调度等。通过学习和优化策略,强化学习可以实现资源的高效利用,降低成本,提高性能。
7.
金融:强化学习在金融领域也有一定的应用,如股票交易、投资组合优化等。通过强化学习,智能体可以学会根据市场变化调整投资策略,从而实现收益的最大化。
以上是 chatgpt 告诉我的强化学习应用,其实就个人来说,强化学习最多的应用领域还是打游戏,B 站上面有很多利用强化学习实现各种风骚操作打游戏的训练视频还是蛮有意思的,比如:
https://www.bilibili.com/video/BV1Dg4y137Cq
强化学习玩只狼;
https://www.bilibili.com/video/BV1nD4y1j7QL
强化学习玩空洞骑士;
反正看到上面这些我是觉得酷毙了(绝对不是因为我玩的菜)。所以简单的说,强化学习(Reinforcement learning,RL)是一类机器学习算法,用于描述和解决有智能体(agent)和环境(environment)交互的问题。在强化学习中,智能体通过与环境不断交互、观察环境和执行动作来学习最优策略,以达到最大化某种累积奖励的目标。
▌ 2. 强化学习三个要素
具体来说,强化学习通常涉及以下三个要素:
1.
状态(State):描述智能体所处的环境状态。
2.
动作(Action):智能体可以采取的动作。
3.
奖励(Reward):智能体根据执行动作和观察结果获得的奖励。
强化学习的核心思想是基于试错学习,即智能体通过尝试不同的动作并观察结果来逐步调整自己的行为策略,以取得更高的奖励。
通常,强化学习算法会利用
回报(reward)或价值函数(value
)来评估一种行为策略的好坏,并在学习过程中不断更新和调整该策略,以达到最大化累积奖励的目标。
构造只有动作和奖励的环境
对于我们来说,一开始直接从三个要素开始进行可能会比较困难,那么我们可以从一个简单的环境入手,这个环境只有动作和奖励,是
多臂抽奖机器(multi-armed bandit,MAB)问题
。