1. 从多层感知机到卷积神经网络
DNN可以用到计算机视觉上么?为什么需要CNN?
答案是必然的,但是DNN有不少缺点,为此引入CNN。
一般情况下,图像数据比较大,意味着网络的输入层维度也比较大。当然可以对其进行处理,即使这样,假设处理完后图像变为2562563的彩色图,即输入的维度的值为196608。那么后面的隐藏层的神经元个数自然也能太少,假设为1024。仅仅一层的链接就有高达196608 * 1024的参数量。巨大的计算量给计算能力带来不小的挑战。
同时,模型的神经元数量大,可能会带来过拟合。
引入的CNN保持了层级网络结构,从输入到输出经过不同层次,不同层次有不同形式的运算或者功能。主要有以下层次:
- 数据输入层/ Input layer – 数据预处理
- 卷积计算层/ CONV layer
- 激励层/ Activation layer – 非线性变换
- 池化层/ Pooling layer – 下采样
- 全连接层/ FC layer
- 批归一化层/ Batch Normalization layer(可能有)