我的变压器无法解决玩具问题。
玩具问题
输入:随机整数序列,单热编码。例子 :
[[0, 0, 0, 1, 0, 0, 0, 0, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 1, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
[0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
]
输出:1如果第一个随机整数 < 5,0否则。对于给定的示例,输出将为 1。
问题
在这个玩具问题上运行我的 Transformer 效果很好。然而,以更大的尺寸运行(800 维的 one-hot 编码)不再起作用:无论输入如何,网络总是输出相似的结果。
注意:我确实将输出的条件更改为x < 800,以实现类平衡。
为什么我的变压器架构不适用于玩具问题的这种变体?
另一个问题
我还尝试使用 2 个输入(类似地生成,with size = 10)并基于这 2 个输入生成输出(1如果两个输入的第一个随机整数 < 5 或两者都 > 5,0否则)