您的位置:首页 > 理论基础 > 计算机网络

理解深度卷积网络

2017-11-30 20:39 183 查看
1 如何分类猫和狗?

在Kaggle的Cat & Dogs比赛中,提供一系列有猫和狗标记的图像。训练集包含25000张关于狗和猫的图片,测试集包含12500图片。

图像有不同的分辨率,猫和狗有不同的形状,位置,颜色。可能坐着,可能开心或者伤心。猫可能睡觉狗可能在吠。

神经网络在分类图片时高效是其自动学习抽象的多层,其简化每个类别的特征。它们能识别具有极其丰富的模型,并对扭曲和地理转变具有鲁棒性

2- 全连接网络VS CNN

对于图像分类任务FC网络不是最优的

2.1 全连接网络

FC网络是每个神经元在邻接层中每个神经元相连。


图像首先转化到一维向量再输入到网络中。例如256*256的彩色照片,使用256*256*3=196608 大小的向量表示。向量中每个元素表示像素值。输出层大小为2,表示输出类别。全连接层可以学习复杂的非线性模式,并很好的泛化假设我们设计一个鲁棒的结构其不会过拟合数据。

然而在处理图片时,全连接网络不是最好的选择。

其中有两个主要原因:

1 假设有1000个隐藏单元的隐藏层,连接输入层那么第一个隐藏层196608 * 1000,虽然不是很大的书,但也不可能表现的很好基于神经网络需要更多层来增强鲁棒性。假设只要一层就够了,现在计算内存消耗,float值需要8bytes. 196698000个权重需要大约1572G。

2 损失了图像内在的空间结构。事实上,通过转化图像到一个长向量中,每个像素值被网络处理。像素值之间没有假设空间关系。每个像素点扮演同样的角色。

为了消除这两个局限,使用CNN

2.2 卷积神经网络

CNN作为一种特殊的神经网络架构被设计去处理图像数据。一些因素吸引着人们:

1 能够处理上百万有标记样本的数据集。

2 使用GPU实现,使得大模型在实践中能运行

3 增强模型正则化例如Dropout

CNN有自己的结构和属性,不同于标准的FC网络。主要包含5个基本块:a输入层,b卷积层, c.Relu层,d,pooling层,e. 全连接层

a 输入层

在处理图像时认为它们是方形,每个神经元表示一个像素值。CNN保持图像大小,不压缩它们到一个向量中。

b 卷积层

首先解释下在连接上卷积网络和全连接网络之间的不同。

全连接网络的连接是密集的,这意味着每个神经元在给定层中连接到邻接层中所有神经元。当多维度数据点从一层flow到下一层中,每个神经元的激活值是由在之前层中所有神经元的权重决定的。

然而在CNN中不是全连接的。这意味着在隐藏层中每个神经元不是和前一层的所有神经元相连。只是连接一部分。

明天继续。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: