更新时间:2024-11-01 15:13
深度学习(Deep Learning)特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重要的技术特点是具有自动提取特征的能力,所提取的特征也称为深度特征或深度特征表示,相比于人工设计的特征,深度特征的表示能力更强、更稳健。因此,深度学习的本质是特征表征学习。深层神经网络是深度学习能够自动提取特征的模型基础,深层神经网络本质上是一系列非线性变换的嵌套。目前看来,深度学习是解决强人工智能这一重大科技问题的最具潜力的技术途径,也是当前计算机、大数据科学和人工智能领域的研究热点。
由于深度学习与深层神经网络的密切关系,深度学习的历史可追溯到人工神经网络的开端。
1943年,生理学家S.McCulloch和年轻的数学家W.Pitts提出了MP神经元模型。
1958年,人工智能专家F.Rosenblatt提出了由单个神经元构成的最简单的神经网络—感知机模型。Hopfield提出著名的Hopfield 网络。Hinton等提出了基于Sigmoid激活函数的多层感知机模型MLP与反向传播算法;Hinton在其提出的Bolzman机的基础上结合概率有向图模型提出了深度信念网络Deep Belief Network,神经网络研究首次走向了深度;
1995年,Schmihuber 提出了长短时记忆网络Long Shor-Term Memory,神经网络在时间方向有了深度;
1998年,深度学习先驱Yann LeCun教授提出LeNet,它是第一个成功应用于数字识别问题的卷积神经网络;李飞飞教授(Fei-Fei Li)在普林斯顿大学组织了一个研讨会,讨论了创建一个大规模图像数据库的构想。随后,在2009年,李飞飞教授与她的同事一起正式启动了ImageNet项目。
2012年,AlexNet 在ImageNet上一举夺魁,这一成就标志着深度学习在图像分类领域的重大突破;
2013年,牛津大学视觉几何小组(Visual Geometry Group, VGG)提出的深度卷积神经网络VGGNet,这个网络在ImageNet大规模视觉识别挑战赛(ILSVRC)中取得了显著的成绩,证明了深度卷积网络在图像分类任务中的有效性。
2014年,Google的研究员提出GoogleNet(也称为Inception v1),Inception v1引入了Inception模块,这种设计大大提高了计算效率,同时降低了参数数量,MobileNet是另一种由Google提出的深度学习模型,实现了在保持高精度的同时减少计算量和参数数量的目标。
2015年,Joseph Redmon和Ali Farhadi等人提出Yolo目标检测,其特点在于其快速的检测速度和准确性。Yolo自问世以来,经历了多个版本的演进,包括YOLOv2等。
2016年,由微软研究院的Kaiming He、Xiangyu Zhang、Shaoqing Ren和Jian Sun等人提出ResNet,引入了残差学习的概念,随后ResNext的设计使得网络可以在保持参数数量不变的情况下,通过增加基数来提高网络的表示能力。
2017年,Google的研究者在其论文《Attention is All You Need》中提出Transformer,主要用于处理序列数据,OpenAI于2018年提出GPT,通过预训练来学习语言模式,然后在特定任务上进行微调,随后OpenAI于2022年11月推出的一个人工智能聊天机器人程序ChatGPT。
深度学习是机器学习的一种,而机器学习是实现人工智能的必经路径。深度学习的概念源于人工神经网络的研究,含多个隐藏层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。研究深度学习的动机在于建立模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本等。
从一个输入中产生一个输出所涉及的计算可以通过一个流向图(flow graph)来表示:流向图是一种能够表示计算的图,在这种图中每一个节点表示一个基本的计算以及一个计算的值,计算的结果被应用到这个节点的子节点的值。考虑这样一个计算集合,它可以被允许在每一个节点和可能的图结构中,并定义了一个函数族。输入节点没有父节点,输出节点没有子节点。
这种流向图的一个特别属性是深度(depth):从一个输入到一个输出的最长路径的长度。
传统的前馈神经网络能够被看作拥有等于层数的深度(比如对于输出层为隐层数加1)。SVMs有深度2(一个对应于核输出或者特征空间,另一个对应于所产生输出的线性混合)。
人工智能研究的方向之一,是以所谓 “专家系统” 为代表的,用大量 “如果-就”(If - Then)规则定义的,自上而下的思路。人工神经网络(Artificial Neural Network),标志着另外一种自下而上的思路。神经网络没有一个严格的正式定义。它的基本特点,是试图模仿大脑的神经元之间传递,处理信息的模式。
区别于传统的浅层学习,深度学习的不同在于:
(1)强调了模型结构的深度,通常有5层、6层,甚至10多层的隐层节点;
(2)明确了特征学习的重要性。也就是说,通过逐层特征变换,将样本在原空间的特征表示变换到一个新特征空间,从而使分类或预测更容易。与人工规则构造特征的方法相比,利用大数据来学习特征,更能够刻画数据丰富的内在信息。
通过设计建立适量的神经元计算节点和多层运算层次结构,选择合适的输入层和输出层,通过网络的学习和调优,建立起从输入到输出的函数关系,虽然不能100%找到输入与输出的函数关系,但是可以尽可能的逼近现实的关联关系。使用训练成功的网络模型,就可以实现我们对复杂事务处理的自动化要求。
①人工提取特征费时费力;②复杂问题、高维度数据人工难以应对。因此出现了对自动提取特征迫切需求。而深度学习恰恰具有这方面的优势。相对于传统机器学习方法,深度学习的不足也是明显的:①需要大量数据特别是大量标注数据的支持,而在许多应用中这一点难以满足;②深度学习的可解释性较差,对其所提取到的深度特征没有物理层面的解释。
2006年,Hinton提出了在非监督数据上建立多层神经网络的一个有效方法,具体分为两步:首先逐层构建单层神经元,这样每次都是训练一个单层网络;当所有层训练完后,使用wake-sleep算法进行调优。
将除最顶层的其他层间的权重变为双向的,这样最顶层仍然是一个单层神经网络,而其他层则变为了图模型。向上的权重用于“认知”,向下的权重用于“生成”。然后使用wake-sleep算法调整所有的权重。让认知和生成达成一致,也就是保证生成的最顶层表示能够尽可能正确的复原底层的节点。比如顶层的一个节点表示人脸,那么所有人脸的图像应该激活这个节点,并且这个结果向下生成的图像应该能够表现为一个大概的人脸图像。wake-sleep算法分为醒(wake)和睡(sleep)两个部分。
wake阶段:认知过程,通过外界的特征和向上的权重产生每一层的抽象表示,并且使用梯度下降修改层间的下行权重。
sleep阶段:生成过程,通过顶层表示和向下权重,生成底层的状态,同时修改层间向上的权重。
就是从底层开始,一层一层地往顶层训练。采用无标定数据(有标定数据也可)分层训练各层参数,这一步可以看作是一个无监督训练过程,这也是和传统神经网络区别最大的部分,可以看作是特征学习过程。具体的,先用无标定数据训练第一层,训练时先学习第一层的参数,这层可以看作是得到一个使得输出和输入差别最小的三层神经网络的隐层,由于模型容量的限制以及稀疏性约束,使得得到的模型能够学习到数据本身的结构,从而得到比输入更具有表示能力的特征;在学习得到n-l层后,将n-l层的输出作为第n层的输入,训练第n层,由此分别得到各层的参数。
就是通过带标签的数据去训练,误差自顶向下传输,对网络进行微调。基于第一步得到的各层参数进一步优调整个多层模型的参数,这一步是一个有监督训练过程。第一步类似神经网络的随机初始化初值过程,由于第一步不是随机初始化,而是通过学习输入数据的结构得到的,因而这个初值更接近全局最优,从而能够取得更好的效果。所以深度学习的良好效果在很大程度上归功于第一步的特征学习的过程。
Face++是由中国企业旷视科技(Megvii)开发的一个面部识别平台,提供了一系列的面部识别和相关服务。其特点是:高准确性和实时性、支持多种平台和编程语言、提供丰富的API接口。Face++被广泛应用于安全监控、身份验证、智能交互等多个领域。
Yolo是一种流行的实时物体检测系统,由Joseph Redmon等人首次提出,其特点是:实时检测、通用性强、易于训练和部署。Yolo版本从v1、v2更新至v12。Yolo被广泛应用于视频监控、自动驾驶、工业自动化等领域。
SAM是由Meta AI实验室于2023年提出的,它是一个强大的图像分割模型,可以分割图像中的任何对象。SAM可以应用于图像编辑、增强现实、内容理解等多个领域。SAM可以应用于图像编辑、增强现实、内容理解等多个领域,其特点包含自然语言处理、上下文理解、多领域知识、任务执行。SAM主要应用如下,第一,客服机器人:用于解答客户问题,提供实时帮助;第二,教育辅导:帮助学生理解复杂概念,提供个性化学习建议;第三,内容创作:辅助写作、生成创意文本、撰写报告等;第四,编程助手:帮助开发者解决编程问题,提供代码建议。
ChatGPT是由OpenAI开发的基于深度学习的自然语言处理模型。它能够生成连贯的对话,理解和回答用户的问题,并提供丰富的信息。在2018年OpenAI发布了首个GPT模型,标志着基于Transformer架构的生成模型的开始。该模型在文本生成和理解任务上展示了优越的性能。后续随着GPT-2、GPT-3的发布带来了更为强大的语言理解和生成能力,在多种任务中表现出色。直到2022年ChatGPT的发布 OpenAI推出了专门针对对话任务优化的ChatGPT。它能够进行更自然的对话、理解上下文并生成更为连贯的回复。这一发布引起了广泛关注和使用,成为许多应用的核心。下面是ChatGPT如今在自然语言处理方面的应用:
1.编程助手:ChatGPT帮助开发者解决编程问题,提供代码建议和调试支持。
2.教育:在教育领域,ChatGPT被用于辅导学生,提供个性化的学习建议和解答。
3.内容创作:创作者使用ChatGPT来生成文章、博客、营销文案等,提高创作效率。
4.在线客服:被广泛应用于客户服务,提供24/7的支持,处理常见问题,提升客户满意度。
AlphaGo是由DeepMind开发的一个基于深度学习的围棋人工智能程序,它目标是通过深度学习和强化学习,开发出能够在围棋对弈中超越人类顶尖棋手的AI。AlphaGo的成功标志着人工智能在复杂博弈中的重要突破,后续被广泛应用于研究、游戏以及算法优化等领域。下面是应用AlphaGo的例子:
1.棋局分析:2016年,AlphaGo与韩国棋手李世石进行的五局比赛中,AlphaGo 获胜四局。AlphaGo能够分析围棋局面,为棋手提供深入的战术和策略建议,帮助棋手提高水平。围棋培训机构也可利用AlphaGo的技术开发教学工具,帮助初学者和进阶棋手理解复杂的围棋策略。
2.游戏对战:在电子竞技游戏(如《英雄联盟》)中,可以使用AlphaGo的算法构建智能NPC(非玩家控制角色),提升游戏的挑战性和趣味性。
3.商业决策:借鉴AlphaGo的强化学习算法,金融机构可以开发AI系统,分析不同投资策略的收益与风险,建议最佳的投资方式。
特斯拉的AutoPilot系统是一个多功能的辅助驾驶系统,广泛应用于各种驾驶场景中。第一,在日常通勤中,AutoPilot可以帮助驾驶员在高速公路上维持车速和车道位置,减少长途驾驶的疲劳;第二,在交通拥堵中,AutoPilot可以自动控制车辆的速度和制动,使车辆能够在车流中缓慢前进,减轻驾驶员在拥堵路段的操作负担;第三,在高速公路驾驶中,AutoPilot的自动导航功能可以帮助驾驶员自动变换车道,以及进出高速公路的匝道,提高驾驶的便利性和安全性;第四,在自动泊车中,AutoPilot的自动泊车功能可以帮助驾驶员轻松地将车辆停入车位,尤其是在狭小的空间或者驾驶员操作不便的情况下。
AlphaCode是由DeepMind开发的一个人工智能系统,旨在解决编程竞赛中的问题。AlphaCode的具体应用包含,第一,辅助编程教育:帮助学生和初学者理解如何解决复杂的编程问题;第二,软件开发:AlphaCode可以帮助开发者快速生成代码原型,特别是在需要解决算法密集型问题时;第三,研究与发展:AlphaCode的研究和发展可以推动人工智能在代码理解和生成方面的进步,这对于自动化软件开发和增强开发效率具有重要意义;第四,代码审查和优化,AlphaCode有可能被用于代码审查过程,帮助识别潜在的代码缺陷和提出优化建议。
AlphaFold是由DeepMind开发的人工智能系统,它在蛋白质结构预测领域取得了突破性的进展。主要包含以下应用,第一,蛋白质结构预测,AlphaFold能够仅根据蛋白质的氨基酸序列准确预测其结构,这在以前是一个耗时且成本高昂的过程;第二,药物设计和开发,AlphaFold可以帮助研究人员快速识别药物靶点,设计小分子药物,以及理解药物与靶点之间的相互作用;第三,疾病研究,AlphaFold可以用于研究疾病的分子机制。通过预测与疾病相关的蛋白质变异的结构,研究人员可以更好地理解这些变异如何影响蛋白质功能,进而影响健康。
机器人技术在集成方面的应用非常广泛,它涉及将机器人系统与各种工业流程、信息技术、控制系统和其他自动化设备结合,以提高效率、减少错误、增强灵活性和降低成本。机器人的主要应用包含以下方面,第一,工业自动化集成:在制造业中,机器人被集成到生产线中,用于组装、焊接、搬运、包装、检测和加工等任务。这些机器人通常与机器视觉系统、传感器、输送带和其他自动化设备配合工作。第二,物流与供应链管理:机器人在仓库中集成,用于自动搬运、分拣、堆垛和打包货物。它们可以与仓库管理系统(WMS)、运输管理系统(TMS)以及其他物流软件集成,实现高效的库存管理和货物配送;第三,智能生产线:机器人可以与智能制造执行系统(MES)、企业资源规划(ERP)系统集成,实现生产过程的实时监控、数据分析和优化。
深度学习之所能够在当今取得巨大突破,除了诸如Hinton、Schmihuber、HopField等科学家们在算法方面的不断创新,还离不开以GPU为代表的计算硬件和以ImageNet为代表的大数据的发展。因此,深度学习的三要素包括:
①算法软件,在新型神经网络模型、自动求导算法、开源社区的发展,美国加拿大多伦多大学的Hinton教授因其在新型神经网络方面的巨大贡献,获得了2024年的诺贝尔物理学奖。
②算力硬件,以INVIDIA GPU为代表的支持高效并行和大型矩阵计算的智能硬件计算单元,INVIDIA创始人黄仁勋因在GPU硬件方面做出重要贡献而当选美国工程院院士。
③大数据,ImageNet,ImageNet的创办者李飞飞,因大规模视觉图像数据集的建设做出杰出贡献而当选美国工程院院士。
人工智能是一个学科领域,广义上讲一切能够模拟人、替代人的技术、方法和系统都属于人工智能的范畴。人工智能的概念从1956年在达特莫斯会议上被提出后历经了漫长的发展过程,出现了多种多样的技术方法,也获得了广泛的应用。但现阶段科技界和工业界关注的人工智能是一种强人工智能或者是通用人工智能。深度学习是人工智能研究中一条技术途径,也是2012年以后被认为是解决强人工智能的最有潜力的途径。
深度学习是机器学习的一个重要分支。与其它机器学习方法相比,深度学习最核心的技术特征是具有自动提取特征的能力。由于特征表示与提取是许多机器学习方法的基础,也是重要难题。长期以来。结合不同行业和应用领域知识,由专业技术人员人工设计和提取特征是前深度学习时代的一项重要研究任务,这一工作也被称为特征工程。深度学习的强大之处在于将特征工程这一费时费力的工作转变为由机器自动完成,这也是深度学习得以广泛应用的核心价值。
神经网络的发展远早于深度学习。但在神经网络技术发展的初期,仅限于浅层的神经网络模型(通常不超过3层)。最典型的浅层神经网络是感知机模型。感知机模型也是最简单的神经网络模型,它不仅只有1层,而且只有1个神经元,该模型最早在1958年提出;另一种典型的浅层神经网络是多层感知机模型,也即拥有2个计算层的神经网络模型。神经网络模型的层数逐渐变多,并通过反向传播算法用于机器学习任务便诞生了现在令世人瞩目的深度学习技术。
从网络结构的角度来看,深度学习技术的网络模型可以分3大类:
①神经元模型:神经元模型是对生物神经元的数学抽象,用于模拟神经元的结构和功能。在人工智能和机器学习领域,神经元模型通常是指人工神经网络中的基本单元。包含输入、权重、阈值和输出四个方面。
②多层感知机模型:多层感知机(Multilayer Perceptron,MLP)是一种前馈人工神经网络,它包含至少三层节点:输入层、一个或多个隐藏层以及输出层。
①卷积神经网络模型:卷积神经网络(Convolutional Neural Network,CNN)是一种专为处理具有网格结构数据(如图像)设计的深度学习模型。CNN在图像识别、物体检测、视频分析和计算机视觉等领域取得了显著的成功。主要包含卷积层、激活函数、池化层、全连接函数等。
②循环神经网络模型:循环神经网络(Recurrent Neural Network,RNN)是一种处理序列数据的神经网络。与传统的神经网络不同,RNN具有内部状态(记忆),能够处理输入信息的序列,这使得它们非常适合处理语言处理、时间序列分析、语音识别等任务。
③图神经网络模型:图神经网络(Graph Neural Networks,GNNs)是一种专门处理图结构数据的深度学习模型。与传统的深度学习模型(如卷积神经网络CNN处理图像数据,循环神经网络RNN处理序列数据)不同,GNN可以直接在图上进行学习和推理。主要包含节点表示初始化、邻域信息聚合、更新节点表示、读出层(可选)。
④Transformer网络模型:Transformer网络模型是一种基于自注意力机制的深度学习模型,最初由Google的研究者在2017年的论文《Attention is All You Need》中提出。Transformer模型在自然语言处理(NLP)领域取得了显著的成功,尤其是在机器翻译任务上。主要包含自注意力机制、多头注意力、位置编码、编码器-解码器架构。
①编-解码器架构:编-解码器(Encoder-Decoder)架构是一种常用于序列到序列(sequence to sequence)学习的神经网络模型设计。这种架构最初被用于机器翻译任务,但随后被广泛应用于各种涉及序列转换的问题,如文本摘要、对话系统、语音识别等。
②孪生网络架构:孪生网络(Siamese Network)是一种特殊的神经网络架构,它由两个或多个结构相同但参数共享的子网络组成。这种网络的设计理念是让两个子网络处理不同但相关的输入数据,然后比较它们的输出,以执行诸如相似性度量、模式识别等任务。包含参数共享的子网络、特征提取器、相似性度量。
监督学习(Supervised Learning)是机器学习的一种主要方法,它通过使用带有标签的数据集来训练算法模型,使模型能够对新的、未见过的数据进行准确的预测或分类。
无监督学习(Unsupervised Learning)是机器学习的另一种主要方法,它与监督学习的主要区别在于,无监督学习使用的数据集没有标签或者输出。无监督学习的目标是发现数据中的模式、关联或者结构,而不是预测标签。
强化学习(Reinforcement Learning, RL)是机器学习的另一种主要方法,它主要关注如何让智能体(agent)在某个环境中通过学习达到某种目标。与监督学习和无监督学习不同,强化学习不是通过提供数据样本和标签来训练模型,而是通过智能体与环境的交互来学习策略(policy),以最大化累积奖励。
生成式深度学习的本质是利用深层神经网络来表示一类高维数据的复杂分布。典型模型包括深度信念网络、GAN网络、VAE网络、扩散模型等。这类网络都可认为是对一类数据总体的分布建模。生成式深度学习可用于生成高维数据,Sora模型是这类模型的典型例子。
判别式深度学习的本质是利用深度神经网络来提出高维数据的低维特征表示后,进行分类、回归。判别式深度学习的核心是从数据中提取稳健的特征,Yolo模型是这类模型的典型例子。