人工智能300年!LSTM之父万字长文:详解现代AI和深度学习发展史(3)

简介: 人工智能300年!LSTM之父万字长文:详解现代AI和深度学习发展史

十五、1991年6月:LSTM/Highway Net/ResNet的基础



长短期记忆(LSTM)递归神经网络克服了Sepp Hochreiter在上述1991年的毕业论文中指出的基本深度学习问题。

在1997年发表了经同行评审的论文之后(现在是20世纪被引用最多的NN文章),Schmidhuber的学生Felix Gers和Alex Graves等人,进一步改进了LSTM及其训练程序。1999-2000年发表的LSTM变体——带有遗忘门的「vanilla LSTM架构」,在如今谷歌的Tensorflow中依然还在应用。2005年,Schmidhuber首次发表了LSTM在时间上完全反向传播和双向传播的文章(同样也被广泛使用)。2006年一个里程碑式的训练方法是「联结主义时间分类」(CTC),用于同时对齐和识别序列。Schmidhuber的团队在2007年成功地将CTC训练的LSTM应用于语音(也有分层的LSTM堆栈),第一次实现了卓越的端到端神经语音识别效果。2009年,通过Alex的努力,由CTC训练的LSTM成为第一个赢得国际比赛的RNN,即三个ICDAR 2009手写比赛(法语、波斯语、阿拉伯语)。这引起了业界的极大兴趣。LSTM很快被用于所有涉及序列数据的场合,比如语音和视频。2015年,CTC-LSTM的组合极大地改善了谷歌在安卓智能手机上的语音识别性能。直到2019年,谷歌在移动端搭载的语音识别仍然是基于LSTM。

1995年:神经概率语言模型

1995年,Schmidhuber提出了一个优秀的神经概率文本模型,其基本概念在2003年被重新使用。2001年,Schmidhuber表明LSTM可以学习HMM等传统模型无法学习的语言。2016年的谷歌翻译,则是基于两个连接的LSTM(白皮书提到LSTM超过50次),一个用于传入文本,一个用于传出翻译。同年,谷歌数据中心用于推理的超强计算能力中,有超过四分之一用于LSTM(还有5%用于另一种流行的深度学习技术,即CNN)。到了2017年,LSTM还为Facebook的机器翻译(每周超过300亿次翻译)、苹果在大约10亿部iPhone上的Quicktype、亚马逊的Alexa的语音、谷歌的图像标题生成和自动电子邮件回答等提供支持。当然,Schmidhuber的LSTM也被大量用于医疗保健和医疗诊断——简单的谷歌学术搜索就能找到无数标题中带有「LSTM」的医学文章。2015年5月,Schmidhuber团队基于LSTM原理提出了Highway Network,第一个具有数百层的非常深的FNN(以前的NN最多只有几十层)。微软的ResNet(赢得了ImageNet 2015比赛)便是它的一个版本。早期Highway Net在ImageNet上的表现与ResNet大致相同。Highway Net的变体也被用于某些算法任务,在这些任务中,纯残差层的效果并不理想 。

LSTM/Highway Net原理是现代深度学习的核心

深度学习的核心是NN深度。在20世纪90年代,LSTM为有监督的递归NN带来了基本无限的深度;在2000年,受LSTM启发的Highway Net为前馈NN带来了深度。

现在,LSTM已经成为20世纪被引用最多的NN,而Highway Net的其中一个版本ResNet,则是21世纪被引用最多的NN。

十六、1980至今:在没有老师的情况下学习行动的NNN

此外,NN也与强化学习(RL)有关。虽然部分问题可以通过早在20世纪80年代之前发明的非神经技术来解决。比如,蒙特卡洛树搜索(MC)、动态规划(DP)、人工进化、α-β-剪枝、控制理论和系统识别、随机梯度下降,以及通用搜索技术。但深度FNN和RNN可以为某些类型的RL任务带来更好的效果。一般来说,强化学习智能体必须学会如何在没有老师的帮助下,与一个动态的、最初未知的、部分可观察的环境互动,从而使预期的累积奖励信号最大化。在行动和可感知的结果之间可能存在任意的、先验的未知延迟。当环境有一个马尔可夫接口,使RL智能体的输入可以传达确定下一个最佳行动所需的所有信息时,基于动态规划(DP)/时序差分(TD)/蒙特卡洛树搜索(MC)的RL会非常成功。对于没有马尔可夫接口的更复杂的情况,智能体不仅要考虑现在的输入,还要考虑以前输入的历史。对此,由RL算法和LSTM形成的组合已经成为了一种标准方案,特别是通过策略梯度训练的LSTM。例如,在2018年,一个经过PG训练的LSTM是OpenAI著名的Dactyl的核心,它在没有老师的情况下学会了控制一只灵巧的机器人手。视频游戏也是如此。2019年,DeepMind(由Schmidhuber实验室的一名学生共同创立)在《星际争霸》游戏中击败了职业选手,其中用到的Alphastar,就是有一个由PG训练的深度LSTM核心。

