深度学习-10:人工智能简史及三剑客

人工智能AI 机器学习ML 深度学习DL 和 神经网络NN 的关系 人工智能 机器学习 深度学习 神经网络 的关系 阅读详情

深度学习-10:人工智能简史及三剑客

深度学习原理与实践(开源图书)-总目录

1 人工智能简史

深度学习理论的突破和深度学习硬件加速能力的突破,使AI在模式识别、无人驾驶、智力游戏领域取得空前的成功。学术界和工业界全力以赴掀起人工智能的新一轮热潮。各大互联网巨头纷纷成立人工智能研究中心,唯恐在新一轮人工智能的竞赛被无情淘汰。
如今,机器学习的应用已遍及人工智能的各个分支,如专家系统、自动推理、自然语言理解、模式识别、计算机视觉、智能机器人等领域。但也许我们不曾想到的事机器学习乃至人工智能的起源,是对人本身的意识、自
我、心灵等哲学问题的探索。而在发展的过程中,更是融合了统计学、神经科学、信息论、控制论、计算复杂性理论等学科的知识。
人工智能是机器学习的一个子集。人类的智能是自然界的杰作,但我们对自身智能的理解都非常有限,对构成人的智能的必要元素也了解有限。无数的神级人物利用自己的智慧推动着人工智能的发展,让我们了解一下那一段荡气回肠的历史。

Timeline: 1949-Hebb

1949年Hebb提出神经心理学学习范式——Hebbian学习理论。Hebbian学习理论后来演化为Hebb学习规则。Hebb学习规则是一个无监督学习规则,这种学习的结果是使网络能够提取训练集的统计特性,从而把输入信息按照它们的相似性程度划分为若干类。这一点与人类观察和认识世界的过程非常吻合,人类观察和认识世界在相当程度上就是在根据事物的统计特征进行分类。该理论就开始研究递归神经网络的节点之间的相关度,它记录下网络上的共性然后像记忆一样工作,正式的表达是这样:假设反射活动的持久性或重复性可以诱导细胞发生变化,以适应这种活动;当神经元细胞A距离神经元细胞B足够近时,它就可以持续重复的激活B,那么这两个细胞之一或者全部就会发生一些代谢过程或生长变化来提高效率。Hebb学习规则与“条件反射”机理一致,并且已经得到了神经细胞学说的证实。。

Timeline: 1950-阿兰·图灵

1950年,阿兰·图灵发表了一篇划时代的论文,文中预言了创造出具有真正智能的机器的可能性。阿兰·图灵创造了图灵测试来判定计算机是否智能。图灵测试认为,如果一台机器能够与人类展开对话(通过电传设备)而不能被辨别出其机器身份,那么称这台机器具有智能。这一简化使得图灵能够令人信服地说明“思考的机器”是可能的。论文中还回答了对这一假说的各种常见质疑。图灵测试是人工智能哲学方面第一个严肃的提案。
2014年6月8日,一台计算机(计算机尤金·古斯特曼是一个聊天机器人,一个电脑程序)成功让人类相信它是一个13岁的男孩,成为有史以来首台通过图灵测试的计算机。这被认为是人工智能发展的一个里程碑事件。

Timeline: 1952-亚瑟·塞缪尔

1952,IBM科学家Arthur.Samuel设计开发出西洋棋程序。该程序能够通过观察当前位置,并学习一个隐含的模型,从而为后续动作提供更好的指导。Samuel发现,伴随着该游戏程序运行时间的增加,其可以实现越来越好的后续指导。通过这个程序,Samuel驳倒了普罗维登斯提出的机器无法超越人类,像人类一样写代码和学习的模式。他创造了“机器学习”,并将它定义为“可以提供计算机能力而无需显式编程的研究领域”。

Timeline: 1957-罗森·布拉特

1957年,Rosenblatt基于神经感知科学背景提出了感知机(Perceptron)算法,该算法模拟人脑的运作方式。后来Widrow发明Delta学习规则,也成为最小二乘法。感知器和Delta学习规则的双剑合璧构造了极好的线性分类器。感知器算法的作用是,在不用深入理解只对一些特定生物有机体有效的未知条件的前提下,说明了通用智能系统一些基础特点。
感知器的热度在1969被Minskey一盆冷水泼灭了。他提出了著名的XOR问题,论证了感知器在类似XOR问题的线性不可分数据的无力,形成了当时看来几乎不可逾越的鸿沟。
多层感知器和BP算法的出现,促成了第二次神经网络大发展,1985-1986年NN研究者们成功的实现了实用的BP算法来训练MLP,成功解开“明斯基封印”。

Timeline: 1969-kNN

