使用 ReLU 时如何确定神经网络最后一层的范围
How is the range of the last layer of a Neural Network determined when using ReLU
我对神经网络比较陌生。
Atm 我正在尝试编写一个神经网络来对 0 到 10 之间的数字进行简单的图像识别。
我的目标激活函数是 ReLU(整流线性单元)。
使用 sigmoid 函数很清楚最终如何确定特定情况的概率(因为它在 0 和 1 之间)。
但据我了解,使用 ReLU 我们没有这些限制,但最终可以获得任何值作为先前 "neurons" 的总和。
那么这个一般是怎么解决的呢?
- 我是否只取所有值中的最大值并说那是 100% 的概率?
- 我是否将所有值相加并说这就是 100%?
- 或者还有其他我看不到 atm 的方法吗?
我希望我的问题是可以理解的。
预先感谢您抽出宝贵时间查看我的问题。
你不能使用 ReLU 函数作为分类任务的输出函数,因为正如你所说,它的范围不能代表 0 到 1 的概率。这就是为什么它只用于回归任务和隐藏层。
对于二进制分类,您必须使用范围在 0 到 1 之间的输出函数,例如 sigmoid。在您的情况下,您需要多维扩展,例如 softmax 函数。
我对神经网络比较陌生。 Atm 我正在尝试编写一个神经网络来对 0 到 10 之间的数字进行简单的图像识别。 我的目标激活函数是 ReLU(整流线性单元)。
使用 sigmoid 函数很清楚最终如何确定特定情况的概率(因为它在 0 和 1 之间)。
但据我了解,使用 ReLU 我们没有这些限制,但最终可以获得任何值作为先前 "neurons" 的总和。 那么这个一般是怎么解决的呢?
- 我是否只取所有值中的最大值并说那是 100% 的概率?
- 我是否将所有值相加并说这就是 100%?
- 或者还有其他我看不到 atm 的方法吗?
我希望我的问题是可以理解的。 预先感谢您抽出宝贵时间查看我的问题。
你不能使用 ReLU 函数作为分类任务的输出函数,因为正如你所说,它的范围不能代表 0 到 1 的概率。这就是为什么它只用于回归任务和隐藏层。
对于二进制分类,您必须使用范围在 0 到 1 之间的输出函数,例如 sigmoid。在您的情况下,您需要多维扩展,例如 softmax 函数。