与此同时,RL LSTM(占模型总参数数的84%)也是著名的OpenAI Five的核心,它在Dota 2中击败了专业的人类玩家。RL的未来将是用复杂输入流的紧凑时空抽象来学习/组合/规划,也就是关于常识推理和学习思考。Schmidhuber在1990-91年发表的论文中提出,自监督的神经历史压缩器,可以学习多层次的抽象和多时间尺度上的表征概念;而基于端到端的可区分NN的子目标生成器,则可以通过梯度下降学习分层的行动计划。在随后的1997年和2015-18年,更复杂的学习抽象思维的方法被发表。

十七、是硬件问题,呆子!

在过去的一千年里,如果没有不断改进和加速升级的计算机硬件,深度学习算法不可能迎来重大突破。

我们第一个已知的齿轮计算设备是2000多年前古希腊的安提基特拉机械(Antikythera mechanism)。这是现今所知的最古老的复杂科学计算机,同时也是世界上第一台模拟计算机。

安提基特拉机械而世界上第一台实用的可编程机器,是古希腊机械学家海伦于公元1世纪发明的。17世纪的机器变得更为灵活,可以根据输入数据计算答案。第一台用于简单算术的机械计算器由威廉·契克卡德(Wilhelm Schickard)于1623年发明制造。1673年,莱布尼茨设计了第一台可以执行所有四种算术运算,并带有内存的机器。他还描述了由穿孔卡控制的二进制计算机的原理并提出链式法则,构成了深度学习和现代人工智能的重要组成部分。

莱布尼茨乘法器1800年左右,约瑟夫·玛丽·雅卡尔 (Joseph Marie Jacquard) 等人在法国制造了第一台首台可设计织布机——雅卡尔织布机(Jacquard machine)。该发明对将来发展出其他可编程机器(例如计算机)起了重要作用。

雅卡尔织布机他们启发了阿达·洛芙莱斯(Ada Lovelace)和她的导师查尔斯·巴贝奇(Charles Babbage)发明了一台现代电子计算机的前身:巴贝奇差分机。在随后的1843年,洛芙莱斯公布了世界上第一套计算机算法。

巴贝奇差分机1914年,西班牙人Leonardo Torres y Quevedo成为20世纪第一位人工智能先驱,他创造了第一个国际象棋终端机器玩家。1935年至1941年间,康拉德·楚泽(Konrad Zuse)发明了世界上第一台可运行的可编程通用计算机:Z3。

康拉德·楚泽与巴贝奇分析机不同,楚泽使用莱布尼茨的二进制计算原理,而不是传统的十进制计算。这大大简化了硬件的负荷。1944年,霍华德·艾肯(Howard Aiken)带领团队,发明世界上第一台大型自动数字计算机Mark Ⅰ(马克一号)。1948年,弗雷德里克·威廉姆斯(Frederic Williams)、汤姆·基尔伯恩(Tom Kilburn)和杰夫·托蒂(Geoff Tootill)发明了世界第一台电子存储程序计算机:小型实验机 (SSEM),又被称为「曼彻斯特宝贝」(Manchester Baby)。

「曼彻斯特宝贝」复制品从那时起,计算机的运算在集成电路(IC)的帮助下变得更快。1949年,西门子的维尔纳·雅各比(Werner Jacobi)申请了一项集成电路半导体专利,使一个公共基板可以有多个晶体管。1958年,Jack Kilby展示了带有外部导线的集成电路。1959年,罗伯特·诺伊斯 (Robert Noyce) 提出了单片集成电路。自上世纪70年代以来,图形处理单元 (GPU) 已被用于通过并行处理来加速计算。现在,计算机的GPU包含数十亿个晶体管。物理极限在哪里?根据汉斯·约阿希姆·布雷默曼(Hans Joachim Bremermann)提出的布雷默曼极限,一台质量为1千克、体积为1升的计算机最多可以在最多10的32次方位上每秒执行最多10的51次方操作。

