AI前线来源洪舒越校对文婧 编辑

不要再用Python了!Yann LeCun : 深度学习需要一种新的编程语言

[导 读]当地时间 2 月 18 日,Facebook 首席人工智能科学家、卷积神经网络之父Yann LeCun在旧金山的国际固态电路大会上发表了一篇论文,分享了他关于人工智能发展的一些看法,同时也谈到自己对于芯片和硬件发展的关注和研究。在这其中,诸如“深度学习可能需要一种新的编程语言”等说法引起了热烈讨论。

深度学习需要一种新的编程语言”

自 20 世纪 80 年代以来,LeCun 就一直致力于神经网络研究。由于他本人对于神经网络发展的贡献,所以被冠以“卷积神经网络之父”的称号。

在当天的演讲中,LeCun 对于人工智能的发展提出了一些新的看法:

“在谷歌、Facebook 和其他地方有几个项目旨在设计这样一种编译语言,这种语言可以有效地进行深度学习,但社区是否会跟进还不清楚,因为人们只想使用 Python。但现在的问题是:Python 真的是最好的解决方案吗?”

LeCun 认为,深度学习可能需要一种比 Python 更灵活,更易于使用的新编程语言。目前尚不清楚这种语言是否必要,但 LeCun 表示,这种可能性与研究人员和工程师非常根深蒂固的愿望背道而驰,很有可能带来颠覆性的变革。

根据 GitHub 最近的一份报告显示:Python 目前是机器学习项目的开发人员最常使用的语言,该语言同时也是构成 Facebook 的 PyTorch 和 Google 的 TensorFlow 框架的基础。

但是,随着代码越来越复杂,开发人员对于编程语言的要求也更高了,就连图灵奖得主大卫·帕特森也曾表示:是时候创造新的编程语言了。

与此同时,一些之前名不见经传的小众编程语言也逐渐成为一些开发者的新宠。最能说明问题的就是去年 8 月才正式发布 1.0 版本的 Julia,从 2012 年到现在,Julia 1.0 在编程界已经打出了自己的一片“小天地”,在 Github 上已经获得了 12293 颗星星。

与其他语言相比,Julia 易于使用,大幅减少了需要写的代码行数;并且能够很容易地部署于云容器,有更多的工具包和库,并且结合了多种语言的优势。据 Julia Computing 的宣传,在七项基础算法的测试中,Julia 比 Python 快 20 倍,比 R 快 100 倍,比 Matlab 快 93 倍。除了 Julia,Swift 也成为了数据科学家们的新朋友。

“未来十年,硬件将左右 AI 的发展方向”

在演讲中,Yann LeCun 还专门谈到自己对于芯片和硬件发展的看法。

人工智能已有 50 多年的历史,但它目前的崛起与计算机芯片和其他硬件提供的计算能力的增长密切相关。

“更好的硬件催生出更好的算法以及更好的性能,更多的人才可以制造出更好的硬件,这样的良性循环只有几年的历史了。”LeCun 表示,20 世纪 80 年代他在贝尔实验室工作,并已经能够使用 ConvNet (CNN) AI 读取邮政信封和银行支票上的邮政编码。

21 世纪初,在离开贝尔实验室加入纽约大学后,LeCun 与该领域的其他知名人士合作,比如 Yoshu Bengio 和 Geoffrey Hinton,开展了一项研究,以恢复人们对神经网络的兴趣,并让深度学习变得更受欢迎。

近年来,硬件方面的进步——如现场可编程门阵列 (FPGA)、谷歌的张量处理单元 (TPU) 和图形处理单元 (GPU) 等,在该行业的增长中发挥了重要作用。据了解,Facebook 也在开发自己的半导体。

LeCun 在演讲中说:“现有的硬件对人们所做的研究有很大的影响,因此未来十年左右,人工智能的发展方向将很大程度上受到现有硬件的影响。这对计算机科学家来说是件很丢脸的事,因为我们喜欢抽象地认为,我们的发展不受硬件限制的限制,但实际上我们是很受限制的。”

