AIWTB开发者线上大会,机器之心对话Pedro Domingos、Ian Goodfellow

2016年9月底,由 beMyApp 主办(一家专门做 hackthon,dev training 和线下 meet up 的公司),机器之心作为官方合作伙伴合办的 AI With the Best 人工智能开发者线上会议正式召开。该大会为期两天,超过 100 位人工智能领域的 CEO、CTO、架构师、研究人员以及开发者进行了线上分享,分享主题涉及机器学习、自然语言处理、计算机视觉、聊天机器人、深度学习的未来等诸多话题。此次线上分享分为 Presentation 和问答两个环节,在问答环节机器之心与分享者中的多位大牛进行了互动。此篇文章包含与华盛顿大学教授、热门机器学习畅销书《主算法(The Master Algorithm)》作者 Pedro Domingos、BYOR 数据科学家兼联合创始人 Arein Kim、OpenAI 科学家 Ian Goodfellow 的 Q&A 整理。


640.jpg

Q&A

一、Pedro Domingos

640 (1).jpg


问:您认为哪些人工智能技术有望比肩深度学习?


答:正如你在演讲中看到的,我想说深度学习只是机器学习五个自然范式中的一个,除此之外还有很多其他思路。如果你看过我的书,就会了解强化学习等其他范式。如果你看机器学习的历史的话,会发现深度学习等方式不是当时人们想要的。连接主义如今已经是第三次回归,根据过去经验来看,它五年之后应该会再终结,被其他东西所取代。我也很难说到底什么会取代深度学习,但我能告诉你的是我正在研究的且我认为有可能成为替代物的东西。比如说人们已经发现视觉主义和象征主义取得了令人满意的成果。所以我认为这可能就会成为下一个大事件的来源。


还有一种可能是出现一种全新的范式。我正在研究的一点就是基于对称理论的学习。因为对称和群理论是理论物理学和很多数学问题的基础,而且可能还会对机器学习产生很大的影响。因为时间关系,我可能没办法详细说明。


问:你曾经写过一本叫做《主算法》的书。请问你认为对终极算法的追求将会如何重塑我们的世界?为什么你会说,「如果大数据主义(dataism)是今天越来越重要的哲学,那么这本书就是它的圣经」?你是如何看待大数据主义的?


答:有一位叫做 David Brooks 的神经科学家在写一些关于大数据的东西。他认为大数据主义在今天的哲学领域中越来越重要。那什么是大数据主义呢?我认为是基于数据进行决策。就像是基于证据 X 进行推理,不管 X 是什么。如果他说的是对的,那么这就是现在每个人都应该了解的哲学。即使你自己并不从事数据分析相关的工作,你也需要了解数据分析是什么。这就是这本书要说的。这就是为什么说从某种意义上来讲大数据主义成为了一门越来越重要的哲学,而从这个层面来看,这本书确实可以被看作是普通人理解大数据主义的圣经。因为不管你是用户、消费者还是普通市民,或者是即将开始科学家事业的人,还是想要有一个更好的看待世界的视角,你都可以通过阅读它快速了解算法。


问:大数据主义会与人本主义产生矛盾吗?


答:完全不会。实际上,大数据主义是人本主义的延伸,因为我们所有的机器学习、所有的算法、所有的人工智能系统都是为了服务我们而存在的。它们是我们设计用来满足我们的需求和愿望的。虽然说现在有这个趋势说人工智能可能会走向人类的对立面,但实际上是相反的。它们是为服务我们而存在的,是为了让我们的生活更好,比如自动化一些重复性的工作。如果你是基于数据进行决策,那么这个决策很可能比我们依靠直觉所做出的决策更好。


问:您从「数据挖掘」的研究生涯中所获得的让你印象最深刻的经验/教训是什么?


