深度学习——卷积神经网络入门

传统神经网络:

  是全连接形式,即样本的每个特征属性都通过所有的隐藏层节点映射,最后输出数据。由于是全连接,所以计算极为复杂,且模型不易学习。

卷积神经网络:卷积神经网络(Convolutional Neural Networks, CNN), CNN可以有效的降低反馈神经网络(传统神经网络)的复杂性,常见的CNN结构有LeNet-5、AlexNet、ZFNet、VGGNet、 GoogleNet、 ResNet等等 ,其中在LVSVRC2015冠军ResNet网络深度是AlexNet的20多倍,是VGGNet的8倍;从这些结构来讲CNN发展的一个方向就是层次的增加,通过这种方式可以利用增加的非线性得出目标函数的近似结构,同时得出更好的特征表达,但是这种方式导致了网络整体复杂性的增加,使网络更加难以优化,很容易过拟合或模型退化。CNN的应用主要是在图像分类、人脸识别、和物体识别、语义分割等应用比较多。

首要步骤:数据预处理:

需要进行预处理的主要原因是:

◆输入数据单位不-样,可能会导致神经网络收敛速度慢, 训练时间长

◆数据范围大(方差大)的输入在模式分类中的作用可能偏大,而数据范围小的作用就有可能偏小

◆由于神经网络中存在的激活函数是有值域限制的,因此需要将网络训练的目标数据映射到激活函数的值域

◆S形激活函数在(-4, 4)区间以外区域很平缓,区分度太小。例如S形函数f(X), f(100)与f(5)只相差0.0067

常见3种数据预处理方式:
◆去均值
将输入数据的各个维度中心化到0
◆归一化
将输入数据的各个维度的幅度归一化到同样的范围
◆PCA/白化(不常用)
用PCA降维(去掉特征与特征之间的相关性)
白化是在PCA的基础上,对转换后的数据每个特征轴.上的幅度进行归一化

深度学习——卷积神经网络入门

深度学习——卷积神经网络入门

cnn的统计学原理

深度学习——卷积神经网络入门

1、统计不变性:指基本不会随着时间和空间改变的事物。

2、无论猫处在什么位置,检测出来都应该是猫,这称为平移不变性。

3、所以如果网络从左上角学到了猫咪的特征,那么这部分特征应该可以被重复利用,而不需要重复学习去识别图右下角的猫咪。这种学习方法就称为:权重共享(weights sharing)---进而引出了:卷积神经网络CNN (空间. 上共享参数的神经网络)

4、这种思想应用到自然语言处理,就产生了embeding嵌入和RNN网络

问题: CNN为什么具备平移不变性?尺度不变性?

因为共享权重值

CNN具备旋转不变性?不具备。(但是通过数据增强, 人为旋转图片喂入模型,让模型学会)

第二个首要步骤:

■在卷积神经网络中,可以看到神经元之间的连接是通过权重w以及偏置b实现的。在具
体的神经网络之前,我们还有一个任务需要做,那就是初始化参数
权重的初始化
一般方式:很小的随机数(对于多层深度神经网络,太小的值会导致回传的梯度非常小), -般随机
数是服从均值为0,差末知(建议: 2/n. n为权重数量, https://arxiv.org/pdf/1502.01852.pdf)
的高斯分布随机数列。
错误方式:全部初始化为0,全部设置为0,在反向传播的时候是一样的梯度值, 那么这个网络的
权重是没有办法差异化的,也就没有办法学习到东西。
偏置项的初始化
一般直接设置为0,在存在ReLU激活函数的网络中,也可以考虑设置为一个很小的数字

CNN的流程输入层

        [卷积层+批归一化+relu之类的激活函数+ dropout(可选)]

        *N池化层*M-拉平层-[FC+ 批归一化+激活]*K

        输出

        激活函数(分类用:softmax或sigmoid)

input层:首先一个数据输入进来,假设为一张图片,rgb格式,三通道,长宽是32*32

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwwjys.html