因为计算牵扯到导数,所以这章难的部分不会考太难。
人工神经网络是对人脑或生物神经网络若干基本特性的抽象和模拟。
深度学习是神经网络的发展。
人工智能曾经历过很长一段时间的停滞不前。
浩瀚的宇宙中,也许只有包含数千忆颗星球的银河系的复杂性能够与大脑相比。
还是提前看一下这篇文章吧:技术篇:单层神经网络是什么,看完这篇文章你就懂了 - 腾讯云开发者社区-腾讯云
(一定要看,弄懂权重w,和输入a是什么)
一、神经网络
生物神经网络: 由中枢神经系统(脑和脊髓)及周围神经系统(感觉神经、运动神经等)所构成的错综复杂的神经网络,其中最重要的是脑神经系统。
人工神经网络: 模拟人脑神经系统的结构和功能,运用大量简单处理单元经广泛连接而组成的人工网络系统。
如上图所示,神经元1的轴突传递了4个信号给神经元2,分别是输入1、输入2、输入3和输入4。
而神经元2的输出信号(输出1和输出2)分别是神经元3的输入信号(输入1和输入2)。
如果输入信号之和超过神经元固有的边界值(阈值),细胞体就会做出反应,向与轴突连接的其他神经元传递信号,这称为激活。
激活时神经元输出的信号大小是固定的。即便从邻近的神经元接收到很大的刺激,或者轴突连接着多个神经元,这个神经元也只输出固定大小的信号。
激活的输出信号是由"0" 或 "1"表示的数字信息:无输出信号,y=0,有输出信号,y=1。
生物神经网络的最小单位——神经元
人工神经网络的最小单位——感知机
二、神经元特点及M-P神经模型
(1)多输入单输出
(2)输入类型包含兴奋性和抑制性
(3)空间整合特性和阈值特性(对全部输入信号进行整合,以确定各类输入的作用总效果,超过阈值了才会发送脉冲)
(4)我们有一个数据,称之为样本。样本有四个属性,其中三个属性已知,一个属性未知。我们需要做的就是通过三个已知属性预测未知属性。
(5)模型构建(M-P神经模型)
但是,在MP模型中,权重的值都是预先设置的,因此不能学习,所以才有了后面的BP神经网络和卷积神经网络。
三、感知机
感知机是首个可以学习的人工神经网络。
感知机是二分类的线性分类模型,具有简单而易于实现的优点。
旨在求出将训练数据进行线性划分的分离超平面,旨在求出将训练数据进行线性划分的分离超平面。
分离超平面在一维空间就是一条线,在二维空间就是一个面。
超平面将数据分成机器学习中正例和负例,类似于下图:
所以感知机学习策略就是找到一个将训练集正负实例点完全正确分开的分离超平面。
使用所有误分类的点到超平面的距离来表示损失,该损失表示了模型预测的准确性。
但是感知机只能解决线性可分的二分类问题,甚至连异或都解决不了,如果将计算层增加到两层,计算量则过大,而且没有有效的学习算法。
输入层里的“输入单元”只负责传输数据,不做计算。
输出层里的“输出单元”则需要对前面一层的输入进行计算。 我们把需要计算的层次称之为“计算层”,并把拥有一个计算层的网络称之为“单层神经网络”。
关于单层、多层可以看:https://cloud.tencent.com/developer/news/389738
四、BP神经网络(重点)
当增加一个计算层以后,两层神经网络不仅可以解决异或问题,而且具有非常好的非线性分类效果。
而反向传播(Backpropagation,BP)算法,解决了两层神经网络所需要的复杂计算量问题,多了个隐含层用于计算。
(1)学习的过程:
神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。
(2)学习的本质:
对各连接权值的动态调整
(3)学习规则:
权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。
基于BP算法的多层前馈网络模型
五、深度学习
人脑的深度结构决定了人类认知过程的逐层进行;
深度学习从某种程度上模拟了人类逐层进行、逐步抽象的认知过程。
深层神经网络在神经元数目一定的情况下,相比于传统浅层神经网络来说,具有更强大的学习能力,能够从原始输入中自动提取出具有高度抽象含义的特征。
深度学习别名,叫做非监督的特征学习。
深度学习的学习过程可以简要概括为:
(1)逐层无监督地预训练单层学习模块
(2)每次都将上一层的输出结果作为下一层训练模块的输入
(3)训练完所有层后利用有监督的方式微调整个网络。
在无监督预训练阶段,希望输入数据经过整个深层网络后得到的输出结果仍然是输入。
简言之,深度学习多层表示的好处就是能够用较少的参数表征十分复杂的函数。
传统的BP算法仅有几层网络,需要手工指定特征且易出现局部最优问题,,而深度学习引入了概率生成模型,可自动地从训练集提取特征,解决了手工特征考虑不周的问题。
六、卷积网络(重点)
卷积神经网络目前是深度学习领域的热点,尤其是图像识别和模式分类方面。
优势在于具有共享权值的网络结构和局部感知(也称为稀疏连接)的特点。
能够降低神经网络的运算复杂度,因为减少了权值的数量,并可以直接将图像作为输入进行特征提取,避免了对图像的预处理和显示的特征提取。
(1)卷积网络结构
生物神经元所能处理信息的复杂程度被称为神经元的感受野。
神经元对于信息位置与方向变化不敏感的特性被称为平移不变性,卷积神经网络正是根据生物神经系统的这些特性而提出的神经网络模型。
卷积神经网络主要结构有:卷积层、池化层、和全连接层。
通过堆叠这些层结构形成一个卷积神经网络,将原始图像转化为类别得分。
其中卷积层和全连接层拥有参数,激活层和池化层没有参数。
参数更新通过反向传播实现。
(2)卷积层
卷积是一类对矩阵的线性运算方式,包含卷积操作的网络层被称为卷积层,其用来对输入图片进行特征提取,输出相应图片的特征图。
通过卷积层的运算
a.可以将输入信号在某一特征上加强,从而实现特征的提取。
b.可以排除干扰因素,从而降低特征的噪声。
对两个矩阵进行卷积操作,左边为A,右边为B,矩阵A通常对应样本数据矩阵,矩阵B称之为卷积核。
开始滑动:
新生成的矩阵称为特征矩阵C。
卷积核每次移动的单位可设定为不同长度,这一长度称之为步长。
步长越大,卷积操作所得到的特征矩阵越小。
并且数据矩阵边界上的元素对特征矩阵的贡献较小,即丢失部分边界信息,所以为解决这些问题,通常会为原始数据填补上一圈或几圈元素,这一操作称之为填充。
类似下图填充0。
(3)池化层——pooling层
池化,即下采样,主要作用是通过去除输入的特征图中不重要的信息,使特征图变小,进行特征压缩,进一步减少参数量,且同时提取其中的有效信息,一定程度上可以避免过拟合。
操作:
池化的具体操作是定义池化窗口的大小。
通常情况下,从某个池化窗口内进行采样的规则主要有取最大值、取最小值和取平均值三种。
所对应的池化操作分别称之为最大池化、最小池化和均值池化。
(3)激活函数
了解即可
(4)全连接
卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间。
而全连接层是将学到的“分布式特征表示”映射到样本标记空间,从而最终引用到模型任务(分类、回归)中去。
例如:假设你是一只小蚂蚁,你的任务是找小面包。你的视野还比较窄,只能看到很小一片区域。当你找到一片小面包之后,你不知道你找到的是不是全部的小面包,所以你们全部的蚂蚁开了个会,把所有的小面包都拿出来分
在全连接层中,需要对所有的Feature Map进行扁平化,接一个或者多个全连接层,进行模型学习。
1998年,LeCun提出LeNet,并成功应用于美国手写数字识别。测试误差小于1%。
麻雀虽小,但五脏俱全,卷积层、池化层、全连接层,这些都是现代CNN网络的基本组件。