答:这很难选。但有一点我很想教给我的所有学生:当你有一个问题要解决(学习问题、应用问题)时,应该优先选择使用哪一种学习方式。很多人学了机器学习就只用机器学习,学习了深度学习就只把深度学习应用到所有的问题当中。如果你看看 Kaggle 比赛,你可以看到有时候深度学习获胜,有时候是机器学习获胜,有时候赢家用的则是符号方法的随机森林决策树。所以你不能事先说哪种方法对你的问题最好,只能尝试许多不同算法、许多不同版本。第二天,你也许就能从这些算法中选择合适的一个来解决问题了。但不管怎样,我们要知道涉及到数据的学习会带来更多知识、更多假设。


问:你的《主算法》一书中一个思考是机器学习可能会在未来几年被「深度类比(deep analogy)」主导,你认为我们离这一情况还有多远?还有其它有望融合和统一不同学习方法的新方法吗?


答:首先,现阶段已经在实施深度类比算法了,我们希望能将其提交给下一届 ICLR。我们常常称之为组成核心机器的东西。当然还要提醒一点,它是机器的核心,但是它又是组装式的。所以它有和核心系统一样的逻辑运算能力。


问:你认为创造一个在高维空间上反映自然语言的算法能够刺激产生真正的智能吗?


答:这个说法现在很流行,你知道的,单词嵌入法意味着每一个单词都在向量空间内,并且相似意思的单词相距不远。我认为这样很好,也是正确的方向,但我清楚地意识到这并不能组成所有的方法。因为它没有了解自然语言最基本的特征,语义合成性。人们只是将嵌入单词的向量空间与语义合成结合在一起。但我认为这可能是一条有希望的道路,比如说德州大学奥斯汀分校的 Raymond Mooney 和他的团队实际上就是将这种嵌入单词的方法与围观逻辑相结合,这样你就有了逻辑和图表模型上的依据,而且你可以在词嵌入的最高维度进行研究。所以我认为我们都在做的这个领域,但并不是所有问题的解答,暂时还不会产生真正的智能。它只是我们往正确方向迈出的一小步,我也希望朝着这个方向,人们能走更远,能和其他的一些事物相结合最终达到真正的智能。


问:层级处理在整个学习算法中是在哪里开始起作用的?


答:我可能没有时间深入讨论这个问题。最有希望变得更有效率的部分是计算效率,我们最近所做的研究很有效率,因为它是建立在层级组织上。在人工智能上面有一个长期存在的思想,并且反映在类层级上,面向对象程序就是建立在这样的类层级上。类层级同样也是层级群中的一部分,所以对象就有了一些分部,而分部又会有一些下属的分部。我们确实是有基于这些分部层级来标记逻辑的方法,并且在一般情况下这些方法是很有力的。虽然不像全标记逻辑那样通用,但是能通过使用这些层级确定属性,对算法效率是有巨大影响的。跟我谈过的心理学家也说过假定我们已经制造了和我们自己差不多的事物,那么它们也会知道我们人类会做这些假设。所以层级处理在人工智能上是十分重要的,最后的算法当然不是这个,主算法要比它更加接近,也会有更多的相互影响。同时我们还得记住,我们已经在一些特殊的情况下使用它了,比如说图像识别,所有你知道的算法都是其中的一个层级。


问:机器学习领域的飞跃是来自学术或者是工业?


答:我不能准确地回答这个问题,不过我认为它涉及了这两个方面。我认为学术界和工业界对机器学习的贡献是不同的。短期的技术提升更可能是由工业驱动的,因为机器学习现如今对许多公司都很重要,而且他们也有足够的资源来做这样的事情。然而他们也有一些短板,工业是要求生产没有脱离市场的产品。所以我认为学术可能会激发更大的飞跃,会产生更深入的思考与观点,这些思想甚至会在主导这个领域十多年的走向。所以我认为学术和工业对机器学习都扮演了很重要的角色,更重要的是需要一些人才将学术与工业应用连接起来。


问:您对结合了现存各种技术提供并行解的混合算法怎么看?


答:当然,现在你应该可以看得出我是十分相混合算法的,这要比简单的聚合更加深些。比如说你能使用栈堆,能使用集合了各种方法的模块,只需要保证它们正常运行就行了。我学了决策森林、神经网络和其他机器学习方法,然后再学习一些方法将这些给集合起来,这就是堆栈所做的事情。这样做出来的东西很好,我建议如果有人有实际问题,可以试试这类模型。但是公正地说这样的聚合有些太浅了,我们需要一个更深一些的聚合。就像麦克斯韦方程组那样将磁与电效应有深度地统一在一起。不然就会像电力方程那样在平常是正确的,但到了关键时刻就失效了,这样是不是很可笑。所以我希望看到将机器学习范例在深度上统一起来,而不是简简单单地堆放在一起。


