【问题标题】:How necessary are activation functions after dense layer in neural networks?神经网络中密集层之后的激活函数有多必要?
【发布时间】:2020-05-31 08:44:18
【问题描述】:

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

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

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

【问题讨论】:

    标签: deep-learning neural-network pytorch activation-function densenet


    【解决方案1】:

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

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

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

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

    【讨论】:

    • “没有任何激活函数的神经网络将无法在数学上实现如此复杂的映射,也无法解决我们希望网络解决的任务。”这在不同的环境中是有争议的。没有激活函数与激活函数本质上相同。身份函数是否优于其他非线性激活函数可能取决于数据集/网络
    猜你喜欢
    • 2023-04-03
    • 2014-01-18
    • 2017-12-08
    • 2013-08-20
    • 2019-08-02
    • 2018-07-14
    • 2020-03-19
    • 2014-03-15
    相关资源
    最近更新 更多