gpt4 book ai didi

machine-learning - 为什么我的注意力模型比非注意力模型差

转载 作者:行者123 更新时间:2023-12-03 23:43:15 29 4
gpt4 key购买 nike

我的任务是将英语句子转换为德语句子。我首先用普通的编码器-解码器网络做这个,我得到了相当好的结果。然后,我尝试使用与之前完全相同的模型解决相同的任务,但使用 Bahdanau 注意在里面。而且,没有注意力的模型优于有注意力的模型。
模型在没有注意力的情况下的损失在 5 个时期内从大约 8.0 下降到 1.4,并在 10 个时期内下降到 1.0,并且损失仍在减少,但速度较慢。
模型的注意力损失在 5 个时期内从大约 8.0 下降到 2.6,并且没有学到更多。
没有一个模型过度拟合,因为两个模型的验证损失也在减少。
每个英语句子有 47 个单词(填充后),每个德语句子中有 54 个单词(填充后)。我在训练集中有 7000 个英语和 7000 个德语句子,在验证集中有 3000 个。
我尝试了几乎所有的方法:不同的学习率、不同的优化器、不同的批次大小、我在模型中使用的不同激活函数、尝试应用批次和层归一化,以及编码器和解码器的不同数量的 LSTM 单元,但没有什么区别,除了归一化和增加数据,其中损失下降到大约 1.5,然后再次停止学习!
为什么会这样?为什么有 Bahdanau 注意力的模型失败,而没有任何注意力的模型表现良好?
编辑 1 - 我尝试在关注之前、关注之后以及关注之前和之后应用 LayerNormalization。每种情况下的结果大致相同。但是,这一次,损失在 5 个 epoch 中从大约 8.0 增加到 2.1,并且再次没有学到太多东西。但是大部分学习是在 1 个 epoch 中完成的,因为在 1 个 epoch 结束时它达到了大约 2.6 的损失,然后在下一个 epoch 中达到了 2.1,然后又没有学到太多。
尽管如此,没有任何注意力的模型优于具有注意力和 LayerNormzalization 的模型。这可能是什么原因?我得到的结果甚至可能吗?没有任何类型的归一化、没有任何 dropout 层的普通编码器 - 解码器网络如何比具有注意力和 LayerNormalization 的模型表现得更好?
编辑 2 - 我尝试增加数据(我比前一个增加了 7 倍),这一次,两个模型的性能都有很大提高。但是,没有注意力的模型比有注意力的模型表现更好。为什么会这样?
编辑 3 - 我试图通过首先从整个训练数据集中传递一个样本来调试模型。损失从大约 9.0 开始,并在 0 处减少并收敛。然后,我尝试通过 2 个样本,损失再次从大约 9.0 开始,但是,这一次,它在前 400 个 epoch 中徘徊在 1.5 和 2.0 之间,并且然后慢慢减少。这是当我只用 2 个样本训练时损失如何减少的图:
enter image description here
这是当我只用 1 个样本训练时损失如何减少的图:
enter image description here

最佳答案

谢谢大家的帮助......这是一个实现问题......解决这个问题,使注意力模型比普通的编码器 - 解码器模型表现更好!

关于machine-learning - 为什么我的注意力模型比非注意力模型差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64521775/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com