问:能在本地而非云端做人工智能吗?


答:当然可以。人工智能的很多用户都是在本地做。但在云端做的好处有:1. 有大量的计算能力,这也是为什么 Siri 不能本地识别语音的原因,它在云端识别语音。因为相比于手机有限的计算消耗,它在云端有更强大的计算能力;2. 机器人能在云端贡献知识。这是如今自动驾驶汽车有效工作的重要原因,因为它有积攒了百万行程的知识。例如,Uber 这样的公司在未来就会有一列自动驾驶车队,它们之间能共享信息。家庭机器人也是这样,如果每家都有一台家庭机器人,它们也能共享各自学到的内容,这样它们就能很快地进行学习。我们人类的神奇之处就在于我们能通过语言进行交流,并且能够通过这种方式学到很多东西,这也是我们比其他动物更加优秀的原因。但其中的问题是计算机不像人类那样能很好的学习。


问:你曾经说过我们不能提前预知我们可以使用的算法,那意思是不是说问题之间的联系是无法探寻的,我们只能考猜想呢?


答:不,并不是这样的。事实上,或许就是因为没有一种算法能够解决所有的问题,所以弄清楚问题的本质就显得尤为重要。因此对于数据科学家来说,其中一件最重要的工作就是通过和应用方的人交谈,弄清楚要解决的问题。如果你有商业上的问题要解决,那就去找那些业务部门里有十多年处理类似问题经验的人交谈,这在你选择算法、算法的参数、数据类型,怎样部署解释的结果等过程当中都是非常有用的。而这些过程当中都涉及到了数据和知识的交互,一定程度上也是数据科学家和各领域专家之间的交流。这些事情都是我们需要去做的一些很重要的事情。但是在实施的过程中,可能会受到直觉和其他的一些未知的因素的影响。比如说像是开车,光靠看书你是无法学会开车的,你必须得自己亲手去开。你需要做的是汲取经验,等到新的问题来临时,你所积累的经验形成的认识会引导你去解决它。那些成功人们也是如此,还有那些虽然不是专家但是经历丰富的人,他们一般都能够弄清楚最好的特性是什么,然后再开始着手。而另外非常重要的一点就是利用各种算法和用途,建立算法的特性。


二、Aerin kim

640 (2).jpg


问:Phrase2vec 是继承了 word2vec 的思路和模型吗?Phrase2vec 如何在实际应用中确保低频率 phrase 的训练质量?


答:有很多好的方式可以将 word vector 转换到 phrases。大部分都被精调到需要 phrase vector 的应用中。例如,循环神经网络可以给出在情感分析中表现最好的 phrase vectors。开始 Phrase vector 的一个很好方式是简单地平均组成 phrase 的 word vectors,移除停止词(stop words)。就像你能想象的那样,这能呈现出它所组成的重要词汇。(以这种方式,低频率 phrases 也能轻易计算出来。)


问:Phrase2vec 的应用场景有哪些?在哪个场景中能产生好的效果?


答:BYOR 是一个非常好的例子,将人们的简历转换为 vector。Phrase2vec 有许多的应用场景。RNN 使用 Phrase2vec,它们也可被用于任何 NLP 应用。


问:在实际应用中,phrase vector 会在监督训练还是无监督训练中取得更高的质量?


答:监督训练中的质量更好,因为你知道自己在寻求什么。如果有标记数据,肯定要用一下。


问:从一个领域训练出的 phrase vector 能被轻易的迁移到其他领域吗?在工程应用中是否有例子说明?


