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理解
理解:防止神经网络记住那么多东西,
学习的过程中保持泛化能力