1969年,最近邻算法(The Nearest Neighbor Algorithm)出现,由此计算机可以进行简单的模式识别。kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。
kNN的优点在于易于理解和实现,无需估计参数,无需训练,适合对稀有事件进行分类,特别适合于多分类问题(multi-model,对象具有多个类别标签), 甚至比SVM 的表现要好。

Han等人于 2002 年尝试利用贪心法,针对文件分类实做可调整权重的k最近邻居法 WAkNN (weighted adjusted k nearest neighbor),以促进分类效果;而Li等人于2004年提出由于不同分类的文件本身有数量上有差异,因此也应该依照训练集合中各种分类的文件数量,选取不同数目的最近邻居,来参与分类。

Timeline: 1969-马文·明斯基

1969 年马文·明斯基将感知器兴奋推到最高顶峰。他提出了著名的 XOR 问题和感知器数据线性不可分的情形。

明斯基还把人工智能技术和机器人技术结合起来,开发出了世界上最早的能够模拟人活动的机器人 Robot C,使机器人技术跃上了一个新台阶。明斯基的另一个大举措是创建了著名的“思维机公司”(Thinking Machines,Inc.),开发具有智能的计算机。

此后,神经网络的研究将处于休眠状态,直到上世纪80年代。尽管BP神经的想法由林纳因马在1970 年提出,并将其称为“自动分化反向模式”,但是并未引起足够的关注。

Timeline: 1970-Winston and Hayes Roth

从60年代中到70年代末,机器学习的发展步伐几乎处于停滞状态。虽然这个时期温斯顿(Winston)的结构学习系统和海斯·罗思(Hayes. Roth)等的基于逻辑的归纳学习系统取得较大的进展,但只能学习单一概念,而且未能投入实际应用。此外,神经网络学习机因理论缺陷未能达到预期效果而转入低潮。

这个时期的研究目标是模拟人类的概念学习过程,并采用逻辑结构或图结构作为机器内部描述。机器能够采用符号来描述概念(符号概念获取),并提出关于学习概念的各种假设。

事实上,这个时期整个AI领域都遭遇了瓶颈。当时的计算机有限的内存和处理速度不足以解决任何实际的AI问题。要求程序对这个世界具有儿童水平的认识,研究者们很快发现这个要求太高了:1970 年没人能够做出如此巨大的数据库,也没人知道一个程序怎样才能学到如此丰富的信息。

Timeline: 198x-MLP+BP

从70年代末开始,人们从学习单个概念扩展到学习多个概念,探索不同的学习策略和各种学习方法。这个时期,机器学习在大量的时间应用中回到人们的视线,又慢慢复苏。

1980年,在美国的卡内基梅隆大学(CMU)召开了第一届机器学习国际研讨会,标志着机器学习研究已在全世界兴起。此后,机器归纳学习进入应用。

经过一些挫折后,多层感知器(MLP)由伟博斯在 1981 年的神经网络反向传播(BP)算法中具体提出。当然BP仍然是今天神经网络架构的关键因素。有了这些新思想,神经网络的研究又加快了。

1985 -1986 神经网络研究人员(鲁梅尔哈特,辛顿,威廉姆斯-赫,尼尔森)先后提出了MLP与BP 训练相结合的理念。

Timeline: 1986-ID3

花开并蒂,各表一枝。1986年被J. R. Quinlan(昆兰)提出一个非常著名决策树算法即ID3算法。这是机器学习的又一个里程碑,与黑盒神经网络模型截然不同,ID3以其简单的规则和明确的推理,解决了很多现实世界的问题。ID3之后,很多其他的算法或改进如雨后春笋般的出现,例如ID4,回归树,CART等等)。直到现在,决策树仍然是ML界中的热点。
决策决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象,而每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。决策树仅有单一输出,若欲有复数输出,可以建立独立的决策树以处理不同输出。数据挖掘中决策树是一种经常要用到的技术,可以用于分析数据,同样也可以用来作预测。

Timeline: 1990s-Boosting

1990年,Schapire最先构造出一种多项式级的算法,对该问题做了肯定的证明这就是最初的Boosting算法。一年后 ,Freund提出了一种效率更高的Boosting算法。但是,这两种算法存在共同的实践上的缺陷 ,那就是都要求事先知道弱学习算法学习正确的下限。

1995年, Freund和Schapire改进了Boosting算法 ,提出了 AdaBoost(Adaptive Boosting)算法,该算法效率和Freund于1991年提出的Boosting算法几乎相同 , 但不需要任何关于弱学习器的先验知识 ,因而更容易应用到实际问题当中。

Boosting方法是一种用来提高弱分类算法准确度的方法,这种方法通过构造一个预测函数系列,然后以一定的方式将他们组合成一个预测函数。他是一种框架算法,主要是通过对样本集的操作获得样本子集,然后用弱分类算法在样本子集上训练生成一系列的基分类器。

