卷积神经网络课件.ppt
卷积神经网络初步解析陈遥单层感知器单层感知器感知器可谓是最早的人工神经网络。单层感知器是一个具有一层神经元、采用阈值激活函数的前向网络。通过对网络权值的训练,可以使感知器对一组输人矢量的响应达到元素为0或1的目标输出,从而实现对输人矢量分类的目的。单层感知器作用范围感知器是一个简单的二类分类的线性分类模型,要求我们的样本是线性可分的。多层感知器多层感知器的思路是,尽管原始数据是非线性可分的,但是可以通过某种方法将其映射到一个线性可分的高维空间中,从而使用线性分类器完成分类。图1中,从X到O这几层,正展示了多层感知器的一个典型结构,即输入层隐层输出层。输入层隐层是全连接的网络,即每个输入节点都连接到所有的隐层节点上。更详细地说,可以把输入层视为一个向量x,而隐层节点j有一个权值向量j以及偏置bj,激活函数使用sigmoid或tanh,那么这个隐层节点的输出应该是若输入层有m个节点,隐层有n个节点,那么=T为nm的矩阵,x为长为m的向量,b为长为n的向量,激活函数作用在向量的每个分量上,f(x)返回一个向量隐层输出层可以视为级联在隐层上的一个感知器。若为二分类,则常用LogisticRegression;若为多分类,则常用SoftmaxRegression。核心!权值、偏置估计(结论如下,推导见“卷积神经网络全面解析”)残差定义:假设有层p,q,r,分别有l,m,n个节点,依序前者输出全连接到后者作为输入。t为标签,y为输出,E为损失函数,为p层输出向量,表示激活函数,层q有权重矩阵qml,偏置向量bqm1,层r有权重矩阵rnm,偏置向量brn1。那么其中,运算w=uv表示wi=uivi。函数作用在向量或者矩阵上,表示作用在其每个分量上。卷积神经网络的三大优点局部感受野局部感受野权值共享:权值共享:在卷积神经网中,同一个卷积核内,所有的神经元的权值是相同的,从而大大减少需要训练的参数。作为补充,在CNN中的每个隐层,一般会有多个卷积核。池化:池化:在卷积神经网络中,没有必要一定就要对原图像做处理,而是可以使用某种“压缩”方法,这就是池化,也就是每次将原图像卷积后,都通过一个池化的过程,来减小图像的规模。卷积神经网络的正向过程卷积下采样光栅化多层感知器预测。卷积考虑一个大小为55的图像,和一个33的卷积核。这里的卷积核共有9个参数,记为=ij33f(x)=act()卷积总结公式:如果卷积层c中的一个卷积核j连接到输入图X1,X2,.,Xi,且这个卷积核的权重矩阵为 ,那么这个卷积核的输出为这个输出矩阵大小为(m-p+1)(n-q+1).下采样(池化)下采样,即池化,目的是减小特征图,池化规模一般为22。常用的池化方法有:最大池化(MaxPooling):取4个点的最大值。这是最常用的池化方法。均值池化(MeanPooling):取4个点的均值。高斯池化可训练池化:训练函数f,接受4个点为输入,输出1个点。不常用。由于特征图的变长不一定是2的倍数,所以在边缘处理上也有两种方案:忽略边缘。即将多出来的边缘直接省去。保留边缘。即将特征图的变长用0填充为2的倍数,然后再池化。一般使用 这种方式。对神经中枢j的输出Oj,使用池化函数downsample,池化后的结果为光栅化图像经过池化下采样后,得到的是一系列的特征图,而多层感知器接受的输入是一个向量。因此需要将这些特征图中的像素依次取出,排列成一个向量。具体说,对特征图X1,X2,.,Xj,光栅化后得到的向量多层感知器预测将光栅化后的向量连接到多层感知器CNN参数更新多层感知器层残差定义使用多层感知器的参数估计方法,得到其最低的一个隐层s的残差向量s。现在需要将这个残差传播到光栅化层r,光栅化的时候并没有对向量的值做修改,因此其激活函数为恒等函数,其导数为单位向量。光栅化层从上一层传过来的残差为重新整理成为一系列的矩阵即可,若上一层Q有q个池化核,则传播到池化层的残差池化层对应池化过程中常用的两种池化方案,这里反传残差的时候也有两种上采样方案:最大池化:将1个点的残差直接拷贝到4个点上。均值池化:将1个点的残差平均到4个点上。即传播到卷积层的残差卷积层对权值和偏置的更新:其中,rot180是将一个矩阵旋转180度;Oq是连接到该卷积层前的池化层的输出。卷积层的残差反传?整体思路以层为单位,分别实现卷积层、池化层、光栅化层、MLP隐层、分类层这五个层的类。其中每个类都有output和backpropagate这两个方法。另外,还需要一系列的辅助方法,包括:conv2d(二维离散卷积,valid和full模式),downsample(池化中需要的下采样,两种边界模式),upsample(池化中的上采样)等。