神经网络中密集层之后的激活函数有多必要?

How necessary are activation functions after dense layer in neural networks?

我目前正在首次使用深度 q 学习训练多个循环卷积神经网络。

输入是一个11x11x1的矩阵,每个网络由4个卷积层组成,尺寸分别为3x3x16、3x3x32、3x3x64、3x3x64。我使用 stride=1 和 padding=1。每个 convLayer 之后是 ReLU 激活。输出被送入具有 128 个单元的前馈全连接密集层,然后送入同样包含 128 个单元的 LSTM 层。接下来的两个致密层产生独立的优势和价值流。

所以训练 运行 几天了,现在我意识到(在我阅读了一些相关论文之后),我没有在第一个密集层之后添加激活函数(与大多数论文一样)。我想知道添加一个是否会显着改善我的网络?因为我正在为大学训练网络,所以我没有无限的训练时间,因为我的工作有截止日期。但是,我在训练神经网络方面没有足够的经验来决定要做什么...... 你有什么建议?我感谢每一个答案!

如果我不得不笼统地说,使用激活函数可以帮助您在网络中包含一些非线性 属性。

激活函数的目的是在函数中添加某种非线性属性,这是一个神经网络。如果没有激活函数,神经网络只能执行从输入 x 到输出 y 的线性映射。为什么会这样?

如果没有激活函数,前向传播过程中唯一的数学运算将是输入向量和权重矩阵之间的点积。由于单个点积是线性运算,因此连续的点积只不过是一个接一个重复的多个线性运算。并且连续的线性操作可以被认为是一个单一的学习操作。

没有任何激活函数的神经网络无法在数学上实现如此复杂的映射,也无法解决我们希望网络解决的任务。