神经网络中的各种激活函数

机器算法验证 神经网络
2022-04-03 20:16:08

一位教授告诉我,不可能在神经网络中组合不同的激活函数。而且我找不到任何人这样做的例子。但是,我找不到任何好的解释。

从概念上讲,这似乎是有道理的:假设我有一组关于某些人口的数据。想象一下,人口被分为两类人,A 和 B,但我的数据中实际上并没有那个分类变量。我们可以想象一个逻辑模型,将我的人口数据映射到分类变量中。

现在假设我正在训练一个带有一个隐藏层的神经网络。在我看来,隐藏层中的一个节点有一个 sigmoid 函数作为输入,表示输入变量到这个潜在分类变量的转换(当然现在是概率)是完全有意义的。同时,所有其他节点都具有线性激活函数。然后输出将是隐藏层中所有节点的线性函数。

我没有理由认为这会改善预测误差。这就是我想知道的:是否可以使用标准方法来估计这样的模型?

2个回答

显然,您可以在神经网络中使用不同的激活。具有任何激活和 softmax 读出层的 MLP 就是一个示例(例如,多类分类)。具有 LSTM 单元的 RNN 至少具有两个激活函数(逻辑、tanh 和其他地方使用的任何激活)。用于回归问题的隐藏层中的 ReLU 激活和读出层中的线性函数。

我相信这个问题的意思是:我们可以在一个层中混合不同的激活函数吗?

所以想象我们只有一个隐藏层有 3 个节点,我可以设置第一个节点有 sigmoid,第二个节点有 ReLU,第三个节点有 tanh?

我也只是考虑过这一点,我相信这应该是可能的,但是会花费计算时间,因为这样我们就无法对隐藏层的计算进行向量化。