LeCun 强调了未来几年硬件制造商应该考虑的一些 AI 趋势,并就近期所需的架构提出了建议,建议考虑不断增长的深度学习系统的规模。

他还谈到需要专门为深度学习设计的硬件,以及能够处理一批训练样本的硬件,而不是像现行标准那样,需要批量处理多个训练样本才能有效运行神经网络,他说:“如果你运行一个单一的图像,不可能利用所有的算力,这样的行为会造成资源浪费,所以批量生产迫使人们思考训练神经网络的新方法。”

他还建议使用动态网络和硬件,这些网络和硬件可以灵活调整,只利用完成任务所需的神经元

在这篇论文中,LeCun 重申了他的理念:即监督学习将在推进人工智能的发展中发挥重要作用。

LeCun 在论文中写道:“如果自监督的学习最终允许机器通过观察学习关于世界如何运作的大量背景知识,那么可以假设某种形式的机器常识可能出现。”

LeCun 认为,未来的深度学习系统将在很大程度上使用自监督学习进行训练,并且需要新的高性能硬件来支持这种自监督学习。他表示,Facebook 正致力于尽其所能做的一切,降低功耗并改善延迟问题,以加快处理速度。LeCun 补充说,实时监控网站上的视频所带来的巨大需求,使得研发团队需要进行新的神经网络设计。

Facebook 还在寻找新的神经网络架构,以模仿人类智能的更多方面,并使其系统更自然地进行交互。

“就新用途而言,Facebook 感兴趣的一件事是提供智能助理——这是一种有一定常识的东西,他们有背景知识,你可以和他们就任何话题进行讨论。”

在演讲中,LeCun 也表达出对于智能助理研发以及应用的执念。向计算机灌输常识的想法还处于非常早期的阶段,LeCun 表示,这种更深层次的智能“不会在明天就发生”。

他说:“研发人员希望一台机器像人类或动物一样,当世界与它互动时,它能够做出正确的反应。”LeCun 补充说,Facebook 已经在这一方面进行了不少尝试,最近的一项研究就是通过调整神经网络的设计,使其在面对现实世界的变化时反应能更加灵活。

此外,Facebook 目前的研究工作还包括在神经网络中增加计算机记忆,这样当机器与人“交谈”时,神经网络就能记住更多的信息,并形成更强的语境感。

神经网络功能方面的进步可能会对驱动芯片的设计产生连锁反应,这可能会为制造当今领先 AI 芯片的公司带来更多竞争。

参考链接:

1.https://venturebeat.com/2019/02/18/facebooks-chief-ai-scientist-deep-learning-may-need-a-new-programming-language/

2.https://www.zdnet.com/article/facebooks-yann-lecun-says-internal-activity-proceeds-on-ai-chips/

3.https://www.ft.com/content/1c2aab18-3337-11e9-bd3a-8b2a211d90d5

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

产业深度学习Yann LeCunPython
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

Julia技术

Julia 是MIT设计的一个面向科学计算的高性能动态高级程序设计语言,项目大约于2009年中开始,2018年8月JuliaCon2018 发布会上发布Julia 1.0。据介绍,Julia 目前下载量已经达到了 200 万次,且 Julia 社区开发了超过 1900 多个扩展包。这些扩展包包含各种各样的数学库、数学运算工具和用于通用计算的库。除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ 和 Java 中的库,这极大地扩展了 Julia 语言的使用范围。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

神经元技术

(人工)神经元是一个类比于生物神经元的数学计算模型,是神经网络的基本组成单元。 对于生物神经网络,每个神经元与其他神经元相连,当它“兴奋”时会向相连的神经元发送化学物质,从而改变这些神经元的电位;神经元的“兴奋”由其电位决定,当它的电位超过一个“阈值”(threshold)便会被激活,亦即“兴奋”。 目前最常见的神经元模型是基于1943年 Warren McCulloch 和 Walter Pitts提出的“M-P 神经元模型”。 在这个模型中,神经元通过带权重的连接接处理来自n个其他神经元的输入信号,其总输入值将与神经元的阈值进行比较,最后通过“激活函数”(activation function)产生神经元的输出。

推荐文章
暂无评论
暂无评论~