标签:matrix python tensor 机制 dem filter height http 正文
1. 神经网络与CNN的异同点
传统的神经网络的神经元、参数比较多,而CNN可以大大简化神经元和参数的数量。但计算量要大大的提高。
传统神经网络采用的是f(x) = wx+b。但CNN中虽保留了层级式的网络结构,但不同层次有不同的形式,即运算和功能。输出时做归一化,转化成概率向量,让CNN能最终知道它最可能的图片意思是什么?
2. CNN层级结构
3. 卷积神经网络训练算法
4. 正则化,过拟合
正文
1. 神经网络与卷积神经网络
神经网络可以处理各种数据,由文本数据、图像数据、语音数据和视频数据等等。在处理图像数据的神经网络就是CNN,它主要完成分类工作。
传统的神经网络的神经元、参数比较多,而CNN可以大大简化神经元和参数的数量。但计算量要大大的提高。
1)CNN层次结构
传统神经网络采用的是f(x) = wx+b。但CNN中虽保留了层级式的网络结构,但不同层次有不同的形式,即运算和功能。输出时做归一化,转化成概率向量,让CNN能最终知道它最可能的图片意思是什么?
CNN的核心三层:conv为convolution layer,ReLU为activation layer,Pool为pooling layer。有时,conv layer和ReLU一起叫做conv layer。
FC layer是全连接层,它的相邻层都是全连接。
Batch Normalization层是个高级层次(15年提出),主要是训练用的。
二维数据(x1,x2),做中心化就是把每个值减去相应的值,平移到原点。如果不做中心化,在工业上会发现它非常容易饱和。 中心化后,(x1,x2)的scale的幅度不一样,为了后面的计算更顺利,可以做normalization,即gaining除以它的方差。
有可能(x1,x2)是有关联的数据,那么我们就会将数据做纵坐标和横坐标的投影,得到的(x1,x2)维度无相关。
以上都是数据的处理方式,但对于图像,我们大多只做去均值。因为图片的像素值在0~255之间的,所以不需要对它的幅度做调整。它的维度和幅度大小都一致。scanning的操作可做可不做,因为不做不会影响后续的工作,它的维度天生就限制在一个范围内了。
取均值有两种方式,Alexnet和VGG :
1.1) conv layer
conv layer的工作原理:conv layer中的神经元看出做一个filter(3x3x3的矩阵,每个filter都带有不同的weights,即特征不同)。每个filter都要通过窗口滑动,并进行局部计算,分别得到每个位置的不同的feature maps(有多少个filter,就有多少了feature map)。
conv layer的数据处理:我们的filter是3x3的矩阵,利用filter和原始数据的相应位置上的矩阵做运算(Σwx),得到加权求和的值(-8),
conv layer参数共享机制:每个神经元连接数据窗的权重weights是固定的,可以看成是不同的模板,并且灭个weight值关注自己的特性。
1.2) activation layer
通过卷积后,我们还需要利用激励函数对卷积(点乘,y=Σwx+b)的值进行激励。
1.3) 池化/pooling layer
2012-》2013年的2Fnet的冠军没有结构上的改变,但是改变了filter的个数,所以利用pooling把大部分的信息留下就好,称为下采样。
pooling本质是降维,在保证大多数的数据的情况下,把维度降下来,有两种操作办法:1. 取max值,2. 求平均。
1.4) FC layer
FC layer:两层之间的所有神经元都有权重连接,并出现在CNN的尾部。
1.5) 卷积层可视化理解
图片为输入数据,每个卷积层的左图为filter,右图为通过卷积后的data。
3)卷积神经网络训练算法
BP就是对激励函数算dw和db的偏导,最终在BP传播的过程中利用SGD进行更新w和b。
4) 卷积神经网络优缺点:
2. 正则化
Regulation:L1&L2,防止overfitting
Dropout:随机设置50%输出的值为0,而下一次再把设置改回来,再随机设置50%的输出值为0.
3. 经典结构与训练
AlexNet为了得到很多的信息,把步长设置为1,这样扫图就会更仔细。
Python_DL_TensorFlow_03_卷积神经网络与图像识别
标签:matrix python tensor 机制 dem filter height http 正文
原文地址:https://www.cnblogs.com/tlfox2006/p/13163171.html