卷积神经网络的基本结构

深度学习基础理论-CNN篇

卷积神经网络的基本结构

总体来说,卷积神经网络是一种层次模型(hierarchical model),其输入是原始数据(raw date),如RGB 图像、原始音频数据等。卷积神经网络通过卷积(convolution)操作、汇合(pooling)操作和非线性激活函数(non-linear activation function)映射等一系列操作的层层堆叠,将高层语义信息逐层由原始数据输入层中抽取出来,逐层抽象,这一过程便是“前馈运算”(feed-forward)。其中,不同类型操作在卷积神经网络中一般称作“层”:卷积操作对应“卷积层”,汇合操作对应“汇合层”等等。最终,卷积神经网络的最后一层将其目标任务(分类、回归等)形式化为目标函数(objiective function)。通过计算预测值与真实值之间的误差或损失(loss),凭借反向传播算法(back-propagation algorithm)将误差或损失由最后一层逐层向前反馈(back-forward),更新每层参数,并在更新参数后再次前馈,如此往复,直到网络模型收敛,从而达到模型训练的目的。

(a)AlexNet结构

(b)Geoffrey E. Hinton

图 AlexNet网络结构和Geoffrey E. Hinton。Hinton因其杰出的研究成就,获得2016年度电气和电子工程师协会(IEEE)和爱丁堡皇家科学家联合颁发的James Clerk Maxwell 奖,以表彰其在深度学习方面的突出贡献

更通俗地讲,卷积神经网络犹如搭积木的过程(如公式1),将卷积等操作层作为“基本单元”依次“搭”在原始数据(公式1中的x1)上,逐层“堆砌”,以损失函数的计算(公式1中的z)作为过程结束,其中每层数据形式是一个三维张量(tensor)。具体地,在计算机视觉应用中,卷积神经网络的数据层通常是RGB颜色空间的图像:H 行,W 列,3个通道(分别为R,G,B),在此记作x1。x1 经过第一层操作可得x2,对应第一层操作中的参数记为ω1;x2 作为第二层操作层ω2 的输入,可得x3⋯⋯直到第L−1 层,此时网络输出为xL。在上述的过程中,理论上每层操作层可为单独卷积操作、汇合操作、非线性映射或其他操作/变换,当然也可以是不同形式操作/变换的组合。

最后,整个网络以损失函数的计算结束。若y 是输入x1 对应的真实标记(ground truth),则损失函数表示为:

其中,函数L(·) 中的参数即ωL。事实上,可以发现对于层中的特定操作,其参数ωi 是可以为空的,如汇合操作、无参的非线性映射以及无参损失函数的计算等。实际应用中,对于不同任务,损失函数的形式也随之改变。以回归问题为例,常用的ℓ2 损失函数即可作为卷积网络的目标函数,此时有

若对于分类问题,网络的目标函数常采用交叉墒(cross entropy)损失函数,有

其中

C 为分类任务类别数。无论回归问题还是分类问题,在计算z 前,均需要通过合适的操作得到与y 同维度的xL,方可正确计算样本预测的损失/误差值。

原文发布于微信公众号 - PaddlePaddle(PaddleOpenSource)

原文发表时间:2018-03-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据科学与人工智能

【算法】决策树与ID3算法

小编邀请您,先思考: 1 如何构建决策树? 2 决策树适合解决什么问题? 1. 什么是决策树/判定树(decision tree)? 决策树(Decision ...

3735
来自专栏PPV课数据科学社区

机器学习评价指标大汇总

在使用机器学习算法的过程中,针对不同场景需要不同的评价指标,在这里对常用的指标进行一个简单的汇总。 一、分类 1. 精确率与召回率 精确率与召回率多用于二分类问...

42410
来自专栏机器学习与自然语言处理

深度学习在文本分类中的应用

近期阅读了一些深度学习在文本分类中的应用相关论文(论文笔记),同时也参加了CCF 大数据与计算智能大赛(BDCI)2017的一个文本分类问题的比赛:让AI当法...

5606
来自专栏深度学习入门与实践

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

  前面讲了LeNet、AlexNet和Vgg,这周来讲讲GoogLeNet。GoogLeNet是由google的Christian Szegedy等人在201...

4766
来自专栏数据派THU

从零开始教你训练神经网络(附公式、学习资源)

来源:机器之心 作者:Vitaly Bushaev 本文长度为8900字,建议阅读15分钟 本文从神经网络简单的数学定义开始,沿着损失函数、激活函数和反向传播等...

21110
来自专栏TensorFlow从0到N

TensorFlow从1到2 - 2 - 消失的梯度

上一篇1 深度神经网络我们知道,通过追加隐藏层来构建更加“智能”的深度神经网络,并不奏效。 真正的问题不在“深度”本身,而是由梯度下降算法所指导的训练过程...

4316
来自专栏深度学习自然语言处理

【深度学习】你该会的精选面试题(二)

Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个节点都是计算图上...

1.3K2
来自专栏大数据挖掘DT机器学习

你看到的最直白清晰的,神经网络中的反向传播法讲解

最近在看深度学习的东西,一开始看的吴恩达的UFLDL教程,有中文版就直接看了,后来发现有些地方总是不是很明确,又去看英文版,然后又找了些资料看,才发现,中文版的...

3235
来自专栏SIGAI学习与实践平台

循环神经网络综述-语音识别与自然语言处理的利器

循环神经网络是一种具有记忆功能的神经网络,适合序列数据的建模。它在语音识别、自然语言处理等领域取得了成功。是除卷积神经网络之外深度学习中最常用的一种网络结构。在...

2042
来自专栏机器学习算法原理与实践

逻辑回归原理小结

    逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为...

1342

扫码关注云+社区

领取腾讯云代金券