KerasRS / API 文档 / Embedding 层 / EmbedReduce 层

EmbedReduce 层

[源代码]

EmbedReduce

keras_rs.layers.EmbedReduce(
    input_dim: int,
    output_dim: int,
    embeddings_initializer: Union[
        str,
        keras.src.initializers.initializer.Initializer,
        Type[keras.src.initializers.initializer.Initializer],
        Callable[[Sequence[Optional[int]], str], Any],
        Any,
    ] = "uniform",
    embeddings_regularizer: Union[
        str,
        keras.src.regularizers.regularizers.Regularizer,
        Type[keras.src.regularizers.regularizers.Regularizer],
        Callable[[Any], Any],
        NoneType,
    ] = None,
    embeddings_constraint: Union[
        str,
        keras.src.constraints.constraints.Constraint,
        Type[keras.src.constraints.constraints.Constraint],
        Callable[[Any], Any],
        NoneType,
    ] = None,
    mask_zero: bool = False,
    weights: Any = None,
    combiner: str = "mean",
    **kwargs: Any
)

一个使用组合器进行归约的 embedding 层。

该层对输入进行 embedding,然后应用归约将一组 embedding 组合成一个单独的 embedding。这通常用于将项目序列 embedding 成一个单独的 embedding。

如果传递给 __call__ 的输入是 1D 的,则不应用归约。如果输入是 2D 的,则使用组合器对维度 1 进行归约,以便结果的形状为 (batch_size, output_dim)。不允许使用秩为 3 或更高的输入。可以选择将权重传递给 __call__ 方法,以便在归约之前对不同的样本应用权重。

此层支持稀疏输入和带有支持这些输入的后端的不规则(ragged)输入。归约后的输出是稠密的。对于不规则输入,不规则维度必须是 1,因为它是进行归约的维度。

参数

  • input_dim:整数。词汇表大小,最大整数索引 + 1。
  • output_dim:整数。稠密 embedding 的维度。
  • embeddings_initializerembeddings 矩阵的初始化器(参见 keras.initializers)。
  • embeddings_regularizer:应用于 embeddings 矩阵的正则化函数(参见 keras.regularizers)。
  • embeddings_constraint:应用于 embeddings 矩阵的约束函数(参见 keras.constraints)。
  • mask_zero:布尔值,表示输入值 0 是否是应被屏蔽掉的特殊“填充”值。这在使用可能采用变长输入的循环层时很有用。如果为 True,则模型中的所有后续层都需要支持屏蔽,否则将引发异常。如果将 mask_zero 设置为 True,结果是词汇表中不能使用索引 0(input_dim 应等于词汇表大小 + 1)。
  • weights:可选的浮点矩阵,大小为 (input_dim, output_dim)。要使用的初始 embedding 值。
  • combiner:指定如果单行中有多个条目时如何进行归约。目前支持 meansqrtnsummean 是默认值。sqrtn 通常能实现良好的准确率,尤其是在词袋列上。
  • **kwargs:传递给 Embedding 的附加关键字参数。

[源代码]

call 方法

EmbedReduce.call(inputs: Any, weights: Optional[Any] = None)

应用 embedding 和归约。

参数

  • inputs:用于 embedding 的 1D 张量,或用于 embedding 和归约的 2D 张量。
  • weights:可选的权重张量,在归约之前应用,可以是 1D 或 2D,并且必须匹配 inputs 的第一个维度(1D 情况)或匹配 inputs 的形状(2D 情况)。

返回值

形状为 (batch_size, output_dim) 的稠密 2D 张量。