不';t keras.layers.Flatten丢失信息?
一般来说,keras和ML是全新的。我在看,它在嵌入和稠密之间使用了展平,因为嵌入产生了一个二维向量,但稠密需要一个一维 我确信我在这里遗漏了一些明显的东西,但为什么这不丢失哪些单词在哪些输入向量中?我们怎么还能知道输入#3是“很好的工作”,并且与标签#3,1关联,表示“积极” 我猜原始维度是从原始输入中保留下来的,然后以某种方式恢复为Dense的输出?还是我完全忽略了一个主要的概念方面不';t keras.layers.Flatten丢失信息?,keras,flatten,Keras,Flatten,一般来说,keras和ML是全新的。我在看,它在嵌入和稠密之间使用了展平,因为嵌入产生了一个二维向量,但稠密需要一个一维 我确信我在这里遗漏了一些明显的东西,但为什么这不丢失哪些单词在哪些输入向量中?我们怎么还能知道输入#3是“很好的工作”,并且与标签#3,1关联,表示“积极” 我猜原始维度是从原始输入中保留下来的,然后以某种方式恢复为Dense的输出?还是我完全忽略了一个主要的概念方面 model = Sequential() model.add(Embedding(vocab_size, 8
model = Sequential()
model.add(Embedding(vocab_size, 8, input_length=max_length))
model.add(Flatten())
model.add(Dense(1, activation='sigmoid'))
谢谢你的指导 嵌入层为每个单词标记提供一个向量,因此输出是二维的。我们需要在任何分类器块之前使用
flatten
有一些信息丢失,例如,当我们使用卷积层,然后平坦的特征地图,空间信息丢失。但是我们已经使用Conv层提取了最重要的特征,并将这些特征提供给完全连接的层
在您的示例中,不再保持时间维度,通常,需要将嵌入矩阵的输出传递到RNN/Conv层以进行进一步的特征提取
- 仅展平应用于非批处理维度,这意味着示例仍然是分开的(如果您的意思是这样的话)
- 对于每个样本,比如说,
,我们得到2个向量(1个代表nice,1个代表work),现在我们只想从句子中了解整体情绪,因此,一旦我们提取特征,我们就可以应用flattenice work
- 嵌入层为每个单词标记提供一个向量,因此输出是二维的。我们需要在任何分类器块之前使用
flatten
有一些信息丢失,例如,当我们使用卷积层,然后平坦的特征地图,空间信息丢失。但是我们已经使用Conv层提取了最重要的特征,并将这些特征提供给完全连接的层
在您的示例中,不再保持时间维度,通常,需要将嵌入矩阵的输出传递到RNN/Conv层以进行进一步的特征提取
- 仅展平应用于非批处理维度,这意味着示例仍然是分开的(如果您的意思是这样的话)
- 对于每个样本,比如说,
,我们得到2个向量(1个代表nice,1个代表work),现在我们只想从句子中了解整体情绪,因此,一旦我们提取特征,我们就可以应用flattenice work
nice job
,label0
这太差劲了
,label1
转换成[[1,2],[3,4]]
扁平化[1,2],[3,4]
。任何学习都发生在[1,2,3,4]
,而不是[1,2],[3,4]]
,是吗?但我们需要将输入分开,以确定哪些模式适用于将给定输入与其标签相匹配,对吗?但是我们难道没有忘记这样一个事实:sample[0]
是[1,2]
,sample[1]
是[3,4]
?很明显,它是有效的,所以我知道我缺少一些基本的东西。只是不知道发生了什么DI在问题中告诉过你,展平在批次维度上不起作用(第一个轴表示样本编号),这意味着[1,2]和[3,4]始终保持分离。另外,嵌入层为每个标记提供一个向量,1->[0.5,0.2,-0.5]类似的内容。此外,权重将被乘以,偏差将被添加到文本序列中。好的,我想我理解你的意思,但我的主要收获是原始样本确实保持分离。(是的,我知道矢量化和偏差等。我只是想保持简单和简短。)再次感谢!编辑:哦,等等,也许我所介绍的简化对扁平化的整个目的都有影响。不管怎样,我现在可以继续前进了。谢谢你的帮助,谢谢!不过我还是错过了一些东西。假设我们的输入是nice job
,label0
这太差劲了
,label1
转换成[[1,2],[3,4]]
扁平化[1,2],[3,4]
。任何学习都发生在[1,2,3,4]
,而不是[1,2],[3,4]]
,是吗?但我们需要将输入分开,以确定哪些模式适用于将给定输入与其标签相匹配,对吗?但是我们难道没有忘记这样一个事实:sample[0]
是[1,2]
,sample[1]
是[3,4]
?很明显,它是有效的,所以我知道我缺少一些基本的东西。只是不知道发生了什么DI在问题中告诉过你,展平在批次维度上不起作用(第一个轴表示样本编号),这意味着[1,2]和[3,4]始终保持分离。另外,嵌入层为每个标记提供一个向量,1->[0.5,0.2,-0.5]类似的内容。此外,权重将被乘以,偏差将被添加到文本序列中。好的,我想我理解你的意思,但我的主要收获是原始样本确实保持分离。(是的,我知道矢量化和偏差等。我只是想保持简单和简短。)再次感谢!编辑:哦,等等,也许我所介绍的简化对扁平化的整个目的都有影响。不管怎样,我现在可以继续前进了。谢谢你的帮助。