答:好问题。在自己感兴趣的语料库上训练肯定是最好的(而且大部分情况下,质量更重要)。我曾尝试过在不同的语料库上训练不同的 vector,并在 BYOR 上进行测试。很难分清哪个更好,哪个更差。例如,Wikipedia 训练出的 vector 不同于新闻训练出的 vector。(因为它是无监督学习,你需要想出自己的度量标准来检测表现。)


我认为一些通用的词能被共享,但你想的是医疗应用,可以试试医学文档+新闻文章。


对工程应用我还没想过太多,我想类似的技术可用于计算机视觉,但我不是该领域内的专家。


三、Ian Goodfellow


640 (3).jpg


问:在高效训练 GANs 过程中遇到的主要困难有哪些?目前为解决这些困难做出了哪些努力?


答:最主要的问题是如何将待解决的问题转化为通过寻求 GAN 的均衡点来求解。在不同的问题中需要具体设计神经训练回路或者说如何设计 GANs 中的均衡方式,而不是通过最小化神经网络的目标价值函数求解。


问:这个创新性的研究在本领域内具有颠覆性吗?


答:实际上,在神经网络训练中,革命性结果的出现是有偶然性的,因为神经网络在训练过程中是通过梯度变化来指引训练更新的。最近一些很不错的应用使用了生成性对抗网络(GAN)来自主地协助艺术家。也许你自己的绘画能力有限,但在这些生成性对抗网络的应用中,你也可以自由创作。你可以先画出一个三角形,然后 GAN 会自动搜索具有类似特征的图片,并且将在你画出三角形的位置填充山的纹理,在你画绿色线条的地方填充草的纹理。


最近出现了一个非常类似的想法,也是关于对抗网络的。实际上我昨天才听说,它是图片应用上的同类想法。当你在图片上绘画时,生成模型将被用来使所绘制图片更具真实感。所以无论你画了什么,你都能得到一个更加接近真实场景的图像,并且你可以持续将绘画内容修改成你想看到的内容。我个人认为使用 GAN 的应用会越来越多。总的来说,GAN 是博弈论里的一个基于监督式学习的生成模型,可以被用于生成更真实的图片。目前,生成模型仍有很多有待继续完善的地方,但它们已经能满足很多不同类型图像的调整需求,未来生成模型所生成的真实感图片还很可能在更多的需求和领域中得到应用。


问:GAN 目前在人体特征相关的研究中表现不是很好,您认为主要原因是什么?


答:这个实际上有点难说。可能是因为训练算法不够好。目前部分比较好的算法只是为降低计算成本(即博弈中双方角色的交换)而设计的,并没有去寻求博弈双方的均衡点。举个例子,比如剪刀石头布的游戏,假设博弈双方都可以选择剪刀、石头和布。如果对手选择剪刀,而你选择石头,那么你就赢了。假设第一轮里你选择出石头,你的对手选择出布,那么你在本轮学习到了对手将会在下一轮出布,于是你选择下一轮出剪刀。同时你的对手也已觉察你将会出剪刀,于是下一轮选择出石头。如此竞逐下去,赢的一方始终保持赢,输的一方始终在输,从而不可能求得博弈的均衡点。这个博弈中的均衡点是你们分别出剪刀、石头和布的获胜概率。如果你的算法以较低的学习率(learning rate)进行学习,那么这样的学习实际上无法停下来。在这个例子中,其中的博弈是很简单的,只要降低学习率直到找到你的均衡即可。


对于生成性对抗网络,博弈的过程相比而言会复杂很多,仅通过降低学习率是不能保证一定可以求得博弈均衡点的。我们很可能需要一些专门的算法来预处理,或者需要重新构造游戏形式。这样一来,在较小的学习率下,通过不停的梯度下降迭代,最后会得到博弈均衡点。由此看来,这是一个相对困难的研究问题,包括我在内的很多研究者仍然在研究这个问题。


现在回到问题上来,怎么在涉及人体特征的研究中运用 GAN,比如说用以获取较好的 3D 纹理等等。在这些问题研究上,我们只需要去构建一个更复杂的网络结构。我们现在的训练网络层数不是很多,你可能需要使用层数非常多的神经网络结构来协调图片中的不同部分。


问:GAN 什么形式的应用能够成为商业杀手级 APP?


