首页 > 解决方案 > Keras 不那么密集的层

问题描述

上一层是嵌入大小(V 类,K -outputdim) - 我想引入一个大小为 K x T 的权重矩阵。权重将是可训练的(嵌入也是如此)。它们生成的 VxT 矩阵将在下游使用。1)我该怎么做?2)这会弄乱渐变吗?

它基本上是向量 x Matrix 。示例 - 嵌入词汇 = 10,dim K = 4。所以对于词汇的特定成员,我的嵌入权重是一个向量大小(1,4)(想想行向量)。

对于每个行向量,我想乘以大小为 4x10 的权重矩阵,产生 1 x 10 向量(或层)。权重矩阵对词汇表的所有成员都是通用的。

这个 1 x 10 向量将被输入到下一层。

标签: kerasembedding

解决方案


你想要的是一个 Dense 层,只是没有偏差。密集层内部有一个所有输入通用的矩阵,它不随输入而变化。

所以这可以实现为:

x = Dense(10, use_bias=False)(some_input_tensor)

不需要激活函数,因为您只需要矩阵乘法。


推荐阅读