人工智能-人工神经网络

01.前言

从本期开始,我们就正式进入人工智能算法领域的学习和介绍了。在上一期推文中,我们对人工智能算法的应用、起源和发展做了简单的介绍。那么在知道了这些信息后,我们就来更为详细深入的了解,人工智能算法到底是什么?以及它的计算原理又是什么?

在本期内容中,我们首先对人工智能中最常见的算法---人工神经网络进行介绍。

02.基本概念

1.网络结构介绍

人工神经网络(ANN,Artificial Neural Network)是由大量处理单元互联组成的非线性、自适应信息处理系统。它通过模拟人脑神经元对信息处理的过程和记忆信息的方式抽象出一种分布式并行信息运算方式,克服了传统的数学方式在处理非结构化信息方面的短板,并具有极强的自适应、自组织和自学习的特点,ANN 模拟人脑神经元对信息 处理的逻辑结构如图1所示。

人工智能-人工神经网络

图1 ANN结构概念图

ANN 的结构一般包括输入层、隐含层和输出层,每一层均是由多个节点(即神经元)组成,神经元是构成ANN最基本的单元,单个神经元的结构如下图2所示。

人工智能-人工神经网络

图2 基本神经元结构图

ANN 把神经元看作 n 个输入对应产生 1 个输出,其运算函数如下式所示:

人工智能-人工神经网络

人工智能-人工神经网络

2.激活函数介绍

激活函数的选择会直接影响ANN的输出,其作用是引入非线性因素,增强ANN的表达能力。如果没有激活函数,则ANN就无法进行非线性变换,导致 ANN 只能进行线性拟合。常用的激活函数如下表所示。

人工智能-人工神经网络
3.网络类型介绍

根据 ANN 内部信息传递处理的方式,可将 ANN 分为两类:前向传播神经网络(FPANN,Forward Propagation Artificial Neural Network)与误差反向传播神经网络(BPANN,Back Propagation Artificial Neural Network)。

(1)前向传播神经网络

FPANN 是一种经典的神经网络模型,在 FPANN 中,输入信号从输入层经隐含层到输出层为一次前馈计算,以多输入单输出的三层神经网络结构为例,其结构如图3所示:

人工智能-人工神经网络

图3 FPANN计算原理图
其主要计算过程如下所示:
人工智能-人工神经网络
人工智能-人工神经网络
尽管 FPANN 的应用已相当广泛和成熟,但也存在一定的缺陷,即由于其初始权值 和阈值一般为随机生成,故可能存在初始权值和阈值并非最优值,导致模型预测能力不足的问题。
(2)误差反向传播神经网络
BPANN 的出现则完美解决了 FPANN 中存在的不足,其主要由两部分构成:即正向 传播运算和误差反向传播,其网络结构体如图4所示:

人工智能-人工神经网络

图4 BPANN计算原理图

其正向传播运算与FPANN完全一致,但在步骤3后加入了对连接权值和阈值的修正更新,具体更新运算步骤如下所示:

人工智能-人工神经网络

BPANN被研究出来以后,几乎目前所有的神经网络算法都会采用这种算法的信息传播方式,期待以尽可能小的目标误差来获得更为优秀的预测/分类/聚类模型效果。

03.模型效果评估

判断一个神经网络模型的好坏,最直接的方式就是看模型的预测准确度。而模型一般通常又被分为训练集、验证集,其中训练集效果就是代表模型本身的好坏,验证集效果则是代表了模型泛化性能(即预测能力或普适性)的好坏。

在机器学习和深度学习的训练过程中,经常会出现欠拟合过拟合的现象。训练一开始,模型通常会欠拟合,所以会对模型进行优化,等训练到一定程度后,就需要解决过拟合的问题了。

为清晰直观了解模型的拟合效果,以下面表和图为例:

人工智能-人工神经网络

图1的拟合并没有把大体的规律给拟合出来,拟合效果不好,这个就是欠拟合,还需要继续学习规律,此时模型简单;图3的拟合过于复杂,拟合的过于细致,以至于拟合了一些没有必要的东西,这样在训练集上效果很好,但放到测试集和验证集就会不好。图2是最好的,把数据的规律拟合出来了,也没有更复杂,更换数据集后也不会效果很差,而我们建立模型所追寻的就是到达第二种效果
对于如何去解决欠拟合和过拟合的问题,以及后面涉及到的参数、超参数调优神经网络模型效果,下期推文会详细讲述~


返回:人工智能-人工神经网络

本文由“公众号文章抓取器”生成,请忽略上文所有联系方式或指引式信息。有问题可以联系:五人工作室,官网:www.Wuren.Work,QQ微信同号1976.424.585