CNN网络的基本介绍(三)

摘要:
卷积神经网络的基本结构通常由三部分组成:输入层:数据输入多卷积层和池化层卷积层:特征提取。

七、全连接层

全连接层在整个网络卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的特征表示映射到样本的标记空间的作用

  一段来自知乎的通俗理解:

  从卷积网络谈起,卷积网络在形式上有一点点像咱们正在召开的“人民代表大会”。卷积核的个数相当于候选人,图像中不同的特征会激活不同的“候选人”(卷积核)。池化层(仅指最大池化)起着类似于“合票”的作用,不同特征在对不同的“候选人”有着各自的喜好。

  全连接相当于是“代表普选”。所有被各个区域选出的代表,对最终结果进行“投票”,全连接保证了receiptive field 是整个图像,既图像中各个部分(所谓所有代表),都有对最终结果影响的权利。

  在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转换为卷积核为1*1的卷积;而前层是卷积层的全连接层可以转换为卷积核为前层卷积输出结果的高和宽一样大小的全局卷积。

全连接层实现原理  

  在卷积神经网络的最后,往往会出现一两层全连接层,全连接一般会把卷积输出的二维特征图转化成一维的一个向量,这是怎么来的呢?目的何在呢? 

  CNN网络的基本介绍(三)第1张

  最后的两列小圆球就是两个全连接层,在最后一层卷积结束后,进行了最后一次池化,输出了20个12*12的图像,然后通过了一个全连接层变成了1*100的向量。

  这是怎么做到的呢,其实就是有20*100个12*12的不同卷积核卷积出来的,我们也可以这样想,就是每个神经元的输出是12*12*20个输入值与对应的权值乘积的和。对于输入的每一张图,用了一个和图像一样大小的核卷积,这样整幅图就变成了一个数了,如果厚度是20就是那20个核卷积完了之后相加求和。这样就能把一张图高度浓缩成一个数了。

八、卷积神经网络

卷积神经网络是一种层次模型,其输入是原始数据,如RGB图像、音频等。卷积神经网络通过卷积(convolution)操作、汇合(pooling)操作和非线性激活函数的映射等一系列操作的层层堆叠,将高层语义信息逐层由原始信息中抽取出来,逐层抽象。

基本结构

  卷积神经网络的基本结构通常由三部分组成:

  • 输入层:数据输入
  • 多个卷积层和池化层(也称下采样层、采样)
    • 卷积层:进行特征提取。
    • 池化层:减少参数规模,降低计算复杂度。  
  • 全连接层和输出层
    • 全连接层:实现图片分类
    • 输出层:输出识别结果

  CNN网络的基本介绍(三)第2张

网络训练过程

  深度卷积神经网络的学习过程就是对卷积神经网络的训练过程,有计算信号的正向传播和误差的反向传播两个过程组成。

正向传播

  正向传播是指从输入层到输出层的信息传播过程,该过程的基本操作包括:

  • 从输入层到卷积层或从池化层到卷积层的卷积操作
  • 从卷积层到池化层的池化操作
  • 全连接层的分类操作

反向传播

  卷积神经网络的反向传播涉及两个基本问题,误差的反向传播和参数的反向调整

  前者与当前网络层的类型有关,即卷积层、池化层、全连接层的误差反向传播方法不同;后者一般通过梯度计算来实现。

  反向传播算法(Back-Propagation algorithm)将误差或损失由最后一层逐层向前反馈,更新每层参数,并在更新参数后再次前馈,如此反复,知道网络模型手链,从而达到模型训练的目的。

九、目标函数

目标函数,亦称损失函数或代价函数,是整个网络模型的指挥棒,通过样本的预测结果与真实标记产生的误差来反向传播指导网络参数学习和表示学习

  假设某分类任务共N个训练样本,针对网络最后分类层第i个样本的输入特征为xi,其对应的真实标记为yi∈{1,2,...,C},另h=(h1,h2,...,hC)为网络的最终输出,即样本i的预测结果,其中C为分类任务类别数。

交叉熵损失函数

  交叉熵损失函数又称为Softmax损失函数,是目前卷积神经网络中最常用的分类目标函数,softmax用于多分类过程中它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类

  CNN网络的基本介绍(三)第3张

  其形式为:

  CNN网络的基本介绍(三)第4张

  它能将一个含任意实数的K维向量  z “压缩”到另一个K维实向量  σ ( z )  中,使得每一个元素的范围都在 ( 0 , 1 ) 之间,并且所有元素的和为1。

  例如:输入向量 [ 1 , 2 , 3 , 4 , 1 , 2 , 3 ] 对应的Softmax函数的值为 [ 0.024 , 0.064 , 0.175 , 0.475 , 0.024 , 0.064 , 0.175 。输出向量中拥有最大权重的项对应着输入向量中的最大值“4”。这也显示了这个函数通常的意义:

对向量进行归一化,凸显其中最大的值并抑制远低于最大值的其他分量。 

免责声明:文章转载自《CNN网络的基本介绍(三)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇工程物探中的地震波面波多道分析(Multichannel analysis of surface waves, MASW)简介2018年值得关注的10大JavaScript动画库下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

博雅大数据机器学习十讲第三讲

点到平面的距离 直线方程:(w_1x_1+w_2x_2+w_0 = 0) 点到直线距离(d = frac {|w_1x_1^{'}+w_2x_2^{'}+w_0|}{sqrt{w^2_1+w^2_2}}) 欧式空间超平面:(w_1x_1+w_2x_2+...+w_dx_d+w_0 = 0) 点到超平面距离: [d = frac {|w_1x_1^{'...

【深度学习系列】用Tensorflow实现经典CNN网络Vgg

  上周我们讲了经典CNN网络AlexNet对图像分类的效果,2014年,在AlexNet出来的两年后,牛津大学提出了Vgg网络,并在ILSVRC 2014中的classification项目的比赛中取得了第2名的成绩(第一名是GoogLeNet,也是同年提出的)。在论文《Very Deep Convolutional Networks for Large...

零基础入门深度学习(5)

无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就out了?现在救命稻草来了,《零基础入门深度学习》系列文章旨在讲帮助爱编程的你从零基础达到入门级水平。零基础意味着你不需要太多的数学知识,只要会写程序就行了,...

神经网络+增强学习

该文章转至:https://www.cnblogs.com/xlturing/p/5844555.html 马里奥AI实现方式探索 ——神经网络+增强学习 儿时我们都曾有过一个经典游戏的体验,就是马里奥(顶蘑菇^v^),这次里约奥运会闭幕式,日本作为2020年东京奥运会的东道主,安倍最后也已经典的马里奥形象出现。平时我们都是人来玩马里奥游戏,能否可以让马里...

在Mac OSX EI Capitan下安装xgboost的吐血经历

官网上mac的安装并不复杂,但是实际操作下来有够吐血的,试了n多方法折腾到凌晨一点。。。。。。 在此详细记录一下以帮助其他踩坑的同学。 前情回顾: 为啥要安装gcc?为了xgboost能够多线程。。。好吧其实我本意并不在此,主要是最简单的单线程我都安装失败了!!就两步简单的操作为什么会失败呢我也不想的啊。。。。。。但是没有关于失败处理的博客,博客都是关于多...

论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)

论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/master/research/deeplab 实验代码:https://github.com/fourmi1995/IronSegExperiment-Dee...