非常感谢你 Pieter
今天来参加访谈
我想很多人觉得你是一个
知名的机器学习 深度学习 和机器人学研究者
我希望能让观众们听一听你的故事
你是如何最终走上了现在的道路的呢?
这是个好问题 其实如果你问14岁的我这个问题
我要立志做什么
问题的答案大概不会是这些
实际上 在当时
我认为成为一名专业篮球运动员应该不错
但我觉得没有能力实现那个目标
我感觉 对机器学习来说这是一件幸事
因为篮球的打算没能实现
对 篮球之梦没有实现
虽然打篮球本身非常有乐趣 但是
把它当成事业却行不通
我在学校时真正喜欢的是物理和数学
所以 在此基础之上
学习工程 就是很自然的事情
因为工程就是物理和数学在真实生活中的应用
事实上 在我本科修完电气工程之后
我不太确定接下来应该做什么 因为
事实上 任何工程学科都我都有兴趣
像是理解世间万物是如何工作的就很有趣
尝试去建造一些东西 也是有趣的
在某种意义上
人工智能是最有意思的 因为看起来
它能够从某种方式上对所有的领域都提供一些帮助
同时 它看起来也更接近万物的核心
你得去思考如何让机器思考
也许这一点比选择任何具体领域都更接近万物的核心
我曾说过人工智能就是新时代的电力
这么听起来你早在14岁时
就更早地提出那种想法了
在过去几年中 你在深度强化学习中做了许多工作
当中发生了什么? 为什么深度强化学习突然间就火了呢?
在我从事深度强化学习的工作之前
我做过很多 强化学习 的工作
当然 正是与你和Durrant在斯坦福一起完成的
我们曾经研究过直升机自动飞行
之后在伯克利我和我的学生
研究了如何让机器人学会叠衣服
这些工作的特点是一种机器学习技法
它能够使得之前不可能的一些事情成为可能
另一方面 学习还需要辅以许多领域知识才能成功
这很有意思
因为收集所需要的那些领域知识
这个过程很有趣 但是同时
想要在新任务上取得不错的效果 这一步就会变得很费时
总之你既需要领域知识也需要机器学习的专业知识
在我看来 深度学习是起于2012年
多伦多大学的Geoff Hinton研究组在ImageNet数据集上的突破
AlexNet的结果表明 一夜之间 为某个专门领域
完成监督学习所需的工程努力就突然可以减少很多
在AlexNet中 机算机视觉方面上的专门工程设计是很少的
这件事让我认为我们需要重新审视强化学习
从同样的视角去审视强化学习 来试试看
我们是否能提出一种深度强化学习方法
就像深度监督学习一样 完成同样有趣的事情
所以 听起来你比别人更早看到
深度强化学习的潜力
那么现在展望一下未来
你觉得接下来的会怎样呢?
你对于未来深度强化学习的
发展趋势有何预测呢?
我认为深度强化学习中有趣的地方在于
在某种意义上 深度强化学习比深度监督学习存在更多问题
监督学习的主要内容是习得从输入到输出的映射
而在强化学习中甚至存在着 这些数据究竟从哪里来? 这个观念
所以那就是探索(exploration)问题
而有了数据 又如何做信用分配(credit assignment)呢?
你如何弄清楚之前哪个动作导致了之后的反馈呢?
再接下来 还有安全问题
当你让一个系统去自动收集信息时
大多数情况下其实是蛮危险的
想象一家自动驾驶汽车公司说
"我们打算运行深度强化学习方法"
那就很有可能导致他们的车
还没学到什么就惹出不少的车祸吧
你需要一个这个方面的反例 是吗
你确实需要一些反例啊 是的
不过也需要正面的例子的
我认为在深度强化学习中
还有为数不少的挑战
主要是在于明白让方法起作用的细节上
深度 是指表现(representation)这一层
而强化学习 这部分本身依然有很多问题
我的感觉是
随着深度学习的发展
强化学习中的一部分 不管怎么说已经很大程度上解决了
也就是表现(representation)的部分
比如说 如果数据中有一种模式
那我们大概可以用一个深层网络来概括 并表现它
但是如何把这个模式解构成不同的部分在强化学习中还是一个大挑战
我认为大的挑战包括
如何使得系统能够在长的时间视野(time horizon)上进行推理
目前 我认为在深度强化学习中
很多的成功的算法都仅限于很短的时间视野
在那些问题中
如果模型在五秒的时间视野内表现良好
那就表示在整个问题中表现都良好了
而五秒钟的视野却是很不同于一天长的视野的 或者说很不同于
作为一个机器人或某个软件主体的生存一生的能力的
我认为在这里有许多挑战
我认为关于安全就有许多挑战 比如说
如何安全地学习 以及
如何在已经学习得比较好的情况下继续学习?
所以如果要再举一个例子的话
举一个很多人都熟悉的例子 自动驾驶汽车
如果自动驾驶汽车的表现想要超越人类的话
假定人类驾驶员每三百万小时才卷入一场恶性交通事故
那么当你已经和人类驾驶员一样好时
想要获得负面样本就要花很长时间
但你的目标却是让自动驾驶汽车比人类驾驶员更优秀
所以到那个时候 得要有意思的样本才能让系统继续改善
而那种数据的获得就会变得非常非常困难
关于探索问题的这部分 有许多相关的挑战
但其中我最感到兴奋的一件事情是
看看我们能否退后一步 转而学习强化算法本身
强化学习算法很复杂
信用分配很复杂 探索也是很复杂的
所以 可能就像在监督学习中
深度学习可以替代很多领域专家的知识
或许我们也能通过学习来得到程序
得到一个强化学习程序 来完成所有的事情
而不是由我们来设计其中的细节
只是学习奖励函数还是学习整个程序?
这里要学习的是 整个强化学习程序
也就是 想像一下
你有一个强化学习程序 无论是什么样的程序
然后你丢给它一个问题 看它能用多少时间完成学习
然后你看到 嗯 这用了一些时间
然后你让另一个程序来修改这个强化学习程序
在修改之后 再看它学习的速度有多快
如果它学习得更快
那这个修改就是好的 你可以保留它 再在其上提升
嗯 明白了 这可是个很远大的目标
我觉得有一件事情与之关系很大
也就是我们现在能动用的计算力
因为这相当于把强化学习算法放在循环内层
而现在强化学习算法却是最终目标
所以我们的计算力越强的话
那就越有可能 能够把类似强化学习这种任务
放进某个更大的问题的内层循环当中去运行
从你14岁时开始
你已经在人工智能领域工作了20多年了
告诉我一些你对人工智能在这些年中取得的进化的理解吧
当我开始接触人工智能时
我觉得它很有意思 因为
当时恰逢我来斯坦福念硕士
所以我得以与一些标志性人物交谈 比如John McCarthy
他对人工智能有非常不同的见解
在2000年时
他做的事情与大多数人不一样
然后我还得以与Daphne Koller聊过
我想Daphne的思考塑造了我对于人工智能许多最初的想法
她的人工智能课程 和概率图模型课程
当时让我觉得很着迷的是
就是一个简单的许多随机变量的组合分布 然后在一些变量上
加上限定条件 并在其它变量上做出结论
就能让你获得如此丰富的结论 只要它是可被计算的
能让图模型的计算变得可行 着实是一项挑战
从那以后
当我开始念博士时 你来到了斯坦福
我想你给了我一个非常好的在实践中检验的机会
让我知道那并不是评价一项工作的正确标准
正确的标准应当是 看到你正做的工作
与它能真正对现实产生的影响之间的联系
应该看你能带来多大改变 而不是你的工作中的数学技巧
对吧 太令人惊讶了
我没想起来 我不记得了
是的 这个问题其实是人们经常问的问题中的一个
就是 吴恩达的建议中有哪一句令你至今记忆犹新
那就是你要看到工作与现实影响之间的联系
你目前的人工智能生涯相当成功 并且成功还在继续
所以 对于那些正在收看视频的观众们
如果他们也想进入或从事人工智能方面的工作
你有什么给他们的建议吗?
我想现在是进入人工智能领域的非常好的时间
你看人们对这个领域的需求是如此之高
有这么多的工作机会
有这么多可做的事情 无论是研究
还是创立新公司 还是其它
所以我会说 是的 决定去从事人工智能绝对是明智的决定
有许多东西 你可以自学
无论你还在学校 或是不在学校
有许多在线课程 比如说
您的机器学习课程
还有 比如说
Andrej Karpathy的深度学习课程 在网上都有视频
这都是很好的开始学习的方式
伯克利也有一门深度强化学习课程
那门课程所有的课件也都能在网上看到
所以这些都是很好的开始学习的地方
我认为有一件非常重要的事情 就是确保你亲自去动手做
不光是读文章或看视频 而是要动手尝试
现在有很多深度学习框架 比如Tensorflow
比如Chainer, Theano, PyTorch 等等
无论你喜欢什么
都能够很容易地开始 很快搭建起一个能运行的东西
亲自动手练习 对吗?
通过实现来看什么方法行得通 什么行不通
上个星期 在Mashable网站上有篇文章
讲的是英国的一个16岁的少年
在Kaggle比赛中名列前茅
文章中说
他就只是开始 去着手开始学习了
在网上找到了素材 所有东西都自学
而没有参与任何正式的正儿八经的课程
一个16岁的少年都能在Kaggle比赛中名列前茅
所以自学当然是可能的
我们活在一个好时代
人们想学习就能学习
完全正确
我想你经常被问到的一个问题是
如果某人想进入人工学习 机器学习或深度学习领域
他们应当申请一个博士项目 还是应该去大公司找一个工作呢?
我觉得很大一部分应该取决于你能得到多少的指导
在博士项目中
你的指导能得到有力保证
因为教授 也就是你的导师
他的职责就是
密切照看你的研究
做一切他们能做的事情
去从某种意义上塑造你
助你在想做的任何事情上变得更强 比方说人工智能
所以总是有一个专注于你的人 有时你还会有两个导师
他们的工作就是指导 也就是他们身为教授的原因
他们大多数当教授最喜欢的一点是能够
帮助塑造学生 增进他们的才能
不过这不意味着在公司就不可能学习
因为有很多公司有很好的职业导师
他们热爱的事情是教育人 加强人 等等
区别在于 相比博士项目 这种指导的保障并不是那么强
因为博士项目的关键之处就是
你是想学习的 并且有一个人帮助你学习
所以确实要看具体公司和具体博士项目的
当然是的 所以关键还是 自学能学到的也是相当之多
但如果有更有经验的人相助 你的进步速度能快得多
特别是当这样的人
将花费时间加速你的进步作为他们的责任时
所以你已经是深度强化学习领域中最有名的带头人之一
所以有什么事情
是深度强化学习已经能做得很好了的呢?
我想 如果你去看一看深度强化学习的成功案例
你会觉得非常非常吸引人
比如说 通过观察显示的像素来玩雅达利(Atari)游戏
通过处理这些像素 也就是一堆数字
像素以某种方式处理 变成操纵杆操作
另一个例子是 我们在伯克利完成的一些工作
我们模拟了一个机器人 它悟出了走路技巧
我们给它的回报只是简单的 一直向北走 走越远越好
对地面的施力用得越小越好
然后机器人就以某种方式做出决策 发明了 走路/跑步 的动作
而甚至并没有任何人告诉它走路和跑步是什么样的
或者把儿童故事片段给机器人 让它学习如何把片段组合起来
把一段内容与故事开头匹配起来 等等之类的
所以我认为在这所有事情中有意思的是
从原始感官输入 就能学习出 最终的控制动作
比如说 输出马达的力矩
但在同一时间
所以有意思的是 你只需要有一个算法
比如说 通过推力轨迹优化算法
你能让机器人学习跑步
让机器人学习站立
你可以在教完双腿机器人之后
把它换成一个四腿机器人
你可以用同样的强化学习算法让机器人学习跑步
所以强化学习算法本身并没有变化
它是非常通用的 这对雅达利游戏也是适用的
对于每一个游戏的深度Q-网络(DQN)是一样的
不过还有一些前沿研究方向上的东西
是现在尚不可能的
目前 它只能从头开始学习每个任务 这并不差
但是如果能重新利用之前所学的知识就更好了
这样对下一个任务的学习能够完成得更快
那还是前沿研究题目 目前还不可能
实质上它每次都是从头开始学习的
那你认为还要多少时间
深度强化学习就会被布署在我们身边的机器人里
这些正逐渐进入我们的世界的机器人里
我认为在实践中 比较实际的情况是
它会从监督学习的方式开始
行为模仿 也就是还是由人类进行工作
我认为有许多商业化部署会是这样的
就是在后台有许多人类在工作
比如Facebook Messenger助手
这个助手可以在后台有一个真人
在幕后做许多工作 而机器学习技法
则是对人类进行匹配 为人类提供行动建议
给人类少数选项以供选择 这样人就只要点选就行了
然后当时间渐长
机器在任务上也表现良好
你就会开始将强化学习融合进来 给机器提出实际目标
并不只是与后台的人类进行匹配
而是给予带有奖励的目标
比如 这两个人要多久才能商定好会议时间
或者他们预订一张机票要多少时间
或者其它 能用时间衡量的事情
或者 他们的满意程度如何?
这可能需要利用自助法(bootstrap)
从大量对人类的模仿中明白这些任务如何达成
所以听起来行为模仿就是 先用监督学习
来模仿人类做的无论什么事情 之后渐渐地
用强化学习来让机器从更长时间视野上去思考
这样的总结合适吗?
我觉得可以的
因为从头开始的强化学习观察起来相当有意思
非常引人入胜 没有太多东西比这有意思
能胜过看一个强化学习机器人从零开始 开始学会新本领
只是它很耗时而且并不总是安全的
非常感谢 非常有意思
能一同交谈 我感到非常荣幸
谢谢你Andrew 感谢你邀请 我也非常感激