具有自动编码器和嵌入层的有意义的状态表示

时间:2019-01-01 15:06:20

标签: python tensorflow keras

据我了解,嵌入层只是查找矩阵,其权重是通过优化问题来学习的。

对于此示例,假设我的数据集包含一个类别变量。例如,我想自动将单词的句子编码为自身,以学习句子的表示形式。

# example model
input = tf.keras.layers.Input()
embed = tf.keras.layers.Embedding(99)(input)
encoder = tf.keras.layers.LSTM()(embed)
decoder = tf.keras.layers.LSTM()(encoder)
model = tf.keras.models.Model(input, decoder)

该错误将使embeddecoder输出之间的差异最小化。

但是,由于嵌入是根据优化条件来学习的,因此我认为我最终将学习一些琐碎的表示形式,例如

嵌入矩阵全为1,解码器始终输出1。 (甚至是零),使我的训练准确率达到了100%。

例如,在嵌入矩阵中,所有单词只是1的向量,而自动编码器仅返回1。

我想做的是学习有意义的分类变量表示。

0 个答案:

没有答案