目录
- 1 前言
- 2 深度学习
- 3 卷积神经网络
1 前言
卷积神经网络是深度学习模型中的一种很重要模型,为了更好地理解卷积神经网络,就先了解一下有关深度学习的内容,然后再介绍卷积神经网络的几个重要特点。
2 深度学习
深度学习是具有深层结构的神经网络学习,不同于浅层学习,深度模型可以自己学习特征,具有更强的学习和抽象能力,是一种多层表示学习方法。
低层的特征往往能抓住局部的模式,并对原始特征的改变很敏感;高层特征建立在低层特征的基础上,显得更抽象,对原始特征的变化更加不敏感。在浅层模型中,特征工程是系统成功的关键。
虽然深层网络和浅层网络在理论上都可以逼近任意函数,具有类似的数学描述,但是在节点数差不多的情况下,深层模型比浅层模型具有更好的函数表达能力。浅层学习更加侧重于分类、预测、回归等模型,深层学习则侧重于特征学习(表示学习)等自底向上进行抽象的分层模型。
早期由于深层网络在梯度反传时存在梯度消失或梯度爆炸及计算量大的问题,直到后来提出了无监督预训练和有监督调优的等方法,改善了深层网络的学习困难问题,深层学习才有现在的局面。
深度学习的几个主要应用领域是图像识别(计算机视觉)、语音识别和自然语言处理。
对于深度学习工程,选好模型,获得数据,之后就是训练调参的工作,了解各类参数至关重要。深度学习模型有三类参数:可学习参数、结构参数和训练超参数,分清这三类参数有利于快速学习各类DL框架的使用。
结构参数,这是在设计模型阶段要确定的,决定了网络的基本结构,如网络共有几层,每层各有多少各神经元,该层的属性是卷积层还是下采样层还是激活层。
训练超参数,就是在网络的训练阶段,控制训练采用的学习算法,学习步长,学习率,迭代次数等参数。
可学习参数,就是通过训练数据最终获得的网络权重、偏置等参数。
3 卷积神经网络
卷积神经网络有三个重要的特点:局部互连、权值共享和下采样。那为什么可以采用这三个特点呢,以及采用了以后有何优点呢,接下来一一说明。
普通的神经网络,一层中的任意一个神经元都要和它前一层中的每一个神经元连接。这样的做法,对于一张图像而言,连接数实在是太多了,计算量太大,所以要想办法减少连接数。我们人在看外部世界的时候,对于视线中的某一样物体,并不一定要把视线中的所有物体扫一遍之后才确定当前这个物体是啥,而且和物体所在位置无关,所以说局部的物体与距离远的像素之间的相关性比较低,可以暂时不计较,仅仅计算局部区域中相关性强的部分来获得特征,在此之后,在更深的层里将局部特征综合起来获得全局的特征,由此,计算量就相对小多了。(这其中将局部特征组合获得全局特征的思想是源于视觉系统的层级结构)
要谈权值共享,就要先知道卷积神经网络的卷积操作是在干什么。卷积核是一个有权值的几乘几的小块,将卷积核放到图像上,对应重合的值相乘再相加,就是一个卷积操作,把卷积核在整幅图上滑动一遍,就得到了一张特征图,这个过程可以看成是滤波,滤得的结果就是特征,特征的性质由卷积核决定。那回到神经网络的结构上来,原图的像素对应于输入的神经元,特征图中的像素对应于下一层中的某个神经元,每个特征图中的像素与原图的局部几个像素点相连,连接线上的权值就是对应卷积核上的对应值。从滤波的角度,要获得某个特征,就要用某个特定的滤波器处理整幅图,对应于网络结构,就是特征图上不同神经元连接到输入的的权值是相同的,即卷积核只有一个,对应一个特征图。如此,神经网络的参数又大大减少了。(要增加特征个数,就要增加卷积核的个数)
下采样直观地看,就是减少数据量。当然,这样做可以改善数据量大(数据量远多于参数,相当于是超定方程)而产生的过拟合现象。
综上,此三个特点都是极大地减少了运算的数据量。