1 传统神经网络
传统意义上的多层神经网络是只有输入层、隐藏层、输出层。其中隐藏层的层数根据需要而定,没有明确的理论推导来说明到底多少层合适。
2 卷积神经网络(CNN)
在原来多层神经网络的基础上,加入了更加有效的特征学习部分,具体操作就是在原来的全连接的层前面加入了部分连接的卷积层与池化层。卷积神经网络出现,使得神经网络层数得以加深,深度学习才能实现。
通常所说的深度学习,一般指的是这些CNN等新的结构以及一些新的方法(比如新的激活函数Relu等),解决了传统多层神经网络的一些难以解决的问题.
2.1 数据输入层(数据预处理)
去均值(demean),归一化,PCA/白化。
输入的是图像数据,我们往往只做去均值,这是为了保持原图像数据的完整性,避免失真。
2.2 卷积层(卷积+激活)
传统神经网络(neural networks)的基本组成包括输入层、隐藏层、输出层。
卷积神经网络的特点在于隐藏层分为卷积层和池化层(pooling layer,又叫下采样层)以及激活层。即有输入层、卷积层、池化层、激活层、输出层(全连接层,计算损失进行分类)。
卷积层:通过在原始图像上平移来提取特征。每层卷积层由若干卷积单元(卷积核)组成,每个卷积单元的参数都是通过反向传播算法优化得到的。目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网路能从低级特征中迭代提取更复杂的特征。
激活层:增加非线性分割能力,把卷积层输出结果做非线性映射。卷积网络结构采用激活函数,当前ReLU = max(0,x) 激活函数效果较好。
池化层:压缩数据和参数的量,减小过拟合,降低网络的复杂度,(最大池化和平均池化)
https://www.cnblogs.com/kongweisi/p/10987870.html
http://tensorfly.cn/tfdoc/tutorials/mnist_pros.html