汉斯·约阿希姆·布雷默曼然而,太阳系的质量只有2x10^30千克,这一趋势势必会在几个世纪内打破,因为光速会严重限制以其他太阳系的形式获取额外质量。因此,物理学的限制要求未来高效的计算硬件必须像大脑一样,在三维空间中有许多紧凑放置的处理器以最小化总连接成本,其基本架构本质上是一种深度的、稀疏连接的三维RNN。Schmidhuber推测,此类RNN的深度学习方法将变得更加重要。

十八、1931年以来的人工智能理论

现代人工智能和深度学习的核心主要是基于近几个世纪的数学:微积分、线性代数和统计学。

20世纪30年代初,哥德尔创立了现代理论计算机科学。他引入了一种以整数为基础的通用编码语言,允许以公理形式将任何数字计算机的操作正规化。同时,哥德尔还构建了著名的形式化语句,通过给定一个计算性的定理检验器,从可列举的公理集合中系统地列举所有可能的定理。因此,他确定了算法定理证明、计算以及任何类型的基于计算的人工智能的基本限制。此外,哥德尔在写给约翰·冯·诺伊曼的著名信件中,确定了计算机科学中最著名的开放问题「P=NP?」。1935年,Alonzo Church通过证明Hilbert和Ackermann的决策问题没有一般的解决方案,得出了哥德尔结果的一个推论。为了做到这一点,他使用了他的另一种通用编码语言,称为Untyped Lambda Calculus,它构成了极具影响力的编程语言LISP的基础。1936年,阿兰·图灵引入了另一个通用模型:图灵机,重新得出了上述结果。同年,Emil Post发表了另一个独立的计算通用模型。康拉德·楚泽不仅创造了世界上第一台可用的可编程通用计算机,并且还设计了第一种高级编程语言——Plankalkül。他在1945年将其应用于国际象棋,在1948年应用于定理证明。

Plankalkül20世纪40-70年代的大部分早期人工智能实际上是关于定理证明和通过专家系统和逻辑编程进行哥德尔式的推导。1964年,Ray Solomonoff将贝叶斯(实际上是拉普拉斯)概率推理和理论计算机科学结合起来,得出一种数学上最优(但计算上不可行)的学习方式,从过去的观察中预测未来数据。他与Andrej Kolmogorov一起创立了柯氏复杂性或算法信息论(AIT)的理论,通过计算数据的最短程序的概念,将奥卡姆剃刀的概念正式化,从而超越了传统的信息论。

柯氏复杂性自指哥德尔机更通用的最优性并不局限于渐进式最优。尽管如此,由于各种原因,这种数学上的最优人工智能在实践上还不可行。相反,实用的现代人工智能是基于次优的、有限的、但并不被极度理解的技术,如NN和深度学习则是重点。但谁知道20年后的人工智能历史会是什么样的呢?参考资料:https://people.idsia.ch/~juergen/deep-learning-history.html

相关文章
|
1月前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
73 3
|
2天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
91 55
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
1月前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
110 9
|
12天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
82 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘AI:深度学习的奥秘与实践
本文将深入浅出地探讨人工智能中的一个重要分支——深度学习。我们将从基础概念出发,逐步揭示深度学习的原理和工作机制。通过生动的比喻和实际代码示例,本文旨在帮助初学者理解并应用深度学习技术,开启AI之旅。
|
1月前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
77 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
1月前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
77 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
79 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
机器学习/深度学习 人工智能 算法
AI在医疗:深度学习在医学影像诊断中的最新进展
【10月更文挑战第27天】本文探讨了深度学习技术在医学影像诊断中的最新进展,特别是在卷积神经网络(CNN)的应用。文章介绍了深度学习在识别肿瘤、病变等方面的优势,并提供了一个简单的Python代码示例,展示如何准备医学影像数据集。同时强调了数据隐私和伦理的重要性,展望了AI在医疗领域的未来前景。
71 2