赞
踩
近些年人工智能、机器学习和深度学习的概念十分火热,但很多从业者却很难说清它们之间的关系,外行人更是雾里看花。在研究深度学习之前,先从三个概念的正本清源开始。概括来说,人工智能、机器学习和深度学习覆盖的技术范畴是逐层递减的,三者的关系如 图 所示,即:人工智能 > 机器学习 > 深度学习。
人工智能(Artificial Intelligence,AI)是最宽泛的概念,是研发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。由于这个定义只阐述了目标,而没有限定方法,因此实现人工智能存在的诸多方法和分支,导致其变成一个“大杂烩”式的学科。机器学习(Machine Learning,ML)是当前比较有效的一种实现人工智能的方式。深度学习(Deep Learning,DL)是机器学习算法中最热门的一个分支,近些年取得了显著的进展,并替代了大多数传统机器学习算法。
区别于人工智能,机器学习、尤其是监督学习则有更加明确的指代。机器学习是专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构,使之不断改善自身的性能。这句话有点“云山雾罩”的感觉,让人不知所云,下面我们从机器学习的实现原理和实施方法两个维度进行剖析,帮助读者更加清晰地认识机器学习的来龙去脉。
机器学习的实现可以分成两步:训练和预测,类似于归纳和演绎
从一定数量的样本(已知模型输入x和模型输出y)中,学习输出y与输入x的关系(归纳:从具体案例中抽象一般规律)。
基于训练得到的y与x之间的关系,如出现新的输入x,计算出输出y(演绎:从一般规律推导出具体案例的结果)。一般情况下,如果通过模型计算的输出和真实场景的输出一致,则说明模型是有效的。
机器学习的实施方法和人类科研的过程有着异曲同工之妙。通过大量实验数据的训练,确定模型参数。
确定参数的过程与科学家提出假说的方式类似,合理的假说可以最大化的解释所有的已知观测数据。如果未来观测到不符合理论假说的新数据,科学家会尝试提出新的假说。如:天文史上,使用大圆和小圆组合的方式计算天体运行,在中世纪是可以拟合观测数据的。但随着欧洲工业革命的推动,天文观测设备逐渐强大,已有的理论已经无法解释越来越多的观测数据,这促进了使用椭圆计算天体运行的理论假说出现。
模型有效的基本条件是能够拟合已知的样本,这给我们提供了学习有效模型的实现方案。
下图是以H为模型的假设,它是一个关于参数w和输入x的函数,用H(w,x) 表示。模型的优化目标是H(w,x)的输出与真实输出Y尽量一致,两者的相差程度即是模型效果的评价函数(相差越小越好)。那么,确定参数的过程就是在已知的样本上,不断减小该评价函数(H的计算结果和Y的差距)的过程。直到模型学习到一个参数w,使得评价函数的值最小,衡量模型预测值和真实值差距的评价函数也被称为损失函数(Loss)。
假设机器通过尝试答对(最小化损失)大量的习题(已知样本)来学习知识(模型参数w),并期望用学习到的知识所代表的模型H(w,x),回答不知道答案的考试题(未知样本)。最小化损失是模型的优化目标,实现损失最小化的方法称为优化算法,也称为寻解算法(找到使得损失函数最小的参数解)。参数w和输入x组成公式的基本结构称为假设。模型假设、评价函数(损失/优化目标)和优化算法是构成模型的三个关键要素。
模型假设、评价函数和优化算法是如何支撑机器学习流程的呢?
世界上的可能关系千千万,漫无目标的试探Y与X之间的关系显然是十分低效的。因此假设空间先圈定了一个模型能够表达的关系可能,如红色圆圈所示。机器还会进一步在假设圈定的圆圈内寻找最优的Y~X关系,即确定参数w。
寻找最优之前,我们需要先定义什么是最优,即评价一个Y~X关系的好坏的指标。通常衡量该关系是否能很好的拟合现有观测样本,将拟合的误差最小作为优化目标。
设置了评价指标后,就可以在假设圈定的范围内,将使得评价指标最优(损失函数最小/最拟合已有观测样本)的Y~X关系找出来,这个寻找最优解的方法即为优化算法。最笨的优化算法即按照参数的可能,穷举每一个可能取值来计算损失函数,保留使得损失函数最小的参数作为最终结果。
机器执行学习任务的框架体现了其学习的本质是“参数估计”(Learning is parameter estimation)。
上述方法论使用更规范化的表示如图:
未知目标函数f,以训练样本D=
(x 1,y 1),…,(xn,yn)为依据。从假设集合H中,通过学习算法A找到一个函数g。如果g能够最大程度的拟合训练样本D,那么可以认为函数g就接近于目标函数f。
在此基础上,许多看起来完全不一样的问题都可以使用同样的框架进行学习,如科学定律、图像识别、机器翻译和自动问答等,它们的学习目标都是拟合一个“大公式f”,如下图:
机器学习算法理论在上个世纪90年代发展成熟,随着大数据的涌现和计算机算力提升,深度学习模型异军突起,极大改变了机器学习的应用格局。今天,多数机器学习任务都可以使用深度学习模型解决,尤其在语音、计算机视觉和自然语言处理等领域,深度学习模型的效果比传统机器学习算法有显著提升。
相比传统的机器学习算法,深度学习在理论结构上是一致的,即:模型假设、评价函数和优化算法,其根本差别在于假设的复杂度。
对于对于美女照片,人脑可以接收到五颜六色的光学信号,能快速反应出这张图片是一位美女。但对计算机而言,只能接收到一个数字矩阵,对于美女这种高级的语义概念,从像素到高级语义概念中间要经历的信息变换的复杂性是难以想象的,如上图所示。
这种变换已经无法用数学公式表达,因此研究者们借鉴了人脑神经元的结构,设计出神经网络的模型,
(a)展示了神经网络基本单元-感知机的设计方案,其处理信息的方式与人脑中的单一神经元有很强的相似性;(b)展示了几种经典的神经网络结构(后续的章节中会详细讲述),类似于人脑中多种基于大量神经元连接而形成的不同职能的器官。
人工神经网络包括多个神经网络层,如:卷积层、全连接层、LSTM等,每一层又包括很多神经元,超过三层的非线性神经网络都可以被称为深度神经网络。通俗的讲,深度学习的模型可以视为是输入到输出的映射函数,如图像到高级语义(美女)的映射,足够深的神经网络理论上可以拟合任何复杂的函数。因此神经网络非常适合学习样本数据的内在规律和表示层次,对文字、图像和语音任务有很好的适用性。这几个领域的任务是人工智能的基础模块,因此深度学习被称为实现人工智能的基础也就不足为奇了。
神经网络中每个节点称为神经元,由两部分组成:
加权和:将所有输入加权求和。
非线性变换(激活函数):加权和的结果经过一个非线性函数变换,让神经元计算具备非线性的能力。
大量这样的节点按照不同的层次排布,形成多层的结构连接起来,即称为神经网络。
前向计算: 从输入计算输出的过程,顺序从网络前至后。
以图形化的方式展现神经网络的计算逻辑又称为计算图,也可以将神经网络的计算图以公式的方式表达:
Y=f 3 (f 2 (f 1 (w 1 ⋅x 1 +w 2 ⋅x 2 +w 3 ⋅x 3 +b)+…)…)…)
由此可见,神经网络并没有那么神秘,它的本质是一个含有很多参数的“大公式”。
深度学习改变了很多领域算法的实现模式。在深度学习兴起之前,很多领域建模的思路是投入大量精力做特征工程,将专家对某个领域的“人工理解”沉淀成特征表达,然后使用简单模型完成任务(如分类或回归)。而在数据充足的情况下,深度学习模型可以实现端到端的学习,即不需要专门做特征工程,将原始的特征输入模型中,模型可同时完成特征提取和分类任务,如下图。
除了应用广泛的特点外,深度学习还推动人工智能进入工业大生产阶段,算法的通用性导致标准化、自动化和模块化的框架产生。
在此之前,不同流派的机器学习算法理论和实现均不同,导致每个算法均要独立实现,如随机森林和支撑向量机(SVM)。但在深度学习框架下,不同模型的算法结构有较大的通用性,如常用于计算机视觉的卷积神经网络模型(CNN)和常用于自然语言处理的长期短期记忆模型(LSTM),都可以分为组网模块、梯度下降的优化模块和预测模块等。这使得抽象出统一的框架成为了可能,并大大降低了编写建模代码的成本。
“大”模型,就是模型中比较“大”的那一类,大的具体含义也就是数学公式更复杂,它的参数更多。
以ChatGPT为例,ChatGPT的实质功能非常简单,四个字就能概括:「单字接龙」。具体来说就是:给它「任意长的上文」,它会用「自己的模型」去生成「下一个字」。
GPT-3之前还做过几代模型,基本结构大同小异,我们且不看其他的改进,仅比对一下规模。
这里 1 MB 能存 30-50 万汉字,而 1 GB 是 1024 MB。
数据集 | 参数 | |
---|---|---|
GPT-1 | 5GB | 1.17亿 |
GPT-2 | 40GB | 15亿 |
GPT-3 | 45TB | 1750亿 |
GPT-3 已经和前两代不是一个量级的了,也被称为「超大语言模型(LLM)」。参数量更多,学习的数据量更多,模型的泛化能力更强。到了此种规模的 GPT-3就轻松学会了各种词语搭配和语法规则,能明白同一个意思的不同表达,还学会了编程语言,以及不同语言之间的关系,可以给出高质量的外语翻译,还能把我们的口语转换成代码。
ChatGPT 是有里程碑意义的,它的意义并不在于产品和创新,而在于完成了一次验证,让全球看到了「大语言模型的可行性」。
但大语言模型展现了人们未曾想过的“理解”能力,这使得我们极有希望真正实现“让机器‘理解’自然语言”这一目标。不过需要说明的是,「人类的理解」和「语言模型的“理解”」并不相同。
语言模型的“理解”是指:能够「明确」接收到了「哪些语言符号」,并能处理「不同语言符号之间的关系」,但却不能将「语言符号」和「指代对象」进行关联,没有与现实对应。
人类的理解则比「语言模型的“理解”」多了一个环节,能够将「语言符号」和「指代对象」关联起来,与现实对应起来。
不过,语言模型不理解符号的指代,其实不影响我们使用它,毕竟我们是把它当成工具,又不是把它作为独立改造世界的个体。因此只需要得到语言模型的回答,然后由人类来解读和实践即可。合理地使用大语言模型,就可以让一个普通人,快捷准确地触及各行各业的平均知识。让AI使我们的生活工作更美好。
部分内容摘至百度的AI studio学习平台
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。