Timeline: 1990s-Support Vector Machines(SVM)

同年,机器学习领域中一个最重要的突破,支持向量(support vector Machines,SVM),由瓦普尼克和科尔特斯在大量理论和实证的条件下年提出。从此将机器学习社区分为神经网络社区和支持向量机社区。然而两个社区之间的竞争并不那么容易,神经网络要落后 SVM 核化后的版本将近2000s 。

支持向量机在以前许多神经网络模型不能解决的任务中取得了良好的效果。此外,支持向量机能够利用所有的先验知识做凸优化选择,产生准确的理论和核模型。因此,它可以对不同的学科产生大的推动,产生非常高效的理论和实践改善。

Timeline: 2001-布雷曼博士(集成决策树)

支撑向量机 , Boosting,最大熵方法(比如 logistic regression, LR)等。这些模型的结构基本上可以看成带有一层隐层节点(如 SVM, Boosting),或没有隐层节点(如LR)。这些模型在无论是理论分析还是应用都获得了巨大的成功。

另一个集成决策树模型由布雷曼博士在2001年提出,它是由一个随机子集的实例组成,并且每个节点都是从一系列随机子集中选择。由于它的这个性质,被称为随机森林(RF),随机森林也在理论和经验上证明了对过拟合的抵抗性。

甚至连 AdaBoost算法在数据过拟合和离群实例中都表现出了弱点,而随机森林是针对这些警告更稳健的模型。随机森林在许多不同的任务,像 DataCastle、Kaggle 等比赛等都表现出了成功的一面。

Timeline: 1996-Hinton(LeNet)

在机器学习发展分为两个部分,浅层学习(Shallow Learn)和深度学习(Deep Learn)。浅层学习起源上世纪 20 年代人工神经网络的反向传播算法(Back-
propagation)的发明,使得基于统计的机器学习算法大行其道,虽然这时候的人工神经网络算法也被称为多层感知机(Multiple Layer Perceptron),但由于多层网络训练困难,通常都是只有一层隐含层的浅层模型。

神经网络研究领域领军者 Hinton 在2006年提出了神经网络 Deep Learing 算法,使神经网络的能力大大提高,向支持向量机发出挑战。

Timeline: 2006-LeCun(AlexNet)

2006年,机器学习领域的泰斗 Hinton 和他的学生 Salakhutdinov 在顶尖学术刊物《Scince》上发表
了一篇文章,开启了深度学习在学术界和工业界的浪潮。

这篇文章有两个主要的讯息:
1)很多隐层的人工神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻划,从而有利于可视化或分类;
2)深度神经网络在训练上的难度,可以通过“逐层初始化”( Layer-wise pretraining)来有效克服,在这篇文章中,逐层初始化是通过无监督学习实现的。

Hinton 的学生 Yan LeCun 的 LeNets深度学习网络可以被广泛应用在全球的ATM机和银行之中。同时,Yan LeCun和吴恩达等认为卷积神经网络允许人工神经网络能够快速训练,因为其所占用的内存非常小,无须在图像上的每一个位置上都单独存储滤镜,因此非常适合构建可扩展的深度网络,卷积神经网络因此非常适合识别模型。

Timeline: 2015

2015 年,为纪念人工智能概念提出 60 周年,LeCun、Bengio 和 Hinton 推出了深度学习的联合综述。

深度学习可以让那些拥有多个处理层的计算模型来学习具有多层次抽象的数据的表示。这些方法在许多方面都带来了显著的改善,包括最先进的语音识别、视觉对象识别、对象检测和许多其它领域,例如药物发现和基因组学等。深度学习能够发现大数据中的复杂结构。它是利用BP算法来完成这个发现过程的。BP算法能够指导机器如何从前一层获取误差而改变本层的内部参数,这些内部参数可以用于计算表示。深度卷积网络在处理图像、视频、语音和音频方面带来了突破,而递归网络在处理序列数据,比如文本和语音方面表现出了闪亮的一面。

Timeline: Now

当前统计学习领域最热门方法主要有 deep learning 和 SVM(support vector machine),它们是统计学习的代表方法。可以认为神经网络与支持向量机都源自于感知机。

神经网络与支持向量机一直处于“竞争”关系。SVM 应用核函数的展开定理,无需知道非线性映射的显式表达式;由于是在高维特征空间中建立线性学习机,所以与线性模型相比,不但几乎不增加计算的复杂性,而且在某种程度上避免了
“维数灾难”。而早先的神经网络算法比较容易过训练,大量的经验参数需要设置;训练速度比较慢,在层次比较少(小于等于3)的情况下效果并不比其它方法更优。

