机器学习基本概念
前言
本文主要介绍了深度学习基础,包括机器学习、深度学习的概念,机器学习的两种典型任务分类任务和回归任务,机器学习中的基础名词解释以及模型训练的基本流程等。
一.认识机器学习
1.人工智能和机器学习
人工智能(Artificial Intelligence,简称AI) 是指由计算机系统所表现出的智能行为。它是一门研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的学科。人工智能的目标是使机器能够执行通常需要人类智能才能完成的任务,如学习、推理、解决问题、理解语言、识别图像等
人工智能的关键技术包括:
- 机器学习(Machine Learning, ML):通过数据训练模型,使计算机能够从经验中学习并改进性能。
- 深度学习(Deep Learning):一种特殊的机器学习方法,使用多层神经网络来处理复杂的数据模式。
- 自然语言处理(Natural Language Processing, NLP):使计算机能够理解和生成人类语言。
- 计算机视觉(Computer Vision*:让计算机能够“看”和解释图像或视频内容。
- 强化学习(Reinforcement Learning):通过奖励和惩罚机制来训练AI系统做出最优决策。
机器学习是一种通过大量数据去迭代逼近未知参数的最优解的方法。 深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络。
人工智能已经广泛应用于多个行业,如医疗、金融、交通、娱乐、教育等。常见的应用场景包括自动驾驶汽车、智能客服、个性化推荐、疾病诊断、语音助手等。
2.机器如何学习
机器学习是对人脑学习的模拟,人类通过学习在大脑中形成对事物的认知,也就是知识,当大脑接受到新的问题时能够根据自身的认知和经验给出答案。那么机器也是一样,我们对AI提供大量的数据进行学习和反复训练那么AI也能够形成一套“知识”体系。当输入新的数据给AI那么它就能根据自己的“知识”体系给出较为精准的结果,如下:
3.什么是神经网络
深度学习和机器学习最大的区别是深度学习引入了神经网络,神经网络的构建是通过模拟人类神经元之间的信息传递过程。
人体大脑学习过程是通过感觉器官接收外界刺激信息,如视觉、听觉、触觉等,这些信息转化为神经信号传递到大脑,神经信号在神经元之间通过突触
进行传导。 神经元是主要由树突、轴突、突出组成,树突是从上面接收很多信号,经过轴突处理后传递给突触,突触会进行选择性向下一级的树突传递信号。
通过这种方式,神经元之间形成了复杂的连接网络,使得大脑能够进行信息的传递、整合和处理,以实现各种认知、情感和行为功能。此外,突触在学习、记忆等过程中还可以发生动态的变化和重塑,以适应新的经验和环境需求。
那么神经网络模拟的就是神经元之间的信息传递过程,每个神经网络单元抽象出来一种=数学MP模型
,也叫感知器,它接收多个输入(x1,x2,x3…),产生一个输出 即 y= W1X1+W2X2+W3X3+…+WnXn + b。
这就好比是神经末梢感受各种外部环境的变化(感知外部刺激),产生不同的电信号(也就是输入:x1,x2,x3…xn),这些强度不同(也就是参数w1,w2,w3…wn)的电信号汇聚到一起,会改变这些神经元内的电位,如果神经元的电位超过了一个“阈值”(参数 b),它就会被激活(激活函数),即“兴奋”起来,向其他神经元发送化学物质。
下面是MP模型示例图,它是麦卡洛克一皮茨模型(McCulloch-Pitts model )简称,一种早期的神经元网络模型.
MP模型由美国神经生理学家麦卡洛克(McCulloch, W.)和数学家皮茨 <Pitts,W.)于1943年共同提出。设有n个神经元相互连结,每个神经元的状态Si (i=1,2,…,n)取值0或1,分别表示该神经元的抑制和兴奋,每个神经元的状态都受其他神经元的制约,B是第i个神经元的阂值,W是神经元i与神经元j之间的连结强度。
MP模型过程:
- 每个神经元都是一个多输入端如x1,x2,x3
- 每个输入都会乘以权重w1,w2,w3,再加一个阈值 b
- 最后我们会得到 y = w1x1 + w2x2 + w3x3 + b,最终我们得到一个值 y
- 得到这个值后是否会向下游输出则取决于激活函数f(x)
- 向下游输出的结果Oj的值要么是0,要么是1。
激活函数
激活函数:就是在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。
如果不用激活函数:每一层输出都是上层输入的线性函数,无论神经网络有多少层,输出都是输入的线性组合,这种情况就是最原始的感知机(Perceptron)。 如果使用激活函数:激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。
单个的感知器(也叫单感知机)就构成了一个简单的模型(MP模型),但在现实世界中,实际的决策模型则要复杂得多,往往是由多个感知器组成的多层网络,如下图所示,这也是经典的神经网络模型(也叫多感知机),由输入层、隐含层、输出层构成。
4.机器学习的两种任务
机器学习的典型任务可以分为:分类任务 和 回归任务,分类任务:找到分类边界,将不同类型的数据划分开。回归任务:通过模型拟合数据点分布,预测新数据的值。分类任务输出离散值,回归任务输出连续值。
分类任务: 是根据每个样本的值特征预测该样本属于类型A、类型B还是类型C,例如情感分类、内容审核,相当于学习了一个分类边界(决策边界),用分类边界把不同类别的数据区分开来。
回归任务:是对连续值进行预测,根据每个样本的值特征预测该样本的具体数值,例如房价预测,股票预测等,相当于学习到了这一组数据背后的分布,能够根据数据的输入预测该数据的取值。
分类模型只能输出对与错,通常用来将预测结果是将样本划分到某个特定类别,而回归模型输出的数据的预测值,例如,判断一个水果是苹果还是橙子用分类模型,而预测明天的气温是多少度则用回归模型。
5.有监督学习和无监督学习
为什么要分有监督和无监督:当训练员训练小狗的时候,如果小狗做出了一个正确的动作,都会奖励一个实物给小狗来标记一个正确的信号,模型训练也是如此:我们需要通过真实数据去标注模型的预测值是否正确,或者误差值是多少,这个就是有监督学习,有监督和无监督区别如下:
有监督学习:监督学习利用大量的标注数据来训练模型,对模型的预测值和数据的真实标签计算损失,然后将误差进行反向传播(计算梯度、更新参数),通过不断的学习,最终可以获得识别新样本的能力。
每条数据都有正确答案,通过模型预结果与正确答案的误差不断优化模型参数
无监督学习:无监督学习不依赖任何标签值,通过对数据内在特征的挖掘,找到样本间的关系,比如聚类相关的任务。有监督和无监督最主要的区别在于模型在训练时是否需要人工标注的标签信息。
只有数据没有答案,常见的是聚类算法,通过衡量样本之间的距离来划分类別
6.什么是模型
模型可以通过对海量数据的学习,吸收数据里面的“知识”。然后,再对知识进行运用,例如回答问题、创造内容等,所谓模型,就是一个包含了大量未知参数的函数,给函数输入数据生成输出,所谓训练,就是通过大量的数据去迭代逼近这些未知参数的最优解。
为什么要训练模型?如果我们对模型提供不同领域的数据进行训练那么他们能够预测的数据范围也就不一样。比如:我们使用法律相关的数据进行训练,那么当你在询问它法律的问题时他就能给出较为精准的答案,当你问他医疗的问题它肯定就无法给出你想要的答案了。
就好比一只小狗你训练它跳火圈,那么它就只会跳火圈,你训练它学猫叫他它就会学猫叫,AI也是一样,这样就形成了一个一个的“模型”,有些模型的能力是绘图,有些模型的能力是对话,就看你怎么训练它。
如果你们公司希望大模型能够针对于你们自己的业务和数据做出精准的预测值,那么就需要通过你们公司自己的大量数据去训练,这也就是为什么企业都需要自己去部署和训练模型,因为市面上的模型不一定适用于你们公司的业务。
而大模型(Large Model) 是指参数量非常庞大、规模远超传统模型的人工智能模型。这类模型通常具有数以亿计甚至数以万亿计的参数,能够在多种任务上表现出卓越的性能和通用性。大模型通过大量的数据训练,能够捕捉到复杂的数据模式和语义信息,从而在自然语言处理、计算机视觉、语音识别等领域展现出强大的能力。
我们现在口头上常说的大模型,实际上特指大模型的其中一类,也是用得最多的一类——语言大模型(Large Language Model,也叫大语言模型,简称LLM)。
除了语言大模型之外,还有视觉大模型、多模态大模型等。现在,包括所有类别在内的大模型合集,被称为广义的大模型。而语言大模型,被称为狭义的大模型
7.大模型训练流程
如果想要大模型如同人脑一样给出精准结果,那么需要提供大量数据进行“投喂”(学习),并且需要“标记”模型给出的答案是否“正确”,我们把学习的过程,我们称之为训练,运用的过程,则称之为推理。比如:我给大模型投喂的数据是"1+1=?" , 然后给出正确值为 2,那么大模型就学习到1+1=2,那么当你对他提出问题“1+1=?”,那么它可能就会给出推理的值2,下面是大模型学习和训练的过程: