Keras中嵌入层的偏置权重

4
我正在开发一个前馈神经网络,使用Keras嵌入技术。 我想为嵌入层设置偏置权重,但不确定如何实现。
Keras Dense层允许指定use_bias=True,然后设置偏置权重。 对于Embedding层是否有相应的方法呢?
1个回答

5
您可以使用向量长度为1的另一个嵌入作为偏置。例如,下面的代码获取输入a和b的嵌入和偏置,计算两个向量的点积,然后将偏置与点积相加。
from keras.models import Model
from keras.layers import Embedding, Input, Add, Dot

a = Input(shape=(1,))
b = Input(shape=(1,))

emb_a = Embedding(num_words+1, 50)(a)
bias_a = Embedding(num_words+1, 1)(a)
emb_b = Embedding(num_words+1, 50)(b)
bias_b = Embedding(num_words+1, 1)(b)

dot = Dot(axes=-1)([a,b])
add = Add()([dot,bias_a,bias_b])

你展示了如何使用1D嵌入和偏置项创建嵌入,但是在Keras中如何创建全局偏差/平均值呢?这只是你想要在上面的最后一行代码中添加的1个变量/权重。 - eggie5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接