gpt4 book ai didi

python - keras 层 Masking() 和 Embedding(mask_zero =True) 之间有区别吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:51 24 4
gpt4 key购买 nike

嵌入层的文档在这里:

https://keras.io/layers/embeddings/

Masking 层的文档在这里:

https://keras.io/layers/recurrent/

我找不到那里的区别。在某些情况下应该首选其中一层吗?

最佳答案

我觉得 Masking() 更像是对时间步长的掩蔽;而 Embedding(mask_zero=True) 更像是一个数据过滤器。屏蔽:

If all values in the input tensor at that timestep are equal to mask_value, then the timestep will be masked (skipped) in all downstream layers

使用任意掩码值。因此,您可以根据您的数据决定跳过没有输入的时间步长,或者您可以想到的其他一些条件。

对于嵌入,您可以在输入为 0 的数据的输入跳过计算上覆盖一个掩码。这样,您可以在单个时间步长内通过网络传播完整数据、部分数据或无数据。这不是时间步骤#3 的掩码或类似的东西,它是输入数据#i 的掩码。此外,只有没有输入(输入=零)才能被屏蔽。

因此,我当然可以想到两者完全相等的情况(当输入 = 0 时,所有输入都为 0 就是这种情况),但它们的用途是在另一个分辨率上。

关于python - keras 层 Masking() 和 Embedding(mask_zero =True) 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45615482/

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