建设保障房网站首页,网页制作公司的职员,济阳县建设局网站,濮阳市城乡一体化示范区开州街道博主简介 博主是一名大二学生#xff0c;主攻人工智能研究。感谢让我们在CSDN相遇#xff0c;博主致力于在这里分享关于人工智能#xff0c;c#xff0c;Python#xff0c;爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主#xff0c;博主会继续更新的#xff0c… 博主简介 博主是一名大二学生主攻人工智能研究。感谢让我们在CSDN相遇博主致力于在这里分享关于人工智能cPython爬虫等方面知识的分享。 如果有需要的小伙伴可以关注博主博主会继续更新的如果有错误之处大家可以指正。 专栏简介 本专栏主要研究计算机视觉涉及算法案例实践网络模型等知识。包括一些常用的数据处理算法也会介绍很多的Python第三方库。如果需要点击这里订阅专栏 。 给大家分享一个我很喜欢的一句话“每天多努力一点不为别的只为日后能够多一些选择选择舒心的日子选择自己喜欢的人” 目录
卷积神经网络基本结构
卷积层
池化层
全连层
Softmax激活函数
交叉熵损失
AlexNet详解
卷积神经网络的优点 2012年AlexNet横空出世卷积神经网络从此火遍大江南北。此后无数人开始研究卷积神经网络终于在图像识别领域超过人类那么卷积神经网络有什么神奇下面我们来了解了解。
卷积神经网络基本结构
与最早的神经网络不同除了全连接之外卷积神经网络加入了卷积层和池化层。卷积层和我们在传统计算机视觉中的卷积极为相似而池化层主要用于减少参数的数量防止过拟合。 卷积层 卷积层英文名convolution layer卷积层是卷积神经网络的核心每个卷积层由多个卷积核组成。当输入图像经过卷积核时每个通道的图像会与每个卷积核进行卷积操作。 输入图片经过卷积层后变为多通道输出。具体操作如下图 下面这张图片可能更加清楚 一般的情况下如果输入图像的大小为n1*n2,卷积核的大小为m1*m2,(mini).卷积后卷积核水平滑动距离为s1竖直滑动距离为s2则输出图像大小为k1*k2, 这里需要注意的是当卷积核滑动到 图片末尾时当剩余的像素数量不够一次滑动时会自动忽略剩余的像素。由于这种卷积方式会忽略边缘的像素边缘的像素只计算一次而中心的像素被计算多次所以有了第二种卷积方式我们称之为填充padding很简单在边缘之外加入像素值为0的行和列。这样新的像素值为0的行和列变为新的边缘而旧的边缘则变为内部的像素从而可以被计算多次。 padding操作卷积后特征大小为 Floor表示向下取整p1和p2表示padding补充单列0的行和列。
最后如果卷积核的数量为n则输出特征图片共有n个通道。如果输入图像通道数为c则每个卷积核的通道数为c卷积层的参数个数为每个卷积核大小×c×n。
池化层
池化层英文名pooling layer将图片分成一个一个池子每个池子输出一个值。池化层可以扩大或者缩小图像的大小而且还能保证图片的像素不发生变化。常用的池化层 经过平均池化; 经过最大池化 假设池化层的参数为m1*m2,输入图像大小为n1*n2,则输出图像大小为 ,输入图像和输出图像的通道相同。池化层也有stride和padding操作同卷积层的操作规则一样。 全连层
全连接层与最早的人工神经网络的线性层一样。但是图象是二维的我们常用的全连接层是一维的所以我们想要将其“压扁”为一维 全连接层的作用相当于对输入向量左乘矩阵假设输入向量为x全连接层对应矩阵为W输出为x Softmax激活函数
在卷积神经网络的最后一层激活函数与之前每一层的的激活函数不同。由于最后一层要作为分类的结果我们希望输出结果一维向量的值为各分类的概率那么概率最大的那个分类就是我们得到的预测结果。例如输出为[0.2,0.3,0.4,0.1,0.1],那么我们就以第三类为预测结果。
如何使输出的结果为概率值这里就需要用到Softmax激活函数。为了使得输出结果为概率值首先我们需要将每一个值限制在0~1.其次是需要一个向量所有值的和为1最后函数应该为单调递增的函数。所以我们选用归一化的指数函数作为激活函数式 交叉熵损失
最后我们使用交叉熵损失作为损失函数主要是因为这种损失使得我们一开始的训练速度很快。交叉熵的概念从熵的概念引申而来所以计算公式非常相似。假设我们的输出直播为X[x1,x2,x3,x4,x5,,,,xn],标签为Y[y1,y2,y3,,,yn]则损失函数的值为 AlexNet详解
我们现在来解析一下AlexNet的结构。首先输入图像大小为227x227x3. 第一层为卷积层卷积核大小为11x11共96个卷积核由两个GPU分别训练滑动步长为4激活函数为ReLU所以输出图像的特征大小为55x55x96. 第二层为池化层核大小为3x3每次滑动步长为2所以图片大小为27x27x9655-3/21 第三层为卷积层卷积核大小为5x5共256个卷积核每次滑动步长为1对图像做两个像素的填充激活函数为ReLU所以输出特征图为27x27x256(其中272x2-51). 第四层为池化层核大小为3x3每次滑动步长为2所以输出图像大小为13x13x25627-3/21。 第五层为卷积层卷积核大小为3x3共384个卷积核每次滑动步长为1对图像做一个像素的填充激活函数为ReLU所以输出特征图为13x13x384(其中131x2-3113). 第六层为卷积层卷积核大小为3x3共384个卷积核每次滑动步长为1对图像做一个像素的填充激活函数为ReLU所以输出特征图为13x13x384(其中131x2-3113). 第七层为卷积层卷积核大小为3x3共256个卷积核每次滑动步长为1对图像做一个像素的填充激活函数为ReLU所以输出特征图为13x13x256(其中131x2-3113). 第四层为池化层核大小为3x3每次滑动步长为2所以输出图像大小为6x6x25613-3/216. 之后将特征图重构为至一维9216x1. 第九层为全连接层输出为4096x1,激活函数为ReLU。 第十层为Dropout层神经元激活的概率为0.5. 第十一层为全连接层输出为4096x1,激活函数为ReLU。 第十二层为Droupout层神经元激活的概率为0.5. 第十三层也是最后一层为全连接层输出为1000x1激活函数为Softmax。 最后使用交叉熵损失进行多分类训练。 前面说了图像最好是227x227大小这是因为经过所有的处理他们的除都是整数比较方便处理所以最好设定为227x227x3大小。
总共的参数个数就为6236777659.5M。
卷积神经网络的优点
卷积神经网络现在比全连接神经网络更获得原因 第一减少了网络参数例如大小为28x28x3的图像经过3x3x32的卷积层输出为28x28x32的特征图卷积层的参数为3x3x3x32864而如果使用一个全连接层参数数量为28x28x3x28x28x3259006976大了几个数量级由于减少了网络参数大大减少了过拟合的可能从而增加了网络的准确率。 第二保留了局部特征由于卷积层比起全连接层更注重局部特征更能对较小的物体进行识别而图像中的物体往往占整个图像的比例不高所以物体的局部特征更重要。 第三卷积层具有平移不变性。就是说相同的两个图片无论卷积层怎么移动他们的输出值是一样的不会变。 好了本节内容就到此结束了下一节我们学习Tensorflow深度学习拜拜了你嘞