【问题标题】:Static / Constant Loss for Convolutional Neural Network in TorchTorch 中卷积神经网络的静态/恒定损失
【发布时间】:2016-12-15 09:01:53
【问题描述】:

我有一个一维时间序列分类问题,我已将数据导入 Torch。我编写了两个不同的网络来学习数据。每一行都被标记为 1 或 0。

问题是卷积网络的损失在第一次迭代后没有下降。在第一次迭代之后,它保持在完全相同相同的值。这不适用于其他网络 - Logistic 回归。该网络的损失确实会随着时间的推移而下降。

下面是卷积网络:

model = nn.Sequential()

for i = 1, iteration do
    model:add(nn.TemporalConvolution(1,1,3,1))
    model:add(nn.BatchNormalization(1))
    model:add(nn.ReLU())
    model:add(nn.TemporalMaxPooling(3,2))
    if i == iteration then
            model:add(nn.Sigmoid())
    end
end

由于 LogReg 的损失确实下降了,我认为问题在于 ConvNet 本身,而不是代码中的任何其他内容。

任何建议将不胜感激。如果需要,我很乐意发布更多代码。

【问题讨论】:

    标签: machine-learning lua torch


    【解决方案1】:

    通常,如果在最小化损失函数时没有改进,模型已经处于局部(全局)最小值。

    这可能有几个原因,例如学习率正则化、数据在某些方面不适合模型... 仅根据模型很难说。

    您是否使用完全相同的代码在 LogReg 中进行训练?

    您可以查看本教程以获取有关 temporalConvolution 的一些信息: http://supercomputingblog.com/machinelearning/an-intro-to-convolutional-networks-in-torch/

    【讨论】:

    • 感谢您的链接!我在链接中实现了教程,它工作正常。但是我自己的 ConvNet 仍然无法更新... :-/
    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 2017-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    相关资源
    最近更新 更多