我有一个简单的模型,如下所示:
class Model(tf.keras.Model):
def __init__(self, vocab_size, embedding_size):
super(Model, self).__init__()
self.embedding = tf.keras.layers.Embedding(vocab_size, embedding_size)
self.out = tf.keras.layers.Dense(vocab_size)
def call(self, x):
return self.out(self.embedding(x))
我的损失是使用softmax交叉熵计算的,权重由adam优化程序更新。
当vocab_size = 20200(完整大小的vocab)时,损失是这样的:
为什么除了密集和嵌入层大小都相同以外,损耗的形状为什么会改变?以及如何通过较大的词汇量来获得相同的损失形式?