欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

嵌入层 tf.keras.layers.Embedding() 介绍

程序员文章站 2022-06-13 15:51:41
...

函数原型

tf.keras.layers.Embedding(
    input_dim, output_dim, embeddings_initializer='uniform',
    embeddings_regularizer=None, activity_regularizer=None,
    embeddings_constraint=None, mask_zero=False, input_length=None, **kwargs
)

官网地址:https://tensorflow.google.cn/api_docs/python/tf/keras/layers/Embedding

作用

将正整数(索引)转换为固定大小的向量,例如[[4], [20]] -> [[0.25, 0.1], [0.6, -0.2]]

  • Embedding层只能用作模型中的第一层

参数

  • input_dim:大或等于0的整数,字典长度,即输入数据最大下标+1
  • output_dim:大于0的整数,代表全连接嵌入的维度
  • embeddings_initializer: 嵌入矩阵的初始化方法,为预定义初始化方法名的字符串,或用于初始化权重的初始化器。
  • embeddings_regularizer: 嵌入矩阵的正则项,为Regularizer对象
  • embeddings_constraint: 嵌入矩阵的约束项,为Constraints对象
  • mask_zero:布尔值,确定是否将输入中的‘0’看作是应该被忽略的“填充”(padding)值,该参数在使用递归层处理变长输入时有用。设置为True的话,模型中后续的层必须都支持masking,否则会抛出异常。如果该值为True,则下标0在字典中不可用,input_dim应设置为|vocabulary| + 1
  • input_length:当输入序列的长度固定时,该值为其长度。如果要在该层后接Flatten层,然后接Dense层,则必须指定该参数,否则Dense层的输出维度无法自动推断。