首页 > 技术文章 > 卷积神经网络

yqpy 2019-06-27 15:28 原文

1、DNN能用到计算机视觉上吗,为什么需要CNN?

2、卷积神经网络和人工神经网络的差异在哪?

开始:

假设一张图片大小是1000×1000×3,其中3表示RGB通道数是3,是彩色图,使用传统的DNN网络,输入input是3×10的6次,假设第二层参数比较小的情况下,是4000个节点,那这一层的参数量

也达到了1.2×10的10次,有两方面的问题:

1、工程方面的问题,消耗大量计算资源;

2、模型参数量过大,会带来过拟合的问题;

那么,如何在保持学习能力的情况下,又使得参数量得到下降呢?

答案就是使用卷积神经网络。。

输入

一张图片不可能不经过处理就放到网络中,预处理方法有去均值和归一化。

去均值是指把输入数据各个维度都中心化到0,在AlexNet中采用的方式是:对训练集每个图片的矩阵都减去训练集的均值,对测试集的每个图片的矩阵也减去训练集的均值;

VGGNet中采取的方式是:对训练集所有图片的三个通道求均值,然后再用每个图片三个通道的均值减去这个均值,最后得到三个数

卷积计算层

参数共享机制

假设每个神经元连接数据窗的权重是固定的;每个神经元只关注一个权重(每个神经的通道数与输入通道数对应)

由此机制,需要估算的权重个数减少

一组固定的权重和不同窗口内数据做内积————卷积

激励层

1、CNN慎用sigmoid!

2、首先试RELU,

3、如果2失效,用Leaky Relu或者Maxout

4、某些情况下tanh会有不错的效果

池化层

有Max pooling和average pooling两种,起到降维和降低过拟合的风险

一般图形识别用Max pooling 

全连接层

两层之间所有神经元都有权重连接

通常在卷积神经网络尾部

卷积神经网络的优缺点

优点

1、共享卷积核,优化计算量

2、无需手动选取特征,训练好权重,记得特征

3、深层次的网络抽取图像信息丰富,表达效果好

缺点

需要调参,需要大量样本,GPU等硬件依赖

物理含义不明确

Dropout理解

 理解:防止神经网络记住那么多东西,

             学习的过程中保持泛化能力

 

推荐阅读