答:我觉得上面谈到的绘画自动协助功能已经可以被整合到既有应用中,比如成为 Photoshop 的一个功能。另一个是在语音合成上的应用,众所周知神经网络在语音合成上的表现越来越好了。DeepMind 最近发表了一篇关于 WaveNet 模型的论文,这种模型可以生成非常拟人化的声音。但是 WaveNet 有一个突出弱点,输出生成语音的速度非常慢,原因是这个模型只能一次输出生成语音的一个部分。比如要让 WaveNet 生成 12 kHz 的语音,那么你需要依次运行 12000 个神经网络,其中每个神经网络接收前一个的输出作为输入,这意味着需要 2 分钟才能生成 1 秒语音。对于这样的神经网络,实时谈话是不可能实现的。当然改进软件和硬件可以帮助它加速,但要实现 WaveNet 实时语音生成,我们可能还需要好几年的时间。理论上,生成性对抗网络这样的网络结构可以非常快的实现文本-语音合成。


问:可以怎样生成反馈回路(feedback loop)?


答:第一步还是得到输入的前向输出结果,只不过下一步的预测是在时间序列(视频流)中得到,跟 WaveNet 的网络训练方式相同。你可以直接将 WaveNet 的网络结构用于你的生成网络,同时反向传播算法也完全可以正常运行。


问:如果生成更大维度的输出图片,训练难度会加大吗?


答:增大输出图片的维度不是一个很难的问题。我目前处理的最大图片维度是 128×128,但是 Facebook 已经在处理维度为 256×256 的图片。借助卷积算法可以方便生成维度非常大的图片,而真正困难的是生成富有细节的多样性图片。


问:GAN 能否被用于数据压缩?


答:理论上讲,大多数生成模型都可以。对于生成对抗网络,你可能需要一些方法来将图片转化成描述图片的代码。我所描述的生成对抗网络只是从代码映射图像的方法之一。有一些其它研究,比如蒙特利尔大学的研究运用对抗式学习实现推理(Adversarially Learned Inference (https://arxiv.org/pdf/1606.00704v1.pdf)),和来自伯克利的双向 GAN(bi-directional GAN),其结构中有一个从图像映射到代码的编码层,你可以使用该编码层来生成小代码,然后比较不同解码方式得到的图片之间的差别,同时也可以与直接压缩算法解码后的图片进行比较。如果你足够幸运,那么这些差异小到可以压缩,那么其结果与你的原始图像会非常接近。


问:你在 GAN 方面的目标是什么?


答:我目前的兴趣点是提升训练稳定性,这也是我在这上面花了很多时间的原因。提升训练稳定性其实是一个非常困难的问题。我同时也在研究新型架构,但是相比于提升训练稳定性,目前新的网络结构在 GAN 中的作用不大。


问:你能更详细地解释一下吗?


答:其基本思想是,如果你有一个可以将输出用作输入的生成器算法或有一个搭建好的生成网络,那么它可以实现任何你想完成的事情。假如你的网络中有一层用来生成视频的第一帧代码和相应图像的映射,有一层来标记前一帧图像并同时编码下一帧图像,那么你可以循环地应用第二层很多次,你将得到一组生成网络为你生成的视频序列。从目前发表的论文来看,这方面的研究不是很多。Facebook 人工智能研究实验室最近发了一篇关于视频生成的论文,其中涉及到对抗网络损失(adversarial network loss)的研究,但目前大部的分应用都是在图像领域。另外还有一篇来自 William Lotter 及其合作者的论文,论文主要研究如何生成 3D 合成视频序列。这两个研究都需要进行一些其它的处理,比如使用均方误差和对下一帧的预测,以更好地稳定训练过程。在 Facebook 的研究中,我认为他们在损失计算时加入了类似图像中的边缘比较的损失,从而确保生成的视频不模糊。在视频预测生成中一个比较难的地方是:你需要将同一帧图像加入每次的预测生成中,不然就容易生成毫无意义的模糊图,因为图像的每个像素都有很大的不确定性,所以很难持续得到如图片样清晰的帧图像。

入门
暂无评论
暂无评论~
返回顶部