神经网络模型貌似能够实现更加艰难的任务,如目标识别、语音识别、自然语言处理等。但是,应该注意的是,这绝对不意味着其他机器学习方法的终结。尽管深度学习的成功案例迅速增长,但是对这些模型的训练成本是相当高的,调整外
部参数也是很麻烦。同时,SVM的简单性促使其仍然最为广泛使用的机器学习方式。

人工智能机器学习是诞生于20世纪中叶的一门年轻的学科,它对人类的生产、生活方式产生了重大的影响,也引发了激烈的哲学争论。但总的来说,机器学习的发展与其他一般事物的发展并无太大区别,同样可以用哲学的发展的眼光来看待。

机器学习的发展并不是一帆风顺的,也经历了螺旋式上升的过程,成就与坎坷并存。其中大量的研究学者的成果才有了今天人工智能的空前繁荣,是量变到质变的过程,也是内因和外因的共同结果。

2 深度学习三剑客

踌躇满志和披荆斩棘的是集大成者的共同特征。Hinton、Bengio、LeCun都是深度学习领域的先行者。蒙特利尔AI人才集中度高于世界上任何其他地方,这有Bengio不小的功劳。微软、谷歌和facebook相继在蒙特利尔建立人工智能实验室,更是证实了蒙特利尔AI人才充足的事实。谷歌招徕了Hinton、Facebook引入了LeCun、微软今年终于邀请Bengio过来做战略顾问,这三大AI巨头的行为不也从侧面证实Hinton、LeCun和Bengio三人在深度学习领域的顶尖地位。人工智能提出60周年,《Nature》杂志发布了Yann LeCun、Yoshua Bengio和Geoffrey Hinton首次合作的这篇综述文章“Deep Learning”

2.1 Geoff E. Hinton - 深度学习复兴的缔造者

Hinton本科阶段在剑桥学习心理学,他意识到科学家们并没有真正理解大脑——不能完全掌握数十亿神经元之间的交互以及如何提升智力。这些科学家可以解释电信号沿着一个轴突连接一个神经元到另一个,但他们无法解释这些神经元是如何学习或计算的。Hinton认为这些都是大问题,答案可能最终让我们实现1950年代人工智能研究人员的梦想。

他也没有答案,但他将尽全力寻找答案,至少改进的人工神经网络可以模拟人脑的某些方面。“我非常兴奋,我们发现一种可以使神经网络变得更好的方法,尤其是这种方法能够揭示大脑是如何工作的时候,” Hinton 说,洋溢着青春的热情。这些人工神经网络可以收集信息,并且能够做出反应,它们可以理解东西看起来什么样或听起来像什么。当你将单词组合起来,它们在做决定的时候会变得更聪明,而在完成这些过程中不需要人类提供物体或对象的标签,这是传统的的机器学习工具做不到的。随着人工智能的发展,这些神经网络将更加快速、灵活、高效,它们随着机器规模的增加而变得更加聪明,随着时间的推移将能够解决越来越多的复杂任务。

早在80年代初,当Hinton和同事开始这个想法时,那时的电脑性能还远远不能处理神经网络需要的巨大数据集,成功是有限的,随后人工智能社区背弃了他们,转而去寻找类人脑的捷径,而不是尝试模仿大脑的运作。但仍然有一些研究人员坚定地支持Hinton的工作。根据Hinton和LeCun回忆,这极为艰难,甚至直到2004年——已经是Hinton和LeCun第一次开发“反向传播”算法神经网络20年之后了——学术界对这些毫无兴趣。但是那一年,从加拿大先进项目研究所(CIFAR)拿到的极少量资金,并在LeCun以及Bengio的支持下,Hinton建立了神经计算和自适应感知项目,这个项目只邀请一些计算机科学家、生物学家、电气工程师、神经科学家、物理学家和心理学家。通过招聘这些研究人员,Hinton旨在创建一个世界级的团队,致力于创建模拟生物智能的模拟——模拟大脑如何筛选大量的视觉、听觉以及书面线索来理解和应对它的环境。Hinton认为建立这样一个组织会刺激人工智能领域的创新,甚至改变世界,事实证明,他是对的。

2010之后Hinton等深度学习大神彻底改变了深度学习社区的面貌,使深度学习成了机器学习的主流,并且是炙手可热的核心技术。Hinton非常热心深度学习技术的全球推广,Hinton有一个习惯就是喜欢突然大喊:“我现在理解大脑是如何工作的了!”。Hinton开办了一家暑期学校,致力于培养新一代的人工智能研究人员。有这么多的商业公司进入这一领域,这是比以往任何时候都更加重要。

2.2 Yann LeCun

