1、输入层
与传统神经网络/机器学习一样,模型需要输入的进行预处理操作,常见的输入层中预处理方式有:
去均值
归一化
PCA/SVD降维等
2、卷积层
提取特征,通常或产生超高的维度
3、激励层
所谓激励,实际上是对卷积层的输出结果做一次非线性映射。
如果不用激励函数(其实就相当于激励函数是f(x)=x),这种情况下,每一层的输出都是上一层输入的线性函数。容易得出,无论有多少神经网络层,输出都是输入的线性组合,与没有隐层的效果是一样的,这就是最原始的感知机了。
常用的激励函数有:
Sigmoid函数
Tanh函数
ReLU
Leaky ReLU
ELU
Maxout
激励层建议:首先ReLU,因为迭代速度快,但是有可能效果不加。如果ReLU失效的情况下,考虑使用Leaky ReLU或者Maxout,此时一般情况都可以解决。Tanh函数在文本和音频处理有比较好的效果
4、pooling层的作用
也称为欠采样或下采样
(1)特征降维,保留主要的特征,同时减少下一层的参数和计算量,防止过拟合
(2)保持某种不变性,包括translation(平移),rotation(旋转),scale(尺度),常用的有mean-pooling和max-pooling
Max Pooling:最大池化
在原特征图中提取主要特征,概率意义上,特征更小且相对表示性更强
Average Pooling:平均池化
相当于平均化特性,用于简化函数模型,同时丧失了一些特异性准确性,增加泛化性能,即把复杂度模型转化为一个平均模型,得失都很明显。
5、输出层(全连接层)
当来到了全连接层之后,可以理解为一个简单的多分类神经网络(如:BP神经网络),通过softmax函数得到最终的输出。整个模型训练完毕。