深入浅出人工智能:一篇用白话讲清“神经网络”和“机器学习”的文章

113 阅读11分钟

ChatGPT展现的强大能力,离不开人工智能相关技术的发展和成熟。本文我们将逐条拆解ChatGPT背后相关的技术。

图片

1956年8月,在美国的达特茅斯学院,约翰·麦卡锡、马文·闵斯基、克劳德·香农、艾伦·纽厄尔、赫伯特·西蒙等科学家聚在一起,共同讨论该如何用机器来模仿人类学习及其他方面的智能。

这场会议历时2个月才正式结束,虽然最终没有达成共识,但是科学家们为讨论的内容起了一个名字--人工智能

因此,1956年也就成了人工智能元年。此后,人工智能相关的概念和理论基础也开始逐渐被提出,时至今日,这些理论依然发挥着巨大的作用。

图片

1.神经网络

不得不说,“神经网络”一词取得非常巧妙,让人自然地联想到生物体中由神经元构成的复杂神经网络,进而想象其可以实现的各种强大功能。神经元细胞如图3-1所示。

图片

让我们先看一下人体中神经元细胞的工作机制。当人体受到外界的刺激后,如听到声音、看到画面等,这些刺激都会变成信号传递给树突。

树突的作用就是用来接收这些信号,然后通过一定的介质激活这个神经元,随后通过长长的轴突将信号传导至下一个神经元的树突,去激活下一个神经元。这样一层层不断向下传导的过程,就是人体神经元的工作流程。

在人工智能领域,神经网络其实是用算法模拟人类神经元的传导机制。

此时,人体中复杂的神经元细胞被简化成图3-2中的一个个圆圈节点,这些节点就是人工神经网络中的神经元,经过这些神经元一层层地传导信息,即从前一个神经元通过轴突激活后传递到下一个神经元。

图片

如图3-2所示,从左向右不同的层级有着不同的含义最左边是输入层(InputLayer),用来接收输入数据,并将其传递至下一层,但不会对输入数据执行任何运算。

最右边是输出层(Output Layer),用来输出模型的最终结果。中间是隐藏层(Hidden Layer),通过不同的方式对输入数据进行处理。

和输入层与输出层不同的是,隐藏层可以不止一层,大致来说,隐藏层的层数越多,处理数据的能力就越强,模型的“智能”程度也越高。

作为最古老的神经网络,感知机的出现最早可追溯到1958年,其隐藏层仅有一层,是最简单的神经网络。

在了解神经网络的基本结构以后,接下来我们来看神经网络具体是如何传输信息的。

图片

我们需要知道,在每一层都可以人为设定神经元的个数(也被称为超参数),比如,在输入层设计4个节点,每个隐藏层有10个节点,输出层有2个节点等。

此外,对于隐藏层的每个神经元节点,可以将其分为两个部分,输入层传过来的数据通过加权求和后得到神经元的左半部分。

然后将加权求和的结果通过神经元右侧的非线性函数,也称激活函数(Activation Function)的运算,最终得到经过该神经元处理后的结果。

可以这么说,这个非线性激活函数,就是神经网络具备“智能”的最基础,也是最关键的部分,如图3-3所示。

图片

输入数据从左到右一层一层地经过不同隐藏层节点的加权求和与激活函数,把前一层的输出作为下一层的输入,这一过程就是前向传播(ForwardPropagation),也就是神经元网络建模的过程。

在建模之后,还要对模型进行优化,此时需要的就是反向传播(Backward Propagation),目的是对参数(每个节点输入数据的权重)进行更新,计算的方向与前向传播相反,即从右向左逐层求解。

图片

在前向传播和反向传播之后,我们得到一个模型的输出值,即预测值,和真实的结果比较,计算出误差的大小。

不断重复如上的过程,就可以让模型的参数调整到合适的数值,进而使得模型的输出误差逐渐缩小,最终其小到可以接受的范围时,就能得到可用的模型,这是神经网络完整的工作机制。

图片

2.机器学习

自计算机问世以来,研究人员用计算机模拟或实现人类学习的行为从未停止。机器学习是指通过概率论、统计学等算法,对大量的数据进行拟合,进而利用迭代优化后的模型得到分类或者回归等任务的结果,最终实现指导和改进现实中的业务。

如果用做菜类比机器学习的过程,那么输入数据就是调味料的种类和用量,食材的种类和用量,以及烹饪时间等因素,机器学习模型通过一次次地改变各个因素的值,最终做出一道美味可口的菜肴。

通常来说,机器学习可以分为监督学习、半监督学习、无监督学习、强化学习和深度学习等类别。

①监督学习

所谓监督学习,就是机器学习模型使用的训练数据有标签,即每个样本对应的结果是已知的,模型每次输出的结果可以和真实值进行比较,相当于做完题后可以直接对答案,自然进步的速度会快一些。

图片