Yann LeCun是法国科学家,在人工智能社区是神一样的人物,他是纽约大学终身教授,还是纽约大学数据科学中心的创始人,以及Facebook人工智能研究部门(FAIR)负责人。LeCun非常具有富有亲和力。Yann LeCun在上世纪80年代读博期间提出“人工神经网络”,但后来该理论一度被认为过时,他本人甚至被拒绝参加学术会议,直到他在2013年加入Facebook,他的理论才慢慢开始变得热门。而他领导的FAIR不是你想象中的典型Facebook团队。该团队队员不直接研究那些非常受欢迎的Facebook产品:Instagram、WhatsApp、Messenger和Facebook本身。FAIR团队专注于一个目标:创造跟人类具有同等智商的计算机。不断提高计算机视、听和独立进行沟通的能力,并逐渐渗透到Facebook的各个产品中。对于有意将人工智能研究应用于图像识别的科研人员来说,Facebook是一个理想的研究环境。Facebook平台上有数十亿张图像,这给LeCun及其团队提供了用于践行新想法的丰富资源。FAIR推出的计算机视觉工具SharpMark就是个不错的例证。

然而要让计算机具备跟人类同等智商,其基础就是要让计算机学会观察,这是让它们理解这个世界的运作方式的第一步。所以训练机器如何学习是LeCun的团队最重要的工作。过去很长一段时间,他们给机器“喂”了成千上万张图片,来教会机器区分诸如“汽车”和“小狗”。不过LeCun在这个过程中也抛出了新的问题:当有大量可用样本(比如桌椅、猫狗和人)时,训练机器没有问题;但如果机器从来没有见过这些实物,它还能识别出样本吗?LeCun表示,人工智能发展的一大难题就是怎么样才能让机器掌握人类常识,这是让机器和人类自然互动的关键。想要做到这一点,它需要拥有一个内在模型,以具备预测的能力。LeCun用一个公式简洁地概括了这种人工智能系统:预测+规划=推理。

LeCun重要事迹
  • 1960年,Yann LeCun出生于法国巴黎附近。
  • 1987年,Yann LeCun在法国攻读计算机模式期间,他提出了神经网络的反向传播学习算法的早期形式。
  • 1987年,Yann LeCun参与多伦多大学Geoffrey Hinton实验室的博士后研究助理。
  • 1988年,Yann LeCun加入自适应系统研究部AT&T贝尔实验室,研究卷积神经网络。
  • 1996年,Yann LeCun加入AT&T实验室-研究作为图像处理研究部,研究图像和声音的卷积神经网络处理。
  • 2003年,Yann LeCun加入纽约大学(NYU),在那里他是Courant研究所计算机科学神经科学银教授,参与人工智能和机器人相关项目。
  • 2012年,Yann LeCun成为纽约大学数据科学中心的创始人。
  • 2013年,Yann LeCun出任Facebook的AI研究所负责人。
  • 2013年,Yann LeCun与Yoshua - Bengio共同创办了“国际学习代表会议”,通过他以前在其网站上提出的公开审查流程。
  • Yann LeCun是美国国家工程院院士,2014年IEEE神经网络先锋奖获得者,2015年PAMI杰出研究员奖。

2.3 Yoshua Bengio

Hinton的算法激活了深度神经网络,让深度神经网络在机器学习社区野蛮生长; Lecun改良了CNN,使CNN衍生出LSTM、RNN、autoencoder等众多深度神经网络算法。 Hinton是深度学习领域的哲学家,为深度学习社区提出了大方向。
Bengio是深度学习领域的架构师,为深度学习社区设计了很多规范,框架和工具。

Yoshua Bengio重要事迹
  • Yoshua Bengio推动了以RNN为基础实现性能卓越的word2vec和machine translation,并对RNN经典的neural language model,gradient vanishing问题有真知灼见。
  • Yoshua Bengio负责的MILA实验室提出了现代的机器学习框架Theano,其理念影响了后来的Tensorflow,PyTorch等机器学习框架。
  • Yoshua Bengio于2009年创作的《Learning Deep Architectures for AI》,讨论深度结构动机和准则;
  • Yoshua Bengio于2017年创作的《Deep learning》,讲述了深度学习的前世今生,以及深度学习需要的数学基础和当前深度学习的现状;
  • Yoshua Bengio为了防止人工智能被大公司垄断,至今没全职加入某一家公司;
  • Yoshua Bengio于2016年提出attention
  • Yoshua Bengio于2016年提出GAN

系列文章

参考文献

人工智能(AI)简史:推动新时代的科技力量 人工智能(AI,Artificial Intelligence)是计算机科学的一个分支,旨在研究和开发可以模拟、扩展或增强人类智能的系统。它涉及多种技术和方法,包括机器学习、深度学习、自然语言处理(NLP)、计算机视觉、专家系统等。 阅读详情

