与标题相同,在tf.keras.layers.Embedding中,为什么重要的是要知道字典的大小作为输入维?
因为在内部,嵌入层不过是size的矩阵vocab_size x embedding_size
。这是一个简单的查找表:n
该矩阵的行存储word的向量n
。
因此,如果您有例如1000个不同的词,则嵌入层需要知道此数字才能存储1000个向量(作为矩阵)。
不要将图层的内部存储与其输入或输出形状混淆。输入形状是(batch_size, sequence_length)
每个条目都是范围内的整数[0, vocab_size[
。对于这些整数中的每个整数,图层将返回embedding_size
内部矩阵的对应行(大小为向量),因此输出形状变为(batch_size, sequence_length, embedding_size)
。