通常,监督学习被用在垃圾短信和垃圾邮件的识别上,这都依赖于用户对于历史短信和邮件的标记,模型通过对这些有标签数据进行学习后,未来收到新短信时,就可以预测是否为垃圾短信。

虽然监督学习的效果通常不错,但缺点在于有标签的数据难以获得,通常需要大量的人工标注,因此成本较高。

②无监督学习

相比监督学习,无监督学习与其最大的区别在于训练数据没有标签。

图片

例如,如果给模型看100张不同狗狗的照片,模型会学习出狗狗具备的共同特征,从而将它们分为一类,当模型再看到新的狗狗的照片时,依然可以将其归类到和这100张照片相同的类别当中,但由于没有标签,模型并不知道这些图片的类别是“狗狗”。

对于无监督学习,聚类和降维是最常见的两种算法。

图片

简单来说,聚类就相当于“物以类聚,人以群分”,如图3-4所示,把数据中距离相近的点归为一类,最终被分为多少个类别是人为规定的,也是一个超参数。

当然,“距离”有多种计算方式,如曼哈顿距离、欧氏距离、夹角余弦值等,这里不再赘述。

图片

降维就是把高维数据转化为低维数据的过程。在大部分情况下,输入模型的数据并不是人类常见的二维或者三维数据,而是高达成百上千个维度,但其中的很多维度对于模型最终的结果贡献很小。

通过降维去掉这些维度之后,模型的准确度不会降低,但模型的大小会被压缩,使得训练和预测的时间大大缩短,这就是降维存在的意义。

图片

在实际中,最常见的降维方法就是主成分分析(Principal Commponent Analysis,PCA )。主成分分析可以把具有相关性的高维变量变成线性无关的低维变量,尽可能保留原始数据的信息。

图片

③半监督学习

顾名思义,半监督学习就是介于监督学习和无监督学习之间的一种方式。在模型使用的数据集中,一部分数据是有标签的,另一部分数据则是无标签的,通常无标签的数据要远多于有标签的数据,平衡了成本和数据量之间的关系。

图片

例如,当婴幼儿看到一只狗的时候,父母会告诉他/她--这是狗,此时婴幼儿接收到的输入数据就是少量的有标签数据,这样反复多次之后,婴幼儿再看到其他品种的狗--大量的无标签数据,他/她也可以依据之前的经验,非常准确地判断其面前的是不是一只狗,这个过程就是半监督学习。

④强化学习

相比监督学习和无监督学习,强化学习更适合用日常的例子进行理解。

当我们玩游戏的时候,总会有一个目标,就是让最终的奖励最大化,在游戏过程中,有些陷阱的设计看似在短期内会让玩家获得较多金币,当游戏结束时,玩家却不一定能获得最多的奖励。

强化学习的精髓就在于通过“延迟满足感”获得最大的奖励。策略、奖励、价值、环境是强化学习系统最重要的4个要素。

图片

如图3-5所示,强化学习中的智能体(Agcnt)通过执行不同的动作,获得不同奖励和惩罚的反馈,以此更新在下一步的状态,最终得到最多的奖励。

就像走迷宫一样,暂时走通一条道路(获得奖励)不代表可以真正走出去最终经过各种试错后选择的一条完整的线路(获得最多奖励)才能真正走出迷宫。

从强化学习的构建过程来看,它是能够有效解决在环境交互中学习以实现长期目标的方法,而这种模式是所有机器学习方法中最接近人类学习的方式,也是目前最可能实现通用人工智能这一终极目标的方法。

图片

ChatGPT本身还采用了人类反馈强化学习(ReinforcementLeamningfom Human Feedback,RLHF)技术。

人类反馈强化学习就是在使用强化学习的基础上,利用人类用户给出的反馈信号来直接优化模型,也就是说,随着用户使用ChalGPT的次数越来越多,模型可以先模仿再超越,未来ChatGPT的表现也会越来越出色

⑤深度学习

深度学习是机器学习的一个分支,随着近十年来算力的暴涨,深度学习在计算机视觉和自然语言处理等领域的使用变得不可或缺,尤其是2016年AlphaGo在围棋领域打败李世石之后,深度学习更是确立了其在机器学习领域“老大”的地位。

图片

其中,“深度”二字体现在隐藏层的层数上,在算力的支持下,深度学习可以支持的隐藏层层数已经多达几十层甚至上百层。层数越多,模型越能够提取出更高级的数据特征,从而对输入数据有更深刻的理解。

ChatGPT本质上是一个由浮点数参数表示的深度神经网络大模型,所以它仍然属于深度学习的框架。

深度学习于2006年被提出,2010年前后陆续被应用于以语音识别、图像识别为代表的感知技术领域,极大地推动了人工智能技术和产业的发展。

图片

ChatGPT的推出是深度学习提出后又一个里程碑式的技术革命,它将为以自然语言处理为核心的认知智能技术发展提供新的“历史机遇期”。

AI大模型全套学习资源【点击蓝字获取】