分类器神经网络的最后一层是不是同时使用 sigmoid 和 softmax?

Posted

技术标签:

【中文标题】分类器神经网络的最后一层是不是同时使用 sigmoid 和 softmax?【英文标题】:Does the last layer of a classifier neural network use both sigmoid and softmax?分类器神经网络的最后一层是否同时使用 sigmoid 和 softmax? 【发布时间】:2018-03-18 10:37:21 【问题描述】:

分类器网络的隐藏层使用 sigmoid 或其他激活函数来引入非线性和规范化数据,但最后一层是否使用 sigmoid 和 softmax 结合?

我觉得这无关紧要,网络会以任何一种方式进行训练——但是否应该单独使用 softmax 层?还是应该先应用sigmoid函数?

【问题讨论】:

【参考方案1】:

一般来说,在 softmax 输出层之前进行额外的 sigmoid 激活是没有意义的。由于 sigmoid 函数是a partial case of softmax,它只会将值连续两次压缩到[0, 1] 区间中,这将产生几乎均匀的输出分布。当然,你可以通过这个传播,但是效率会低很多。

顺便说一句,如果你选择不使用 ReLu,那么 tanh 绝对是 a better activation function 而不是 sigmoid。

【讨论】:

谢谢!你能引导我到一个资源,在那里我可以进一步了解分类器中的 tanh 与 sigmoid 吗?我之前曾看到它们被描述为极具可比性。 @EvanWeissburg 当然,强烈推荐这篇文章 - cs231n.github.io/neural-networks-1/#actfun

以上是关于分类器神经网络的最后一层是不是同时使用 sigmoid 和 softmax?的主要内容,如果未能解决你的问题,请参考以下文章

对于分类问题的神经网络最后一层的函数:sigmoidsoftmax与损失函数

将 softmax 分类器分层到 RNN 自动编码器中

Keras 中连接多输入深度神经网络的正确最后一层是啥?

是否可以使用 Keras 在卷积神经网络的最后一层特征上训练 SVM 或随机森林?

卷积神经网络分类与回归任务的应用简介

任务四: 创建总的网络模型