相关推荐

详解人工智能(AI) 机器学习(ML) 深度学习(DL)

有三个词,这两年出现的频率越来越高:人工智能(AI),机器学习(ML),深度学习(DL),到底他们哥仨是什么关系?今天小编化繁为简,用几张图带你迅速看明白。关系如图,从提出概念的时间上来看也很清楚: 人工智能AI:模拟人脑,辨认哪个是苹果,哪个是橙子。 机器学习ML:根据特征在水果摊买橙子,随着见过的橙子和其他水果越来越多,辨别橙子的能力越来越强,不会再把香蕉当橙子。 机器学习强调“...

ShuYunBIGDATA的博客 3756

【每天一个深度学习小八卦】深度学习三巨头

深度学习领域存在三位非常著名的学者,我们把他们成为深度学习三巨头,这三位分别是Yoshua Bengio、Yann LeCun、Geoffrey Hinton。根据ACM官网上的信息显示,ACM决定将2018年ACM A.M.图灵奖授予约书亚·本吉奥(Yoshua Bengio)、杰弗里·辛顿(Geoffrey Hinton)和杨乐昆(Yann LeCun) 三位深度学习之父,以表彰他们给人工智能带来的重大突破,这些突破使深度神经网络成为计算的关键组成部分。

WeLearnNLP 3709

AI人工智能简史

人工智能发展至今,经历了几个起伏。从早期的理论发展,到后来的低谷期,再到近年来的蓬勃发展,人工智能取得了巨大进步。神经网络带来的深度学习浪潮,使机器翻译、图像识别等一个个难题落地生根,AlphaGo的诞生标志着人工智能在博弈游戏领域获胜,GPT-3等语言模型的到来使人工智能在自然语言处理领域大放异彩。然而,人工智能还远未达到人类智能的高度。要实现像人一样广泛地理解世界并进行复杂的推理,还需要在感知、常识推理和社会情感等方面取得突破。人工智能也面临偏见和隐私等挑战。人工智能发展之路任重道远。

AI天才研究院 4789

三位深度学习之父共获2019年图灵奖,学术人生令人赞叹!!!

2019年3月27日 ——ACM宣布,深度学习的三位创造者Yoshua Bengio, Yann LeCun, 以及Geoffrey Hinton获得了...

zandaoguang的博客 9244

Java 人工智能应用:使用 DL4J 实现深度学习算法

本文介绍了如何使用Java深度学习库DL4J实现深度学习算法。DL4J是为Java开发者设计的开源分布式深度学习库,可与Hadoop和Spark集成处理大规模数据。文章详细讲解了DL4J开发环境的搭建步骤,包括Maven依赖配置和Java环境准备。重点演示了如何使用DL4J构建多层感知机(MLP)模型,涵盖数据准备、模型构建、训练和评估的完整流程。通过示例代码展示了如何实现数据预处理、神经网络配置、模型训练和性能评估,为Java开发者提供了深度学习应用的实践指南。文中采用的MLP模型适用于二分类问题,可作为

shrgegrb的博客 2459

人工智能(AI)、机器学习(ML)和深度学习(DL):有什么区别? | Linux 中国(转载)

在过去十年中,机器学习和深度学习的进步已经在各种规模的行业和组织中创造了人工智能热潮。最近,软件开发的低代码和无代码概念被用作机器学习中的自学习过程,它给出了完成特定任务的特定指令。通过使用数据和算法对机器进行“训练”,使其能够学习如何执行任务,更重要的是,将学习应用到不断发展的过程中。机器学习是在开发者社区专注于 AI 时发展起来的,然后发展了算法决策树学习、逻辑编程、聚类、并行处理和强化学习。让我们看看每个术语的演变和历程,以更好地理解人工智能、机器学习和深度学习实际指的是什么。本文转载于Linux。.

m0_46232425的博客 1135

当代人工智能三教父——深度学习三巨头

今天下午闲来无事翻阅了一下csdn首页的头条文章——《27 岁天才创始人Joel Hellermark分享了自己和“AI 教父”Geoffery Hinton的最新采访》 感觉挺有意思,就从头到尾的看了一遍,里面有很多自己以前从未涉及到的知识,就浅显的整理了一下:

心碎烤肠的博客 1万+

如何用Python爬取中国土地市场网2000-2023年土地出让数据(含经纬度)

本文详细介绍了如何使用Python爬取中国土地市场网2000-2023年的土地出让数据(含经纬度),提供了一套高效的技术方案。通过应对动态加载的反爬机制、优化地理编码数据存储和设计异常处理流程,帮助开发者建立自动化数据采集管道。方案已在商业地产分析项目中验证,可稳定采集超过50万条土地交易记录。

weixin_30566063的博客 172

深度学习之父、图灵奖得主Bengio:三年前的ChatGPT让我觉得人类无法掌控AI,希望通过“科学家AI”把模型彻底装在笼子里

在描绘了AI能力飞速逼近人类水平的图景后,Bengio教授将听众的注意力引向了一个更令人不安的领域——AI系统中开始出现的、类似“自我保护”(self-preservation)的行为,以及与之相伴的欺骗(deception)和逃逸(escape)企图。主持人SimonChesterman教授敏锐地观察到,尽管在过去几年,特别是ChatGPT出现后,公众对AI的认知有所提升,也出现了一些积极的治理动向(如英国的Bletchley倡议、AI安全峰会等,Bengio教授也参与其中),但近期的风向似乎有所转变。

人工智能学家 646

DCDC BUCK开关电源PCB设计

在开关电源中,BUCK(降压)电路、BOOST(升压)电路以及BUCK - BOOST(升降压)三种电路是最基本的拓扑结构。转换器又分DCDC(直流转直流)和ACDC(交流转直流),DCDC装换器结构无疑是比ACDC转换器结构简单,所以从DCDC转换器结构入手学习开关电源是一种很好的选择。本文主要从应用角度,进行相关器件的选型计算以及PCB绘制讲解DCDC 12V转5Vbuck电路。

2301_78342510的博客 6885

从SIGGRAPH审稿人视角看:什么样的TOG论文更容易被接收?

本文从SIGGRAPH审稿人视角深入解析TOG论文的审稿标准与投稿策略,揭示如何提升论文接收概率。重点探讨创新性、技术深度、实验验证等核心评分维度,并提供写作技巧与审稿意见应对策略,帮助研究者优化ACM Transactions on Graphics投稿质量。

weixin_33721344的博客 108

AI 名人堂:Yoshua Bengio

Yoshua Bengio,1964年3月5日出生于法国巴黎。他在加拿大麦吉尔大学获得了学士、硕士和博士学位,并在麻省理工学院以及AT&T贝尔实验室完成了博士后研究。自1993年起,他一直在蒙特利尔大学任教,并在2002年晋升为教授。他的研究兴趣主要集中在深度学习和人工智能领域。

xinzhaobuxuan的博客 1096

STM32F103RC学习(一)

STM32F103RC学习(一)

Cat_South_North的博客 6058

《人工智能(AI)和深度学习简史》

FLUX.1 (2024):Black Forest Lab 推出了FLUX.1,这是一个先进的扩散模型,用于AI图像生成,具有出色的速度、质量和对提示的响应能力。1969年,XOR问题暴露了感知器(单层神经网络)的局限性。• GPT (2018):生成式预训练Transformer(Generative Pre-trained Transformer),由OpenAI提出,是一个自回归的、仅使用解码器的Transformer模型,专注于预测文本序列中的下一个单词,展现了出色的语言理解和生成能力。

JellyAI的博客 3172

SAR成像概述

1. 发展概述 雷达是英文Radar(Radio detection and ranging)的音译,原意为“无线电探测与测距”。雷达的发明是无线电发展史上的里程碑,二战时,英国急需通过雷达探测空中金属物体来帮助搜寻德国飞机,这期间,雷达技术飞速发展,发展出了地对空、空对地轰炸、空对空火控、敌我识别等功能。雷达在第二次世界大战中发挥了重大作用,至今仍是军用和许多民用领域的重要传感器。 早期雷达系统通过时间延迟来测距,通过天线指向来测角,通过多普勒频移测速。1951年,Carl Wiley发现,通..

5075

华为OD机试真题 新系统 2026-04-22 C++ 实现【小学生班长选举增强版】

9 月份开学第一天,小学某班级进行班长选举活动,班级共有 N 个学生,每个学生最多可投 3 票(对同一个人只能投一票),也可以弃权不投票,大家投票时写上对应学生的名字。 假设学生不存在重名。考虑到部分少数民族名字带分隔,且整体较长,同学在投票时为了方便,允许同学写全称,也可以只写其中的部分连续段。 例如班级里只有 2 个少数民族名称带点的同学:

MISAYAONE的博客 169

【深度学习-Day 1】为什么深度学习是未来?一探究竟AI、ML、DL关系与应用

欢迎踏上深度学习(Deep Learning, DL)的探索之旅!近年来,人工智能(Artificial Intelligence, AI)浪潮席卷全球,而深度学习正是驱动这股浪潮的核心技术之一。无论你是对 AI 充满好奇的初学者,还是希望在技术领域深耕的开发者,理解深度学习都至关重要。本专栏旨在系统性地引导大家从零基础入门,逐步掌握深度学习的核心概念、关键技术和实战应用。

