ConvolutionalNeuralNetwork卷积神经网络神经元神经网络由大量的神经元相互连接而成。每个神经元接受线性组合的输入后,最开始只是简单的线性加权,后来给每个神经元加上了非线性的激活函数,从而进行非线性变换后输出。每两个神经元之间的连接代表加权值,称之为权重(weight)。不同的权重和激活函数,则会导致神经网络不同的输出。基本z=wx+b的形式,其中x表示输入向量w为权重,几个输入则意味着有几个权重,即每个输入都被赋予一个权重b为偏置biasg(z)为激活函数a为输出激活函数非线性激活函数sigmoid其中z是一个线性组合,比如z可以等于:b+w1*x1+w2*x2。通过代入很大的正数或很小的负数到g(z)函数中可知,其结果趋近于0或1。sigmoid函数g(z)的图形表示如下sigmoid函数的功能是相当于把一个实数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时,则g(z)会趋近于0。这样一来便可以把激活函数看作一种“分类的概率”z=b+w1*x1+w2*x2,其中b为偏置项假定取-30,w1、w2都取为20。如果x1=0,x2=0,则z=-30,g(z)=1/(1+e^-z)趋近于0。此外,从上图sigmoid函数的图形上也可以看出,当z=-30的时候,g(z)的值趋近于0如果x1=0,x2=1,或x1=1,x2=0,则z=b+w1*x1+w2*x2=-30+20=-10,同样,g(z)的值趋近于0如果x1=1,x2=1,则z=b+w1*x1+w2*x2=-30+20*1+20*1=10,此时,g(z)趋近于1。神经网络最左边的原始输入信息称之为输入层,最右边的神经元称之为输出层中间的叫隐藏层。输入层(Inputlayer),众多神经元(Neuron)接受大量非线形输入讯息。输入的讯息称为输入向量。输出层(Outputlayer),讯息在神经元链接中传输、分析、权衡,形成输出结果。输出的讯息称为输出向量。隐藏层(Hiddenlayer),简称“隐层”,是输入层和输出层之间众多神经元和链接组成的各个层面。如果有多个隐藏层,则意味着多个激活函数。卷积神经网络之层级结构CONV:卷积计算层,线性乘积求和。RELU:激励层,ReLU是激活函数的一种。POOL:池化层,简言之,即取区域平均或最大。CNN之卷积计算层CNN怎么进行识别当我们给定一个X的图案,计算机怎么识别这个图案就是“X”呢?一个可能的办法就是计算机存储一张标准的“X”图案,然后把需要识别的未知图案跟标准X图案进行比对,如果二者一致,则判定未知图案即是一个X图案。而且即便未知图案可能有一些平移或稍稍变形,依然能辨别出它是一个X图案。如此,CNN是把未知图案和标准X图案一个局部一个局部的对比,如下图所示什么是卷积对图像(不同的数据窗口数据)和滤波矩阵(一组固定的权重:因为每个神经元的多个权重固定,所以又可以看做一个恒定的滤波器filter)做内积(逐个元素相乘再求和)的操作就是所谓的『卷积』操作,也是卷积神经网络的名字来源。红框框起来的部分便可以理解为一个滤波器,即带着一组固定权重的神经元。多个滤波器叠加便成了卷积层。左边部分是原始输入数据,图中中间部分是滤波器filter,图中右边是输出的新的二维数据。图像上的卷积在下图对应的计算过程中,输入是一定区域大小(width*height)的数据,和滤波器filter(带着一组固定权重的神经元)做内积后等到新的二维数据。具体来说,左边是图像输入,中间部分就是滤波器filter(带着一组固定权重的神经元),不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息:颜色深浅或轮廓。CNN之激励层与池化层ReLU激励层在实际梯度下降中,sigmoid容易饱和、造成终止梯度传递,且没有0中心化。可以尝试另外一个激活函数:ReLU收敛快,求梯度简单。池化pool层