python – keras层Masking()和Embedding(mask_zero = True)之间是否有区别?

嵌入层的文档在这里:

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

并且Masking层的文档在这里:

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

我在那里找不到区别.在某些情况下,是否应该优先选择其中一层?

解决方法:

我觉得Masking()更能掩盖时间步骤;而嵌入(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

使用任意mask_value.因此,您可以根据数据决定跳过没有输入的时间步或者您可以想到的其他条件.

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

因此,我确实可以想到两者完全相等的情况(当输入= 0时,对于所有输入都为0),但是它们的使用是在另一种分辨率上.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