神经网络最后一层处理
- 回归任务
- 分类任务
- 二分类
- 多分类
通常,根据目标任务的不同,神经网络的最后一层处理方式也会不同。这篇文章将根据任务类型分别讨论。
回归任务
如果目标任务的预测值在 ,一般默认不使用激活函数,意味着神经网络的输入和输出是线性关系。不过,以这种目标为任务的神经网络,一般在隐藏层使用非线性激活函数,在输出层不使用激活函数。
如果目标任务的预测值在 ,一般使用ReLU,例如房价预测的回归任务。和上面一样,在隐藏层一般可以使用非线性激活函数,输出层使用ReLU函数。
分类任务
二分类
二分类任务一般使用 Sigmoid,使输出的值集中在
多分类
多分类任务一般使用softmax,使输出的值集中在 之间,与二分类相似。多分类的最后一层通常由全连接层+Softmax(分类网络)组成,如下图所示:
由于Softmax常常会搭配one-hot的标签使用,所以经过Softmax的最后一层,往往会选择最后一层的神经元输出中最大的值对应的索引,作为整层神经元最后的结果。
全连接层将倒数第二层的神经元个数压缩/扩张到分类的数量K(如八分类对应的分类数为8),每个神经元为一个实数,经过softmax,将这K个数映射到