人工智能三学派

我们常说的人工智能,就是让机器具备人的思维和意识。人工智能主要有三个学派,即行为学派符号学派连接学派

行为学派:是基于控制论的、构建感知、动作的控制系统。单脚站立是一种行为主义的典型例子,通过感知要摔到的方向,控制两只手的动作,保持身体的平衡。这就构建了一个感知、动作的控制系统,是典型的行为主义。

符号主义:基于算数逻辑表达式。即在求解问题时,先把问题描述为表达式,再求解表达式。例如在求解某个问题时,利用if-case等条件语句和若干计算公式描述出来,即使用了符号主义的方法,如专家系统。符号主义是能用公式描述的人工智能,它让计算机具备了理性思维。

连接主义:仿造人脑内的神经元连接关系,使人类不仅具备理性思维,还具备无法用公式描述的感性思维,如对某些知识产生记忆。

基于连接主义的神经网络模型模仿了人脑的神经元,使计算机具有感性思维。

随着我们的成长,大量的数据通过视觉、听觉涌入大脑,使我们的神经网络连接(也就是神经元连接线上的权重)发生了变化,有些线上的权重增强了,有些线上的权重减弱了。如下图所示:

qiaRH5

神经网络的设计过程

我们要用计算机模仿刚刚说到的神经网络连接关系,让计算机具备感性思维。

首先,需要准备数据,数据量越大越好,要构成特征和标签对。如要识别猫,就要有大量的猫的图片和这个图片是猫的标签,构成特征标签对。

随后,搭建神经网络的网络结构,并通过反向传播,优化连线的权重,直到模型的识别准确率达到要求,得到最优的连线权重,把这个模型保存起来。

最后,用保存的模型,输入从未见过的新数据,它会通过前向传播,输出概率值,概率值最大的一个,就是分类或预测的结果。下图展示了搭建与使用神经网络模型的流程。

U9g8mv

例子:用神经网络实现鸢尾花分类

数据集介绍

本讲中采用鸢尾花数据集,此数据集包含鸢尾花花萼长、花萼宽、花瓣长、花瓣宽及对应的类别。其中前4个属性座位输入特征,类别作为标签,0代表狗尾草鸢尾,1代表杂色鸢尾,2代表弗吉尼亚鸢尾。人们通过对数据进行分析总结出了规律:通过测量花的花萼长、花萼宽、花瓣长、花瓣宽,可以得出鸢尾花的类别。(如:花萼长》花萼宽且花瓣长/花瓣宽>2,则为杂色鸢尾)

由上述可知,可通过ifcase语句构成专家系统,进行判别分类。在本讲中,采用搭建神经网络的方法对其进行分类,即将鸢尾花花萼长、花萼宽、花瓣长、花瓣宽四个输入属性输入搭建好的神经网络,网络优化参数得到模型,输出分类结果。

网络搭建与训练

本讲中,我们搭建包含输入层与输出层的神经网络模型,通过对输入值乘权值,并于偏置求和的方式得到输出值,图示如下:

6aqXEm

由上图可知输出为y=xw+by = x * w + b ,即所有的输入xx乘以各自线上的权重ww 求和加上偏置项bb 得到输出yy 。根据我们的数据集可知,输入特征xx 形状应为(1, 4),即1行4列,输出yy形状应为(1, 3),即1行3列,ww 形状应为(4, 3),即4行3列,bb 形状应为(3, )即有3个偏置项。

搭建好基本网络后,需要输入特征数据,并对线上权重ww与偏置bb进行初始化。搭建的神经网络如下图所示

rgVRll

w,bw, b初始化矩阵如下图所示,在这里,我们输入标签为0的狗尾草鸢尾。

HiVnWw

有了输入数据与线上权重等数据,即可按照y=xw+by = x * w + b方式进行前向传播,计算过程如图所示

FngZ2s

上图中输入yy中,1.01代表0类鸢尾得分,2.01代表1类鸢尾得分,-0.66代表2类鸢尾得分。通过输入yy可以看出数值最大(可能性最高)的是1类鸢尾,而不是标签0类鸢尾。这是由于最初的参数wwbb是随机产生的,而现在输出的结果是蒙的。

为了修正这一结果,我们使用损失函数,定义预测值yy和标准答案(标签)y_的差距,损失函数可以定量的判断当前这组参数wwbb的优劣,当损失函数最小时,即可得到最优ww的值和bb的值.

损失函数的定义有多种方法,均方差就是一种常用的损失函数,它计算每个前向传播输出yy和标准答案y_的差求平方再求和再除以nn求平均值,表征了网络前向传播推理结果和标准答案之间的差距.

通过上述损失函数的介绍,其目的是寻找一组参数wwbb使得损失函数最小.为达成这一目的,我们参与梯度下降的方法.损失函数的梯度表示损失函数对各参数求偏导后的向量,损失函数梯度下降的方向,就是损失函数减小的方向.梯度下降法即沿着损失函数梯度下降的方向,寻找损失函数的最小值,从而得到最优的参数.梯度下降法涉及的公式如下:

x4lgMB

上式中,lrl_r表示学习率,是一个超参数,表征梯度下降的速度.如学习率设置过小,参数更新会很慢,如果学习率设置过大,参数更新可能会跳过最小值.

上述梯度下降更新的过程称为反向传播.