学习栗 发自 凹非寺 量子位 出品 | 公众号 QbitAI
△ 开学了,终于可以名正言顺地学习了
今天才9月12日。不过,加州伯克利已经开课3周了。
深度强化学习课程CS 294-112,当然也不例外。
8月22日到现在,从行为的监督学习,讲到了策略梯度和演员-评论家,前六节课的视频已经放出来了。
教授在这门课的主页上说,不是网课不是网课,但依然会把课件和视频都挂在网上,还有直播。
△ 一周两节课,还好还好
当然,国内的各位同学,如果想守着直播,美国西部的时差可能还是有些深重。
反正油管可以回看。
学习,学习一会儿
要上这门深度强化学习,要先上过CS 189,那是机器学习基础课。
有了基础的大家,来看一下CS 294都会涉及哪些内容:
如上图,课程分为六大部分:
1. 从监督学习到决策 2. 无模型算法:Q-学习,策略梯度,演员-评论家 3. 模型学习和预测 4. 探索 5. 迁移与多任务学习,元学习 6. 开放式问题,学术报告,其他教授来上课
和去年秋季CS 294的区别,就是把“探索 (Exploration) ”拎出来,单成一个版块,并且有两堂课专门用来讲这个问题。
在没有任何已知信息的环境里面,AI要自己去探索世界,一切知识体系都是在试错过程中建立的。
△ 蒙特祖玛的复仇:对强化学习非常不友好,奖励很复杂
而在探索过程中,更多的未知变为已知,就有了探索未知和利用已知这两种选择。
机器需要取舍,是在已知范围之内,求取奖励最大化,还是跳出已知范围,寻找更大的奖励。
这是强化学习里,非常重要又非常复杂的一个问题。
不过,这门课要到后半学期,才会讨论到这个问题。那时候,想必大家的课业已经很紧张,还要分给它不小的精力,会很辛苦吧。
所以,先别想太远的事,看看最近。
9月7日,同学们刚刚上完的第六课,讲的是演员-评论家算法。
强化学习的训练是一个回合 (Episode) 一个回合进行的。如果只用策略梯度 (Policy Gradient) ,就只能在每回合结束时,更新一次策略。
但有了评论家 (Critic) 之后,演员 (Actor) 每走一步,评论家都会为它的行为打分。
这样一来,每个行为的概率会发生变化,每一步的策略就会有更新。
这节课只是个Intro,看上去要友好许多。
△ 第七课,即将发射 (放大看图更开心)
今天 (国内的明天凌晨) ,就又要上课了。第七课的标题是:价值函数和Q-学习。
压力提示:去年秋季的CS294,是把价值函数和Q-学习分开,用两节课讲完的。
用的什么教材
虽然,教授也并没有按着哪本教材来上课,不过还是列了一个书单给大家参考。
第一本,是来自Ian Goodfellow等人的《深度学习》“花书”。
后面,可能就是对强化学习的小伙伴们,更有针对性的教材了:
Sutton & Barto, Reinforcement Learning: An Introduction http://incompleteideas.net/book/the-book-2nd.html Szepesvari, Algorithms for Reinforcement Learning http://www.ualberta.ca/~szepesva/RLBook.html Bertsekas, Dynamic Programming and Optimal Control, Vols I and II http://www.athenasc.com/dpbook.html Puterman, Markov Decision Processes: Discrete Stochastic Dynamic Programming http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471727822.html Powell, Approximate Dynamic Programming http://adp.princeton.edu/
也推荐了网课
在CS 294的资源表里,教授还列出了一些网课。这样,同学们可以在课余时间,继续补课。
不止是补Hinton和吴恩达老师的课:
Geoff Hinton on Coursera https://www.coursera.org/learn/neural-networks Andrew Ng on Coursera https://www.coursera.org/learn/machine-learning/ David Silver’s course on reinforcement learning http://www0.cs.ucl.ac.uk/staff/D.Silver/web/Teaching.html Nando de Freitas’ course on machine learning https://www.cs.ox.ac.uk/people/nando.defreitas/machinelearning/ Andrej Karpathy’s course on neural networks http://cs231n.github.io/
希望大家,都是不会厌学的好孩子。
教授是谁呢?
CS 294-112课程,是助理教授Sergey Levine在讲课。
曾经在谷歌大脑工作过的Levine,主要研究用于机器人操作的强化学习算法。
2016年,MIT科技评论选出了35位35岁以下的创新者,当年29岁的Levine赫然上榜。
2017年春季,CS 294首次开课,Levine是三位讲师之一。从那年秋季开始,他已经是这门课唯一的讲师了。
课程主页 (下拉有课件) : http://rail.eecs.berkeley.edu/deeprlcourse/
课堂视频: https://www.youtube.com/playlist?list=PLkFD6_40KJIxJMR-j5A1mkxK26gh_qg37
课堂直播: https://www.youtube.com/c/CalESG/live
旧版课程 (Fall 2017) : http://rail.eecs.berkeley.edu/deeprlcourse-fa17/index.html
p.s.伯克利的计算机楼,名字是真的清爽。