diff --git a/.vitepress/config.js b/.vitepress/config.js index 9b6431c..49a4f88 100644 --- a/.vitepress/config.js +++ b/.vitepress/config.js @@ -419,6 +419,15 @@ export default defineConfig({ { text: '4.6.8.9MoCo v3', link: '/4.人工智能/4.6.8.9MoCo v3' }, { text: '4.6.8.10总结', link: '/4.人工智能/4.6.8.10总结' }, ] + }, + { + text: '4.6.9深度强化学习', + collapsed: true, + items: [ + { text: '4.6.9深度强化学习', link: '/4.人工智能/4.6.9深度强化学习' }, + { text: '4.6.9.1前言', link: '/4.人工智能/4.6.9.1前言' }, + { text: '4.6.9.2基础资料推荐', link: '/4.人工智能/4.6.9.2基础资料推荐' }, + ] } ] }, diff --git a/4.人工智能/4.6.9.1前言.md b/4.人工智能/4.6.9.1前言.md new file mode 100644 index 0000000..e4bc317 --- /dev/null +++ b/4.人工智能/4.6.9.1前言.md @@ -0,0 +1,21 @@ +# 前言 +强化学习已经是一门很老的内容了,这从它被列为和监督学习与无监督学习并列的三大基本机器学习算法就可以看出来。但是在和深度学习结合后,强化学习焕发出了属于它的第二春。 + +虽然如此,但笔者还是必须提醒各位读者,强化学习相较于CV/NLP来说,仍然是一个非常冷门的方向,这不是没有原因的。总结原因如下: + +1. 强化学习概念繁多芜杂,并且没有办法绕开:作为一个研究强化学习的人,你得理解整个交互过程,绕不开的概念包括但不限于:智能体(agent)、环境(environment)、状态(state)、动作(action)、奖励(reward)、动作价值函数(Action-Value Function)、状态价值函数(State-Value Function)等。这足以使一个初学者头大。 + +2. 强化学习涉及的数学知识较为高深,需要奠定较好的数理基础才能理解公式以及概念。马尔可夫过程作为强化学习最基本的模型,所需的前置知识包括以下内容: + 1. 概率论与数理统计,用于描述MDP模型。 + 2. 线性代数,用向量来描述状态与动作。 + 3. 统计学理论,众多算法都是基于统计学推导出来的。 + 4. 最优化理论,众多算法都属于优化算法的范畴。 + 5. 微积分,这是所有机器学习的内容都需要掌握的知识。 + + 如果你不喜欢推导公式,那么强化学习对你来说可能并不是那么适合。 + +3. 强化学习应用范围以及未来就业市场较为单一。研究强化学习的方向倒是很多,博弈论、资源分配优化、游戏、推荐等领域都能见到强化学习的身影。但是根据笔者的观察,强化学习将来的就业岗位较为单一,一般只有游戏公司招收强化学习相关的岗位。 + +4. 强化学习固有的弊端,包括但不限于采样效率令人堪忧、奖励函数的设计过于玄学、学术领域的严重灌水以及源码的难以复现等。这对初学者造成了极大的困扰。 + +综上所述,强化学习是一个“有坑”的领域,入坑需谨慎!!!当然了,如果只是喜欢训练智能体“打游戏”,那么平台上存在着众多的源代码项目可供参考,祝你玩得愉快! \ No newline at end of file diff --git a/4.人工智能/4.6.9.2基础资料推荐.md b/4.人工智能/4.6.9.2基础资料推荐.md new file mode 100644 index 0000000..6b2e107 --- /dev/null +++ b/4.人工智能/4.6.9.2基础资料推荐.md @@ -0,0 +1,34 @@ +# 深度强化学习基础资料推荐 +1. 书籍:周志华《机器学习》(西瓜书)关于强化学习的部分,作为概念引导和初步理解。 + +2. 书籍:Sutton《Reinforcement Learning》,强化学习圣经,推荐作为参考书查阅而不是硬啃。 + +3. 网课:王树森《Deep Reinforcement Learning》,课件是英文的授课是中文的,概念讲的非常清楚而且形象,强推。 + + Github课件链接: + + 网课链接:[深度强化学习-王树森(Youtube)](https://www.youtube.com/watch?v=vmkRMvhCW5c&list=PLvOO0btloRnsiqM72G4Uid0UWljikENlU)。 + +4. 网课:CS285,无论是csdiy还是主流资料推荐的网课,但是笔者的英语听力不怎么能跟上老师上课的语速,也没有找到有中文字幕的版本,推荐作为进阶资料使用。 + + 项目链接:[CS285:Deep Reinforcement Learning](http://rail.eecs.berkeley.edu/deeprlcourse/) + +5. 书籍+网课+实操:张伟楠《Hands On RL》(动手学强化学习),有书+有代码+有网课,不错的整合。但是配套网课质量只能说还可以,代码可以看看。 + + Github主页: + + 电子书版:[动手学强化学习](https://hrl.boyuai.com/chapter/intro) + + 网课链接:[伯禹学习平台](https://www.boyuai.com/elites/course/xVqhU42F5IDky94x/lesson/O1N8hUTUb4HZuchPSedea) + +6. 项目:OpenAI Spinning up,强推,动手做项目以及体会强化学习的快乐才是真谛所在。 + + 项目主页:[OpenAI Spinning up](https://spinningup.openai.com/en/latest/index.html) + +7. 资源:机器之心 SOTA!模型资源站,一站式查看原理+概论+代码+论文原文。 + + 网站主页:[机器之心 SOTA!](https://www.jiqizhixin.com/columns/sotaai) + +8. 论坛:RLChina,讲课的确实都是大牛,但是感觉略有枯燥。有时间表安排,适合希望自律、有规划地学习的同学。 + + 论坛主页:[RLChina](http://rlchina.org/) \ No newline at end of file diff --git a/4.人工智能/4.6.9深度强化学习.md b/4.人工智能/4.6.9深度强化学习.md new file mode 100644 index 0000000..4de0413 --- /dev/null +++ b/4.人工智能/4.6.9深度强化学习.md @@ -0,0 +1,11 @@ +# 深度强化学习 +前面已经介绍过强化学习(RL)的基本概念了,这里着重介绍深度强化学习(DRL)。 + +在笔者浅薄的理解里,深度强化学习的本质还是一个强化学习的问题,只不过引入了深度学习里的深度神经网络用于拟合函数。在传统的强化学习中,我们有一张表格用于存储状态以及动作的值函数。 + +很显然,在状态和动作空间较少的情况下,无论是存储这张表格还是查找这张表格都是轻而易举的。但是在复杂的环境下,继续使用这种方法会出现维度灾难,我们不得不使用函数逼近的办法来估计值函数。 + +这时候深度学习便加入进来与强化学习相结合,可以利用深度学习能处理高维、非线性数据与具有强大的学习能力这两个特点来逼近这个值函数并且提取特征,从而处理复杂状态下的问题。 + +也正是基于此,笔者在后续不会刻意区分强化学习与深度强化学习,因为他们的目标是一致的。这也是为什么本内容会放在深度学习的大模块下,而不是另外单独起一个强化学习模块的原因。 +