2
什么是神经网络中的嵌入层?
在许多神经网络库中,都有“嵌入层”,例如Keras或Lasagne中。 尽管阅读了文档,但我不确定我是否了解它的功能。例如,在Keras文档中说: 将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 知识渊博的人可以解释它的作用以及何时使用吗? 编辑:关于文档中的粘贴,没有太多可从文档中粘贴,因此是我的问题。我不了解它所做的转换,也不知道为什么要使用它。 无论如何,这是在Keras中解释的方式: 嵌入 keras.layers.embeddings.Embedding(input_dim,output_dim,init ='uniform',input_length = None,weights = None,W_regularizer = None,W_constraint = None,mask_zero = False)将正整数(索引)转换为固定大小的密集向量,例如。[[4],[20]]-> [[0.25,0.1],[0.6,-0.2]] 输入形状:2D张量,形状为:(nb_samples,sequence_length)。输出形状:具有以下形状的3D张量:(nb_samples,sequence_length,output_dim)。参数: input_dim:int> =0。词汇量,即。输入数据中出现1+最大整数索引。output_dim:int> =0。密集嵌入的尺寸 这就是千层面的解释: 单词嵌入层。输入应为整数类型Tensor变量。 参数:传入:一个Layer实例或一个元组 送入该层的层,或预期的输入形状。 input_size:整数 不同嵌入的数量。最后的嵌入将具有索引input_size-1。 output_size:整数 每个嵌入的大小。 W:Theano共享变量,表达式,numpy数组或可调用 嵌入矩阵的初始值,表达式或初始化程序。这应该是形状为(input_size,output_size)的矩阵。有关更多信息,请参见lasagne.utils.create_param()。 例子 >>> from lasagne.layers import EmbeddingLayer, InputLayer, get_output >>> import theano >>> x = T.imatrix() …