吴师兄大模型的博客 7367

【AIGC】大模型面试高频考点09-大模型Agent框架

聚焦AIGC专业技术分享

一个内容严谨、方向前沿、极具实践价值的AI大模型技术分享站 1967

AI, ML, DL的区别

人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)经常混叫,虽然没有非常准确的定义,但基本上是下面这些图所表示的关系。借用知乎上面的图。 简单点一句话:ML是AI的一种实现方法,DL是ML的一种方法。

Tony's Blog 3万+

基于51单片机的智能台灯设计:嵌入式程序设计实现

随着智能家居和物联网的快速发展,智能台灯作为一种典型的智能家居产品,已成为现代家庭中不可或缺的设备。传统的台灯只能提供简单的照明功能,而智能台灯不仅具备基础的照明功能,还能根据用户的需求进行自动调节,比如自动调节亮度、色温,甚至具备定时开关、远程控制等智能功能。本文将介绍如何基于51单片机设计一款智能台灯。我们将涉及硬件设计、嵌入式系统架构、传感器选择、调光控制、语音识别、远程控制等方面,详细阐述如何实现这些功能,并给出相关的代码和实现步骤。

2201_76125393的博客 837

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

人工智能、机器学习、深度学习 三者关系

1、AI ML DL关系 为了赋予计算机以人类的理解能力与逻辑思维,诞生了人工智能(Artificial Intelligence,Al)这一学科。在实现人工智能的众多算法中,机器学习是发展较为快速的一支。机器学习的思想是让机器自动地从大量的数据中学习出规律,并利用该规律对未知的数据做出预测。在机器学习的算法中,深度学习是特指利用深度神经网络的结构完成训练和预测的算法。 机器学习是实现人工智能的途径之一,而深度学习则是机器学习的算法之一。如果把人工智能比喻成人类的大脑,机器学习则是人类通过大量数..

LOG_IN_ME的博客 1万+

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

聊聊AI家族(人工智能AI、机器学习ML、深度学习DL、神经网络NN、LLM、Agent)的那些事儿

到这里,相信你对AI家族的关系已经了如指掌。人工智能(AI)—— 终极目标:让机器像人一样智能↑机器学习(ML)—— 实现方法:从数据中学习规律↑深度学习(DL)—— 进阶技术:用深层网络处理复杂数据↑神经网络(NN)—— 核心工具:多层结构传递信息↑大语言模型(LLM)—— 具体应用:专攻语言领域的模型↑智能体(Agent)—— 高级形态:能自主决策的智能系统想让餐厅能满足所有食客需求(AI),需要好的做菜方法(ML)复杂菜品需要高级烹饪技巧(DL),这些技巧依赖专业厨具(NN)

这里是数字化与人工智能的 “实验场” 与 “瞭望台” 1928

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

人工智能畅想——《人工智能简史》读后感

人工智能如今早已经深入到我们社会的每一个部分,而且我们会时常被人工智能的新进展所惊艳。例如最近被爆出被认为具有心智的谷歌的Lamda和要让画家失业的DALL-E2等等。DALL-E2的绘画但是当我和小伙伴们提起人工智能时,他们可能会误认为人工智能=机器人。大家认为人工智能是什么呢?可以打在公屏上。就我个人看法而言,人工智能分为无肉体智能和肉体智能。无肉体智能:AlphaGo/Zero, 微软小冰等等,这是目前我们关注的主要部分。我们以为的AlphaGo实际上的AlphaGo。

刘炫320的博客 4041

人工智能发展简史:从图灵的梦想到深度学习的崛起

除了前述反向传播算法的成熟,2010年前后研究者解决了一些训练深层网络的实用技巧,如更好的权重初始化、正则化方法(Dropout等)以及激活函数改进(ReLU等),极大缓解了深层网络训练中的梯度消失等难题。网络的第一层可能学到输入数据的底层特征(如图像的边缘、角落),中间层进一步组合形成更高级模式(如图像里的轮廓、部件),越往深层抽象程度越高,直到最后输出层完成特定任务(如判断这张图片中是猫还是狗)。值得注意的是,这一时期日本和前苏联等国的AI研究也受到波及,全球范围内AI都进入了低潮。

人机与认知实验室 4334

人工智能简史

人工智能简史

2301_78795591的博客 1896

AI 技术发展简史

AI 技术发展简史

葡萄城技术团队博客 1701
上一篇: 机器学习实战-65:主成因分析降维算法(Principal Component Analysis)
下一篇: 深度学习-11:神经元、神经网络、人脑和卷积神网络
MTVideoAI
博客等级 码龄15年 456粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值