2

我目前正在第一次使用深度 q-learning 训练多个循环卷积神经网络。

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

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

4

1 回答 1

4

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

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

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

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

于 2020-02-16T17:28:49.207 回答